elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 25
1  Foros Generales / Noticias / Re: La venta de un reproductor para ver contenido ilegal vulnera los derechos de ... en: Hoy a las 04:43
Citar
...quien vendía en internet distintos modelos de un reproductor multimedia denominado Filmspeler, que permite acceder a material audiovisual disponible legal e ilegalmente en internet y visualizarlo en una pantalla...

Cuantas tonterías tenemos que oir. Puedo entenderlo de los 'autores' que son unos agonías que siempre quieren más y más... pero que uno deba oirlo de boca de jueces, ya es para patearlos...

...es que por la misma regla del tres, un vehículo como tal, se vende y el dueño que lo compra puede hacer cosas legales con él, pero también ilegales, ¿entonces... qué?.

¿¿¿¿¿¿Declaramos que los vendedores/fabricantes de coches y vendedores/fabricantes de cuchillos (etc, ab-aeternum), cometen un delito... tal y como se persigue a ese señor que vende televisiones para ver 'contenido' (sea contenido legal o ilegal) ??????????????????
2  Seguridad Informática / Abril negro / Re: [Abril Negro] S.P.O.K (Simple Production Of Keys) en: Hoy a las 04:06
Hola NEBIRE,

quisiera saber que tan eficiente es tu algoritmo para generar diccionarios, para comparar tiempos con el mío y eso.

Me he tomado la molestia de crear un pequeño Snippet en C++11 basado en conversión a base-n donde n es la longitud del charset. Me parece infeciente tener que iterar todo el keyspace en forma de long pero bueno.

Ten en cuenta que le he añadido un hilo para escribir el buffer en el fichero, sino se quedaría esperando hasta escribir todo el contenido. Escribir en el fichero en cada iteracción es un waste de syscalls.

.....

Generar todas las palabras formadas por el alfabeto (26 chars) de longitud 6.

real   0m19.649s
user   0m18.579s
sys   0m2.722s

Donde el mio tarda entre 10s y 12s aproximadamente:

real   0m11.876s
user   0m10.819s
sys   0m2.803s

Si tienes algo de tiempo pásame un code definitivo que guarde las palabras en un fichero, lo testeare en Fedora a ver si difiere mucho del benchmark que te acabo de presentar.

P.D=  Luego esta el maskprocessor que lo hace en 6-7 segs, para mí el más rápido que existe en CPU.

Un saludo!


Bueno, yo separé en efecto la parte de generar las permutaciones del hecho de escribirlo a fichero.
De hecho es ineficiente (e inútil, si el propósito no es otro que probarlo) escribirlo a fichero... siempre sería preferible escribir una API, a la que se pueda llamar y pedir generar (por ejemplo), 1millón de claves a partir de la siguiente (recibida) y que entregue el array por referencia en memoria... Hablamos de que la idea final, sería lógicamente usar las claves en algún programa. Por tanto el coste de escribir a fichero, leer de fichero y espacio ocupado es nulo. Esto sólo debería hacerse con propósitos de prueba... supongo que me tniende sperfectamente.


Tengo varias versiones, ya que me fascina idear soluciones diferentes para un mismo problema. Pero te hablaré de dos versiones básicas... bueno 3...

--------------------------------------
A - En esta la idea básica es la simplicidad del algoritmo.
Y en ella se genera cada clave por completo, simplemente convirtiendo un número decimal (base numérica 10) en la base numérica x, siendo x el tamaño del diccionario (pongamos 26, si el alfabeto fuere por ejemplo A-Z). Es decir esta es la misma que tu has descrito más arriba y que veo en el código...


--------------------------------------
B - En esta otra, la idea básica es buscar velocidad, por supuesto tampoco debe ser muy complejo, ya que sino queda reñido también con la velocidad´.
Así la complejidad subyace sólo en la dificultad de enteder el algoritmo (a pelo, si no se dieran explicaciones).
Entonces para el caso, ni se genera un array de claves. Es la forma más eficiente para usarlo en el propio programa (destinado a probar las claves 'donde fuere').
Esto es, se genera una sola clave y es esa misma la que se va modificando. Ya que en efecto, la diferencia entre una clave y la siguiente solo es (casi siempre) 1 sólo carácter es superfluo generar de nuevo el resto de caracteres de la clave. Por lo tanto generar la nueva clave, cambia casi siempre 1 sólo carácter, lo que dispara la velocidad de cálculo respecto del anterior por 6 (para un tamaño de clave de 6)... algo más al tener en cuenta que tampoco lo almacenamos en un array de claves, aunque por simplicidad en vez de tomarlo como string, es un array de bytes/chars.

-----------------------------------------------------
C - El tercer algoritmo, es más simplificado aún y más veloz que cualquiera de los otros. En realidad usa cualquiera previo, pero éste está diseñado para claves muy largas...
La idea básica es que: 4+4=8: 4+3=7; 5+4=9, o 6+6=12...
Pongamos el caso de una clave de largo 8 caracteres... Luego si generamos pongamos un array para las claves de 4 caracteres (26^4= 456.976) tan sólo algo menos de medio millón, esto se puede generar en apenas una décima de segundo...

Así el paso 1º de este algoritmo es llamar a otro algoritmo, para que genere un array de claves manejable.
El segundo paso, es doble bucle, en ambos se usa el array generado, y la clave generada no se almacena como array (26^8= unos 208mil millones), tal como pasa en el algoritmo B, es para velocidad.
Este doble bucle, simplemente concatena las dos partes actuales.
Código:
Inicio bucle Externo:
Por cada ClaveExt en ArrayClaves
    Inicio bucle Interno:
    Por cada claveInt en ArrayClaves
        ClaveActual = claveExt concat claveInt
        // Usar desde aquí la clave que se acaba de generar para lo que se precisa...
        Llamada a funcionX(Claveactual)
    Fin bucle
fin bucle
Como se ve en este tercer algoritmo, generar una clave, se reduce a concatenar dos medias partes. Puede optimizarse mucho, si se usan funciones de copia de memoria, también evitando la creacción y destrucción de strings, o arrays...
Así ClaveActual debería ser una instancia que se crea una sola vez en todo el algoritmo y que se reutiliza una y otra vez. De hecho podemos ver que si ArrayClaves tiene un tamaño de medio millón (500.000), entonces claramente se veque en el bucle interno, siempre estamos concatenando (copiando ClaveExt, a pesar de que sabemos que no va a variar en el próximo medio millón de veces),

Entonces una varicación mejorada del algoritmo sería:

Código:
Inicio bucle Externo:
 Hacer sitio a claveActual para que sea del tamaño requerido
Por cada ClaveExt en ArrayClaves
    Inicio bucle Interno:
   
    Copiar a Izqierda de ClaveActual, ClaveExt
    Por cada claveInt en ArrayClaves
        Copiar a Derecha de ClaveActual, ClaveInt
        // Usar desde aquí la clave que se acaba de generar para lo que se precisa...
        Llamada a funcionX(Claveactual)
    Fin bucle
fin bucle
Es decir ahora hacemos una concatenación diferida en dos veces...

Otra variación si hacemos una API, que debiera entregar un array de claves de tamaño 8, conllevaría generar el array de claves de solo 4 caracteres, en claves de tamaño 8, dejando así hueco 4 caracteres (a derecha por ejemplo, y que son reutilizados en cada ciclo del bucle Interno), para rellenar en este doble bucle, y donde el bucle interno, sería una adaptación del algoritmo "B" (o sea encajarlo aquí, para hacer la variación de 1 sólo carácter en cada ciclo para generar una clave, en vez de copiar en cada cuiclo los x caracteres de la derecha.

Este algoritmo "C", tien su complejidad, sólo en la forma de adaptación, para hacerlo versátil y que pueda por tanto generar claves de tamaño X, partiendo siempre de la generación de arrays de largo 2,3,4 y 5, desde 2+2, hasta 5+5 y separado si la clave es mayor de 10, para 3+4+4 hasta 5+5+5, etc....
Es decir separando si se quiere hacer doble bucle, triple, bucle, cuádruple bucle, etc...

Código:
Si tamañoClaves es menor que 11 luego
    doble bucle
O si tamañoClaves es menor que 15 luego
   Triple Bucle
O si Tamañoclaves es menor que 20 luego
   cuadruple Bucle
en otro caso
   mesanje: no se ha previsto para claves demás de 20 caracteres
fin si

----------------------------------
Ahora mismo, no puedo hacer una prueba de velocidad, ya que tengo algunas operaciones calculando y le llevarán parte de la noche (las pruebas no reflejarían el rendimiento real si el procesador está trabajando al 80%), pero mañana, hago las pruebas que me reclamas y al efecto, limpio el código y cambio nombres de variables para facilitar su entendimiento...

(si creo recordar, de memoria, que poco tiempo atrás, quizás un mes o así, probé a generar con un alfabeto de 26 caracteres (A-Z), para un tamaño de clave de 7 caracteres... lo que proporciona algo más de 8 mil millones y tardó prácticamente unos 5 minutos, es decir aprox. 1.600.000.000 claves por minuto. (en un equipo del 2008, y con una versión hecha en VB6, al caso lo reharé en VB-2010, que es lo que tengo en casa). Dado que el algoritmo anunciado como "A", es la idea básica que tu has hecho, y que el algoritmo "C", está suficientemente descrito, pondré el código del algoritmo "B"...

Saludos...
3  Foros Generales / Noticias / Re: MRAM: la memoria RAM no volátil que podría revolucionar los dispositivos móviles en: Hoy a las 02:36
Por supuesto... y ayudaríqa también a ocultar más virus y más intrusiones...

La RAM, volátil, please... basta que consuma menos.
Me da igual si permanece no volátil durante 1-5 segundos, pero que cuando se le retire el suministro eléctrico, y pasen esos segundos, se pierda su contenido por completo.
4  Programación / Programación General / Re: ¡Grupo de WhatsApp para aprender programacion! en: Ayer a las 03:57
Entiendo lo que dice, de "para alguna duda tonta"... peor al ser así, algo irrelevante, la gente se aburrirá, porque así no se aprende, entonces habrñás dos grandes y únicos grupos: "Los pavos" que preguntan chorradas y "el otro" cansado de intentar hacerse entender y ver que fracasa, porque no hay una base mínima a la que los pavos puedan agarrarse y entenderlo bien...

Aparte estoy de acuerdo en todos los problemas susodichos... este foro llevas activo varios años, cualquier de cualquier parte del mundo, puede buscar un tema por la red, y aparecerle este foro, puede consultarse después de años, por cualquiera en cualquier parte del mundo... en whatsapp, cómo dices que se puede buscar algo, quién y cuánto tiempo atrás???.

Todavía si lo que pidieras es llevar el foro al móvil, una versión adaptable a la pantalla tendría un sentido muy razonable, aunque supongo que tiene versión móvil (no he trasteado por todas las ramas del foro, aún).

Pero adelante con tu proyecto, yo te animo, quien sabe, quizás tengas en tu mente una forma muy concreta y clara de llevarlo y dé sus frutos... y si no, pués nada aquí seguirá el foro...
5  Foros Generales / Noticias / Re: Este antivirus cataloga Windows como un virus en: Ayer a las 03:39
Quién sabe... a lo mejor, el antivirus es efectivo y todo, y ha acertado de pleno, señalando ficheros que efectivamente son virus...  :silbar: :laugh: :silbar: :laugh: >:D
6  Foros Generales / Noticias / Re: El lado oscuro de borrar tu pasado 'online': "Esto está lleno de estafadores ... en: Ayer a las 03:36
Como para no usar alias...  :laugh: :laugh: :laugh: :laugh: :laugh: :laugh:

Es curioso como empresas como Google, se emperran en que registres tu nombre, teléfoono, domicilio... cuando sus servicios se remiten a algo menos que el camarero de un bar, el trato desde luego no es presencial y siempre será por software, ergo qué importancia tiene que lo solicite un programa por mi...

Ya veremos por donde continúa la batalla de la seguridad, si por el anonimato absoluto o por el registro absoluto. Yo opto por el primero...
7  Foros Generales / Noticias / Re: Muchos ordenadores del Pentágono todavía usan Windows 95 y 98 en: Ayer a las 03:30
El problema de los S.O. en espacila de win2, es que una versión remplaza por completo a otra, es decir en realidad se trata de otro sistema operativo con el mismo nombre, donde a menudo lo que si valen son otros programas (secundarios).
Para mi (y creo que para todo el mundo sensato), una versión, debería ser única y exclusivamente una mejora de lo ya existente y vale que creen algo nuevo, pero jamás la destrucción de algo existente (salvo que se demuestre dañino) o la incompatibilidad con lo existente.


Imaginaros que los fabricantes de aparatos eléctricos, sacaran su nueva versión de enchufes, interruptores... cada pocos años deberñíamos comprar nuevas lavadoras, cocinas, neveras, microondas, aspiradoras, etc... porque sus clavijas serían incompatibles con las 'nuevas'... y ahora imagnemos que lo msimo lo llevaos a todos los terrenos... entonces cad apocos años tendríamos que tirar la casa por completo, poque una actualización de las leyes (versión 3.45.112), diría que las ventanas deben estar a 1.08 cm. de alto, ni mas ni menos, así que obras al canto...

Es normal, que cuando haya que gastarse una cantidad enorme se desista, de hacerlo, después de todo, Mocosoft, cuandosacó el win95, creo recordar que dijo de él que le daban una vida de 20 años, así que apenas si se ha cumplido, y para el win98, le faltaría aún algo...

Yo aún tengo un Commodore vic-20 del año 81, que funciona (36 años ya)... falta ver si los equipos de hoy día (este año) funcionarán dentro de 36 años... en 2053. Con el paso del tiempo, la fiabilidad ha caído y la obsolecencia exige cada vez una vida más corta de los aparatos... basta mirar los móviles...
8  Foros Generales / Noticias / Re: Presentan en China un rifle electrónico para cazar drones en: Ayer a las 03:08
Yo estoy a favor del control de armas, pero para abatir un dron, en efecto nada mejor que un arma... pero de fuego.
También estoy a favor del control de drones.
Posiblemente deberían tener una legislación equivalente a la que tiene el aeromodelismo... ...es más yo creía que estos aparatos debían estar clasificados como aeromodelismo y por tanto sujeto a las mismas restricciones (e incluso alguna más, dada las posibilidades técnicas).
9  Foros Generales / Noticias / Re: El escándalo de la exprimidora wifi de 400$ que recibió millones (y no sirve ... en: Ayer a las 03:01
Menos mal, que no funcionó...

¡Tantas otras idioteces funcionan como intermediarios, sin añadir absolutamente ningún valor (o ser irrelevante), sino solamente encarecer el precio final del producto al usuario!
10  Foros Generales / Noticias / Re: ¿Cómo afecta la retención de metadatos de Internet a nuestra privacidad y ... en: Ayer a las 02:49
Google, "él" solito, está consiguiendo que lo que es asalto a la privacidad, acabe siendo tolerado y como reacción, te coloca spam. es decir reúne en sí propio, dos cosas odiables por sí solas:
- Acumular datos sobre tu privacidad.
- Invadirte de publicidad.

Como su alimento básico es la publicidad, le ha hecho 40 lavados de cara, para que blanquee más que los detergentes de las lavadoras.
Basta ver como en la última actualización de Youtube para el móvil, ahora reclaman más permisos que antes no eran precisos... para mi es claramente robo de datos privados.
Eso de "si quieres mis servicios, tienes que aceptar mi política de datos", es inaceptable e ilegal... la ley debe impedir ese robo masivo de datos... debe indicar claramente que puede y qué no puede una empresa o servicio retener como datos y en qué condiciones.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 25
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines