Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #21  
Viejo 18/01/10, 12:21:32
Array

[xs_avatar]
cohone cohone no está en línea
Miembro del foro
 
Fecha de registro: sep 2009
Mensajes: 163

Yo tengo mi hero rooteada y estoy seguro que si que es necesario ser root para tener privilegios con el comando mount, ya que donde hay privilegios de escritura no los hay de ejecución (/sdcard) y al reves, donde hay de ejecución no hay de escritura... (para copiar los ejecutables)

Pero si te haces un instalador, no se si es necesario ser root... lo desconozco.

Yo es que llevo con la hero rooteada desde el primer dia y no se las limitaciones de no ser root.

Siempre viene bien tener el algoritmo del wlandecrypter portado a java, también existe otro programa que creo que se llama jaztell decrypter o algo así , lo digo para que lo tengas en cuenta a la hora de programar (ya que te pones...)

y aquí por si te sirve de algo, tienes un script en python, aunque llama al wlandecrypter, pero lo he probado y va muy bien, aunque es un poco coñazo porque te pile mil parámetros...

http://foro.elhacker.net/wireless_en...t269374.0.html

Siento no poder ayudarte con el java, ya que no tengo ni idea...

Saludos
Responder Con Cita


  #22  
Viejo 18/01/10, 13:03:11
Array

[xs_avatar]
evildarkangel evildarkangel no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2010
Mensajes: 11
Modelo de smartphone: HTC Tattoo

Si, lo suyo seria hacer todo el arsenal con Wlandecrypter, Jazzteldecrypter, Dlinkdecrypter, el de SpeedTouch y el de las ADSLXXXX, pero lo primero sería intentar acrotar el tiempo al generar el diccionario... A ver si alguien que entienda nos ayuda con el blucle.

Edito, el fallo esta en que hacia: diccionario = diccionario + [...]
El for correcto es:

Código:
for(int i=0;i<16;i++)
    for(int j=0;j<16;j++)
        for(int k=0;k<16;k++){
            for(int l=0;l<16;l++){
                out.write(inicio + Integer.toHexString(i) + Integer.toHexString(j) + Integer.toHexString(k) +  Integer.toHexString(l) + final + "\n");
            }
De esta manera, va añadiendo los passwords al Diccionaro.txt, sin preocuparse de lo que ya hay en el txt. Tiempo con 65535 passwords han sido unos 15 segundos.
En cuanto lo acabe, cuelgo todo el source y el APK.

Última edición por evildarkangel Día 18/01/10 a las 13:32:53.
Responder Con Cita
  #23  
Viejo 18/01/10, 14:35:20
Array

[xs_avatar]
evildarkangel evildarkangel no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2010
Mensajes: 11
Modelo de smartphone: HTC Tattoo

Cuelgo el source más el .apk de lo que tengo hasta ahora.



WlanDroid 0.1b (Basado 100% en el source del wlandecrypter de Nilp0inteR). Pequeña apliacción para generar diccionarios con los posibles passwords para las redes de telefonica WLAN_XX. No es funcional del todo, segun lo que hagas peta, pero algo es algo :P

Saludos!
Archivos Adjuntos
Tipo de Archivo: zip WlanDroid 1.5.zip (44.3 KB, 71 visitas)
Tipo de Archivo: zip WlanDroid 1.6.zip (67.2 KB, 299 visitas)

Última edición por evildarkangel Día 18/01/10 a las 16:02:24. Razón: Añadida versión para 1.5
Responder Con Cita
Los siguientes 2 usuarios han agradecido a evildarkangel su comentario:
  #24  
Viejo 18/01/10, 17:53:18
Array

[xs_avatar]
evildarkangel evildarkangel no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2010
Mensajes: 11
Modelo de smartphone: HTC Tattoo

Añado el Dlinkdecrypter y el Jazzteldecrypter.
En el Dlinkdecrypter he añadido otra TextField, para que sea más fácil copiar el posible password generado.

Para los que no sepan para que sirven:
Dlinkdecrypter genera un diccionario con 256 passwords y indica cual de ellos es más probable que sea.
Jazzteldecrypter genera un diccionario con 65536 passwords.

Saludos!
Archivos Adjuntos
Tipo de Archivo: zip JazztelDroid 1.5.zip (40.4 KB, 59 visitas)
Tipo de Archivo: zip JazztelDroid 1.6.zip (95.2 KB, 173 visitas)
Tipo de Archivo: zip DlinkDroid 1.5.zip (40.5 KB, 45 visitas)
Tipo de Archivo: zip DlinkDroid 1.6.zip (63.4 KB, 160 visitas)

Última edición por evildarkangel Día 19/01/10 a las 15:40:51. Razón: Añadido el JazztelDroid
Responder Con Cita
Los siguientes 2 usuarios han agradecido a evildarkangel su comentario:
  #25  
Viejo 25/01/10, 17:10:00
Array

[xs_avatar]
Joshiro Joshiro no está en línea
Usuario novato en la web
· Votos compra/venta: (1)
 
Fecha de registro: ene 2010
Mensajes: 16

 Cita: Originalmente Escrito por evildarkangel Ver Mensaje
Añado el Dlinkdecrypter y el Jazzteldecrypter.
En el Dlinkdecrypter he añadido otra TextField, para que sea más fácil copiar el posible password generado.

Para los que no sepan para que sirven:
Dlinkdecrypter genera un diccionario con 256 passwords y indica cual de ellos es más probable que sea.
Jazzteldecrypter genera un diccionario con 65536 passwords.

Saludos!

Hola.

Que tal funciona el programa?
Hay algo a tener en cuenta a la hora de instalar(root, ...)?
Que posibles problemas pueden surgir?

Muchas gracias a todos!
Responder Con Cita
  #26  
Viejo 26/01/10, 01:03:27
Array

[xs_avatar]
migue85 migue85 no está en línea
Miembro del foro
 
Fecha de registro: ago 2008
Mensajes: 67
Modelo de smartphone: Magic y Diamond

Te recomendaria que usaras un array:

String hexValues = "0123456789ABCDEF";

y accedieras con complejidad constante a los valores del array concatenandolos directamente con "+".

De esta forma puedes hacerlo con un unico bucle for y es posible que ganes bastante en velocidad. Pasas de complejidad O(n^4) a O(n). Ademas, creo que la funcion toHexString es bastante pesada.
Responder Con Cita
  #27  
Viejo 26/01/10, 12:23:10
Array

[xs_avatar]
migue85 migue85 no está en línea
Miembro del foro
 
Fecha de registro: ago 2008
Mensajes: 67
Modelo de smartphone: Magic y Diamond

Me equivoque, he de mirar algoritmos de permutacion que tengan complejidad menor pero de todas formas, prueba a ver si este codigo te vas mas rapido.

He aprovechado un array y una variable limite para que todo ello quede cacheado. De esta forma no hay que llamar a la fncion to HexString, que es muy lenta y los datos ya los tenemos generdos por lo que adems, aprovechando los primeros accesos a memoria, la informacion queda cacheada y acceder al array se hace ademas con complejidad constante y va que tira millas.
Lo unico que podria mejorarse, he de mirarlo, es reducir los 4 bucles a algo mas rapido aun, supongo que existen algoritmos de combinaciones de n elementos tomados de m en m con menor complejidad que O(N^m) que es el orden de complejidad mas lento.
En mi pc,el cual es bastante lento,este codigo ha ido realmente rapido, supongo que en el movil no ira del todo mal, si puedes sustituyelo por el tuyo y me comentas que tal va porque a priori intuyo que ira un poquito mejor.
Ademas, te recomiendo que uses el out.write mirando si hay algun metodo write que haga el salto de linea implicito con lo que te ahorras una nueva concatenacion del '\n' retorno de carro y quieras que no, 65536 veces esa operacion supondra un ahorro de unos poquiños ms.

Código:
        String s[] = {"0","1","2","3","4","5","6","7","8",
                     "9", "A", "B", "C", "D", "E", "F"};
        int limit = 16;
        for (int i=0; i<limit; i++)
            for (int j=0; j<limit; j++)
                for (int k=0; k<limit; k++)
                    for (int l=0; l<limit; l++)
                        System.out.println(s[i]+s[j]+s[k]+s[l]);
ya me contaras

Última edición por migue85 Día 26/01/10 a las 12:37:17.
Responder Con Cita
  #28  
Viejo 26/01/10, 20:56:38
Array

[xs_avatar]
evildarkangel evildarkangel no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2010
Mensajes: 11
Modelo de smartphone: HTC Tattoo

 Cita: Originalmente Escrito por migue85 Ver Mensaje
Me equivoque, he de mirar algoritmos de permutacion que tengan complejidad menor pero de todas formas, prueba a ver si este codigo te vas mas rapido.

He aprovechado un array y una variable limite para que todo ello quede cacheado. De esta forma no hay que llamar a la fncion to HexString, que es muy lenta y los datos ya los tenemos generdos por lo que adems, aprovechando los primeros accesos a memoria, la informacion queda cacheada y acceder al array se hace ademas con complejidad constante y va que tira millas.
Lo unico que podria mejorarse, he de mirarlo, es reducir los 4 bucles a algo mas rapido aun, supongo que existen algoritmos de combinaciones de n elementos tomados de m en m con menor complejidad que O(N^m) que es el orden de complejidad mas lento.
En mi pc,el cual es bastante lento,este codigo ha ido realmente rapido, supongo que en el movil no ira del todo mal, si puedes sustituyelo por el tuyo y me comentas que tal va porque a priori intuyo que ira un poquito mejor.
Ademas, te recomiendo que uses el out.write mirando si hay algun metodo write que haga el salto de linea implicito con lo que te ahorras una nueva concatenacion del '\n' retorno de carro y quieras que no, 65536 veces esa operacion supondra un ahorro de unos poquiños ms.

Código:
        String s[] = {"0","1","2","3","4","5","6","7","8",
                     "9", "A", "B", "C", "D", "E", "F"};
        int limit = 16;
        for (int i=0; i<limit; i++)
            for (int j=0; j<limit; j++)
                for (int k=0; k<limit; k++)
                    for (int l=0; l<limit; l++)
                        System.out.println(s[i]+s[j]+s[k]+s[l]);
ya me contaras
Llevas toda la razón, no se me había ocurrido. Al usar un array de strings es mucho más rápido, tarda la mitad aproximadamente (65536 passwords, 10 segundos).
Y lo del out.write no me ha quedado del todo claro... El system.out.println no es para escribir en en consola? O se puede usar para escribir en un txt?

Subo todos los .apk + sources actualizados.
Gracias por tus consejos ;)

EDITO: Corregido un pequeño error :P
Archivos Adjuntos
Tipo de Archivo: zip DlinkDroid 1.5.zip (41.3 KB, 42 visitas)
Tipo de Archivo: zip DlinkDroid 1.6.zip (64.1 KB, 160 visitas)
Tipo de Archivo: zip JazztelDroid 1.5.zip (41.3 KB, 41 visitas)
Tipo de Archivo: zip JazztelDroid 1.6.zip (64.2 KB, 168 visitas)
Tipo de Archivo: zip WlanDroid 1.5.zip (45.2 KB, 52 visitas)
Tipo de Archivo: zip WlanDroid 1.6.zip (68.1 KB, 268 visitas)

Última edición por evildarkangel Día 31/01/10 a las 23:56:56.
Responder Con Cita
Gracias de parte de:
  #29  
Viejo 04/02/10, 23:05:24
Array

[xs_avatar]
AKOSSO AKOSSO no está en línea
Miembro del foro
 
Fecha de registro: sep 2009
Mensajes: 41

Si conseguis el de los speedtouch os coronais...
Que lastima no saber programar che,,..
Responder Con Cita
  #30  
Viejo 11/02/10, 02:38:34
Array

[xs_avatar]
neoxom neoxom no está en línea
Miembro del foro
· Votos compra/venta: (9)
 
Fecha de registro: nov 2008
Mensajes: 491

Me gustaria aportar algo a esto, aunque sea probando las betas que vayais sacando. Tengo la hero roteada y ni siquiera he podido instalarlo... no se que pasara. Estare atento! Un saludo y enhorabuena por el trabajo.
Responder Con Cita
  #31  
Viejo 13/02/10, 16:21:39
Array

[xs_avatar]
elboo elboo no está en línea
Usuario muy activo
 
Fecha de registro: ene 2010
Mensajes: 694
Modelo de smartphone: Z3
Tu operador: Vodafone
Me da error de escritura en la sd, al darle a generar diccionario.
Es necesario ser root?
Responder Con Cita
  #32  
Viejo 14/02/10, 16:18:45
Array

[xs_avatar]
evildarkangel evildarkangel no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2010
Mensajes: 11
Modelo de smartphone: HTC Tattoo

Lo estás probando en el emulador o en un telefono real? En el emulador me salia ese error.

Tienes el telefono conectado por USB mientras lo haces? Si es así, desconectalo, ya que al tenerlo conectado, le PC usa la SD.

No necesitas ser root en un principio...

Saludos!
Responder Con Cita
  #33  
Viejo 16/02/10, 11:00:32
Array

[xs_avatar]
kerberos kerberos no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: jul 2008
Mensajes: 539

Este es un hilo donde se habla de como poner en modo monitor a Android:

http://www.androidfanatic.com/cms/co...d=1578&catid=9

Espero les pueda ayudar un poco con este link.
Responder Con Cita
  #34  
Viejo 16/02/10, 12:40:24
Array

[xs_avatar]
yeikos yeikos no está en línea
Miembro del foro
 
Fecha de registro: oct 2009
Mensajes: 315

Hasta que no se desarrollen unos drivers para poner la tarjeta en modo monitor no habrá avance, así que no se porque os liaste con el algoritmo de fuerza bruta xd

Aún así dejaré mis aportes ya que se algo del tema

Tú algoritmo no está optimizado evildarkangel, pruebalo de la siguiente manera y me comentas:

[php] String s[] = {"0","1","2","3","4","5","6","7","8","9",
"A", "B", "C", "D", "E", "F"};
int limit = 16, i, j, k, l;

for (i=0; i<limit; ++i)
for (j=0; j<limit; ++j)
for (k=0; k<limit; ++k)
for (l=0; l<limit; ++l)
System.out.println(s[i]+s[j]+s[k]+s[l]);[/php]Hace un año o así conseguir desarrollar un algoritmo de fuerza bruta (con un solo bucle claro), y me costo lo suyo desarrollarlo.

Lo tengo en Perl, luego al medio dia cuando llegue a casa lo pasa a Java y lo subo para que le hecheis un vistazo y hechamos unas carreras jaja, saludos!

Última edición por yeikos Día 16/02/10 a las 12:44:51.
Responder Con Cita
  #35  
Viejo 16/02/10, 19:53:20
Array

[xs_avatar]
evildarkangel evildarkangel no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2010
Mensajes: 11
Modelo de smartphone: HTC Tattoo

 Cita: Originalmente Escrito por yeikos Ver Mensaje
Tú algoritmo no está optimizado evildarkangel, pruebalo de la siguiente manera y me comentas:

[php] String s[] = {"0","1","2","3","4","5","6","7","8","9",
"A", "B", "C", "D", "E", "F"};
int limit = 16, i, j, k, l;

for (i=0; i<limit; ++i)
for (j=0; j<limit; ++j)
for (k=0; k<limit; ++k)
for (l=0; l<limit; ++l)
System.out.println(s[i]+s[j]+s[k]+s[l]);[/php]
Lo tengo tal cual me dijistes:
[php]
String hexa[] = {"0","1","2","3","4","5","6","7","8",
"9", "A", "B", "C", "D", "E", "F"};
for (int i=0; i<16; i++)
for (int j=0; j<16; j++)
for (int k=0; k<16; k++)
for (int l=0; l<16; l++)
out.write(password + hexa[i]+hexa[j]+hexa[k]+hexa[l] + fin + "\n");[/php]Saludos y gracias!
Responder Con Cita
  #36  
Viejo 16/02/10, 20:06:57
Array

[xs_avatar]
yeikos yeikos no está en línea
Miembro del foro
 
Fecha de registro: oct 2009
Mensajes: 315

No me entendiste del todo.

Compara los dos códigos y verás unas pequeñas diferencias pero abrumadoras...
Responder Con Cita
  #37  
Viejo 19/02/10, 19:53:40
Array

[xs_avatar]
cohone cohone no está en línea
Miembro del foro
 
Fecha de registro: sep 2009
Mensajes: 163

 Cita: Originalmente Escrito por kerberos Ver Mensaje
Este es un hilo donde se habla de como poner en modo monitor a Android:

http://www.androidfanatic.com/cms/co...d=1578&catid=9

Espero les pueda ayudar un poco con este link.
Bah. no te hagas ilusiones, ya probé a compilar ese código hace tiempo y no hace nada....
Y ahora que lo he vuelto a leer... me he dado cuenta que no vale para nada.

El tipo pone la tarjeta en modo "promiscuo", que no tiene nada que ver con modo "monitor".
Una de las condiciones que pone para que funcione el sniffer.c y el injector.c es que estés conectado a internet (nos ha jodio!!!).

Esto, para lo que vale es para demostrar que puedes snifar una red a la que estas conectado, ej. tcpdump. Pero para nada que sirva para poner la tarjeta en modo monitor para snifar el "aire" sin estar asociado a un ap.


Saludos
Responder Con Cita
  #38  
Viejo 21/02/10, 01:53:31
Array

[xs_avatar]
Santoos Santoos no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2010
Mensajes: 25
Modelo de smartphone: HTC Tattoo

Hola chicos, no se como va este tema, :P

El caso esque me gustaria saber si el programa este avanza o no, para poder conectarme a las WLAN_XX por la patilla

Tengo el WlanDroid pero claro, el BSSID lo tengo que introducir manualmente y luego te genera miles y miles de claves WEP!!!!

A ver si me iluminais!!!!
Responder Con Cita
  #39  
Viejo 22/02/10, 16:01:02
Array

[xs_avatar]
merol merol no está en línea
Miembro del foro
 
Fecha de registro: feb 2010
Mensajes: 34
Modelo de smartphone: HTC Magic

triste

 Cita: Originalmente Escrito por yeikos
Código:
    String s[] = {"0","1","2","3","4","5","6","7","8","9", 
    "A", "B", "C", "D", "E", "F"};
    int limit = 16, i, j, k, l;

    for (i=0; i<limit; ++i)
        for (j=0; j<limit; ++j)
            for (k=0; k<limit; ++k)
                for (l=0; l<limit; ++l)
                    System.out.println(s[i]+s[j]+s[k]+s[l]);  
 Cita: Originalmente Escrito por evildarkangel Ver Mensaje
Lo tengo tal cual me dijistes:
[php]
String hexa[] = {"0","1","2","3","4","5","6","7","8",
"9", "A", "B", "C", "D", "E", "F"};
for (int i=0; i<16; i++)
for (int j=0; j<16; j++)
for (int k=0; k<16; k++)
for (int l=0; l<16; l++)
out.write(password + hexa[i]+hexa[j]+hexa[k]+hexa[l] + fin + "\n");[/php]Saludos y gracias!
Hay una sutil diferencia tu declaras los contadores dentro del for, por lo que en cada iteración (teoricamente) se reservará espacio para dicha variable y al finalizar la iteración se liberará, y asi con todas las iteraciones de cada bucle, calcula el numero de iteraciones y veras.... Aunque no creo que notes diferencia de rendimiento si cambias el código (no lo se ni lo he probado) pero hoy dia los compiladores hacen una barbaridad de pasos intermedios de optimización, y seguramente esa sea una de las optimizaciones que llevan a cabo.

Además creo que el proceso más pesado en esos bucles es la escritura en el sistema de ficheros. Le he echado un vistazo, no creo que mejore mucho el tiempo pero por probar:

En tu codigo hay un par de bucles (ya se que has cambiado el tohexstring por el array) eso si que es una buena optimización:
Código:
for(int i=0;i<16;i++)
                        for(int j=0;j<16;j++)
                            for(int k=0;k<16;k++)
                                for(int l=0;l<16;l++){
                                    out.write(password + 
                                              Integer.toHexString(i) + Integer.toHexString(j) + 
                                              Integer.toHexString(k) + Integer.toHexString(l) + 
                                              fin + "\n");
                                    contador++;
                                }    
            
                   if(password2.length()>0){
                       for(int w=0;w<16;w++)
                           for(int x=0;x<16;x++)
                              for(int y=0;y<16;y++)
                                  for(int z=0;z<16;z++){
                                      out.write(password2 + 
                                              Integer.toHexString(w) + Integer.toHexString(x) + 
                                              Integer.toHexString(y) + Integer.toHexString(z) + 
                                              fin + "\n");
                                        contador++;
                                  }
prueba con este otro código:

Código:
boolean pass2=password2.length()>0;

for(int i=0;i<16;i++)
        for(int j=0;j<16;j++)
               for(int k=0;k<16;k++)
                       for(int l=0;l<16;l++){
                           String s=hexa[i]+hexa[j]+hexa[k]+hexa[l];
                           out.write(password +s + fin "\n");
                           if(pass2) out.write(password2 +s + fin "\n");
                       }
Puede ser que mejore en algo el tiempo cuando hay mas de una contraseña posible, aunque ya te digo que creo que la mayor parte del tiempo el programa esperará al sistema de ficheros.

Otra pequeña ida de pelota, puede ser lo siguiente, todavia no he programado nada en android y no lo puedo probar ahora, y en el ordenador el tiempo sería despreciable:
Código:
StringBuffer s="1234";
for(int i=0;i<16;i++){
        s.replace(0,1,hexa[i]);
         for(int j=0;j<16;j++){
               s.replace(1,2,hexa[j]);
                for(int k=0;k<16;k++){
                      s.replace(2,3,hexa[k]);
                        for(int l=0;l<16;l++){
                           s.replace(3,4,hexa[l]);
                            out.write(password +s + fin "\n");
                           if(pass2) out.write(password2 +s + fin "\n");
                        }
               }
         }
}
Con este código se supone que no se crean tantas String intermedias, además de concatenar muchas menos veces las cadenas, no se si el metodo replace del StringBuffer puede joder el invento, enfin pruebalo y nos cuentas aunque sea por curisiodad .

Y ojala pronto tengamos modo monitor o inyeccion o como se llame, que siempre me lio con esos modos de Wifi. Y sin eso todo es en vano..... Por cierto por lo que he leido en otra parte del foro, lo que hace el iwep del iphone es poner cada una de las 65000 y pico contraseñas hasta que consigue conexión con una de ellas, eso seria razonable en tiempo para nuestro android. Alguien sabe algo de esto????

Saludos
Responder Con Cita


  #40  
Viejo 27/02/10, 22:24:36
Array

[xs_avatar]
vinyols vinyols no está en línea
Miembro del foro
 
Fecha de registro: nov 2009
Localización: y tu?
Mensajes: 179
Modelo de smartphone: Desire, X8, tattoo, Hero, Ipaq , iphone

realmente interesante y muy avanzado haber si podemos solucionar el telma drivers un saludo a todos
Y una recomendación a los que solo queráis tener internet por la carta sin aportar nada .
se abstengan de comentarios al respecto, preferimos el sencillo agradecimiento
es una cosa muy frustrante ver como la gente solo quiere abusar de un conocimiento ajeno. y son muy pesados o poco respetuosos
todo llegará y para todo el mundo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 04:51:20 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /