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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2
1  Foros Generales / Dudas Generales / Re: Ayuda en la conexion del WhatsApp en: 27 Febrero 2012, 21:35 pm
Algo de informacion sobre los indices de los nodos. Al parecer la cabecera del mensaje siempre comienza con exactamente 2 bytes, que es la longitud de todo el paquete.
Luego estan las etiquetas F8 que es el comienzo de una lista binaria. Justo después hay un índice de exactamente 1 byte, que indica la longitud. Para longitudes mayores de listas binarias se usa F9.

Tambien se aplica a FC y FD, ambos para cadenas, con 1 y 3 bytes respectivamente.

F8: 1 byte, lista binaria corta
F9: 2 bytes, lista binaria larga

FC: 1 byte, cadena corta
FD: 3 bytes, cadena larga

F4: Es el indice del JID, y solo ocupa 1 byte.

Saludos!
2  Foros Generales / Dudas Generales / P2P dinamico? en: 4 Febrero 2012, 19:49 pm
Buena, he estado leyendo algo de p2p, y en la wikipedia la definicion de red p2p pura viene algo como:

Citar
[...] Todas las comunicaciones son directamente de usuario a usuario con ayuda de un nodo (que es otro usuario, con una dirección IP y puerto conocidos) quien permite enlazar esas comunicaciones. [...]

Ahora bien, que ocurriría si todos los host de la red tienen ips dinámicas? Nadie conocería ninguna ip. Y si se intentase cerrar esta red p2p, podrían cortar la comunicación con esa lista de ips fijas, y la red se iría al garete.

Se me ocurrió una idea algo rara, pero tal vez funcione. El programa p2p del ordenador A no sabe quien hay en la red, es mas la red aún ni existe. Sólo conoce su propia ip.
Para tratar de buscar más nodos hace una especie de "ping" a las ips a partir de la suya. Una a una tardaría mucho en encontrar algún nodo, a si que quizás se pueda hacer varios pings a las vez de 10 en 10, o 100 en 100, eso no se muy bien como se haría.

Para simplificar tenemos los siguientes datos:
Código:
Nodo | IP
 A   | 10
 B   | 20
 C   | 22
 D   | 29

Todos comienzan a buscar en la siguiente ip a ver si hay alguien. En el primer intento ninguno va a tener suerte. Al segundo el nodo B que buscaba en la 22 va a encontrar al nodo C que en ese momento estaba buscando en la 24. En este momento el nodo B y C se enlazan, y ambos guardan las ips del otro, creando una lista, que se comprobará periódicamente para comprobar que el nodo sigue conectado.
En este momento, B comparte su lista de nodos con C y viceversa. Como aun no tenían ningun nodo en la lista, pues no van a conocer a ningún nodo más. Pero el nodo C le dice al B que ya ha explorado de 22 a 24, y al parecer no hay nadie por ahi. Por lo tanto el nodo B en vez de volver a hacer ping a esas ips puede aliarse con C y decidir que B buscará las impares y C las pares. Así tardarán menos.

Ahora mismo llevamos 2 pings, continuamos con 3 pings, A exploró (11,12,13); B(21,22,25); C(22,23,24); D(29,30,31).
cuatro A(11,12,13,14); B(21,22,25,27); C(22,23,24,26); D(29,30,31,32),
cinco A(11,12,13,14,15); B(21,22,25,27,29); C(22,23,24,26,28); D(29,30,31,32,33),
seis A(11,12,13,14,15,16); B(21,22,25,27,29,31); C(22,23,24,26,28,30); D(29,30,31,32,33), ahora sí que se han encontrado C con D, de modo que C añade a su lista a D, y envia a todos los nodos de su lista, su propia lista. Entonces B recibiría la ip de D, y viceversa. Ahora pueden aliarse los tres nodos para continuar buscando.

Todo esto ocurre en el transcurso de 6 pings. Pero en una red real quizás hagan falta miles de ellos.

Una vez que se hayan conectado todos, si alguien se conectase a la red, tendría que buscar al nodo más cercano, y que ese le ofreciese la lista de nodos actuales.

Cuando un nodo se desconecta, guarda toda la lista de ips, y al volver a conectarse, trata de averiguar si esas ips están online. Si alguna lo esta, le transfiere la lista de nodos.

Una mejora que se me ocurre es que el programa, pueda reconocer si se trata de una ip fija, y comunicarselo a los demás para que busquen por el primero que las dinamicas.

Será posible crear una red así? Partiendo de cero?

Saludos! ;D
3  Comunicaciones / Redes / Re: Conectar varios vecinos con internet, por LAN en: 23 Enero 2012, 22:37 pm
La idea es teniendo una calle como la siguiente, donde ya existen los routers wifi, hacer las conexiones con el mismo router, o si hace falta usar un router determinado que permita hacerlo.



Esto es una suposicion, pero en la realidad, digamos que hay 3 redes por cada 4 pisos. Con lo cual la superposicion sería mayor.

Que material hace falta? Es muy complejo de hacer? Lo ideal es que se pudiese hacer facil y que no costase mucho, entonces mucha gente se podria crear una especie de "intranet" que fuese gratis.
4  Comunicaciones / Redes / Re: Conectar varios vecinos con internet, por LAN en: 23 Enero 2012, 01:55 am
Hamachi no es viable, ya que lo que busco es algun tipo de router, o configuracion tipo bridge, que permita tener una lan, y a la vez internet. Por ejemplo los vecinos
A B C D E, que se conecten haciendo una especie de "red" AB, AC, BC, CD, DE, CE, por lan, de modo que puedan compartir archivos o jugar en lan con una buena velocidad, y a parte, que cada uno siga manteniendo su linea de internet. Lo de unir su velocidad de internet es lo de menos jaja, pero es posible hacer esa red lan?
Gracias!  :)
5  Foros Generales / Dudas Generales / Re: Ayuda en la conexion del WhatsApp en: 22 Enero 2012, 05:20 am
Aqui teneis un analisis de un mensaje al telefono 666666666 con el texto "Da":

Código:
00[packet length]f8085da0fafc0b[cc][phone]8aa21b43fc[timestamp lenght][timestamp]2d[messaje index]f802f804babd4ff801f8018cf80216fc[body lenght][body] 

Código:

                    list binary 8
                    |                                     id                                           
                    |  length:11                          |                                           
     list binary 24 |  |                                  |  list binary 8                 index (7)   
     |              |  |       cc: phone:                 |  |                             |           
     |  8 items     |  |       +34 666666666              |  |  length:12              "-" |           
     |  |           |  |  ____________^_________          |  |  |                       |  |           
0037 f8 08 5d a0 fa fc 0b 3334363636363636363636 8a a2 1b 43 fc 0c 31333235313235383239 2d 37
|          |  |  |                               |  |  |           ----------v---------       
|          |  |  jid-pair                        |  |  chat        timestamp:1325125820       
|          |  |                                  |  |             Thu Dec 29 2011 03:30:20   
length:55  |  to                                 |  type                                     
           |                                     |                                           
           messaje                               s.whatsapp.net                               




         4 items                 server
         |                       |
         |  x                    |  list binary 24
         |  |  xmlns             |  |
         |  |  |                 |  |  items:2
         |  |  |  jabber:x:event |  |  |           
         |  |  |  |              |  |  |  body    message:
         |  |  |  |      1 item  |  |  |  |       "Da" 
         |  |  |  |           |  |  |  |  |        _^__
f8 02 f8 04 ba bd 4f f8 01 f8 01 8c f8 02 16 fc 02 4461
|  |  |              |  |  |                 |  |
|  |  list binary 24 |  |  list binary 24    |  |
|  |                 |  |                    |  |
|  2 items           |  1 item               |  lenght:2
|                    |                       |
list binary 24       list binary 24          list binary 8
6  Foros Generales / Dudas Generales / Re: Ayuda en la conexion del WhatsApp en: 22 Enero 2012, 05:04 am
Si alguien quiere colaborar para crear un chat para el whats app para ordenador me lo comunique por privado. Entonces comento mas detalles. Por ahora ya he creado un pequeño chat que permite tener una conversacion con una persona sabiendo su nº. Saludos!
7  Comunicaciones / Redes / Conectar varios vecinos con internet, por LAN en: 22 Enero 2012, 04:45 am
Hola, resulta que se me ha planteado una idea, pero no tengo mucha idea de si es viable. En una calle con imaginemos 15 vecinos, donde cada uno tiene contratada su tarifa de internet. Es posible, que creen una red lan entre ellos, usando sus propios routers, enlazando con los vecinos circundantes? En caso de que las señales wifi lo permitan, y manteniendo cada uno su propia conexion a internet. Y en ese caso, es posible "unir" sus conexiones a internet para tener una mayor velocidad? Hay algun protocolo que permita esto? Saludos!
8  Foros Generales / Dudas Generales / Re: Ayuda en la conexion del WhatsApp en: 2 Enero 2012, 17:06 pm
Ya consegui conectarme al servidor del whatsapp. Hace falta el imei del telefono para generar el hash de la contraseña que se usa en el digest.
Saludos
9  Foros Generales / Dudas Generales / Re: Ayuda en la conexion del WhatsApp en: 11 Diciembre 2011, 21:38 pm
He descubierto algo mas tambien. Resulta que al modificar el uuid del iphone, el whats app deja de funcionar. No se conecta. De modo que el uuid tiene que formar parte de la autentificación.
Lo que necesitaba era alguien que tuviera bastante conocimiento de java, y que me ayudase a decompilar el codigo fuente de la aplicacion para android. Yo lo he mirado por encima y parece que esta ofuscado.

La autentificacion esta sacada literalmente del codigo de la aplicacion. Supongo que seguira siendo asi.

Un saludo!  :D
10  Foros Generales / Dudas Generales / Re: Ayuda en la conexion del WhatsApp en: 18 Agosto 2011, 19:17 pm
Si, ya he estado leyendo ese post antes, pero todo lo que llega a decir del whatsapp ya lo había leido. Lo único que me falta saber es como se genera la contraseña en el paquete response. En ese post dice que le preguntaron a whatsapp pero que les dijeron que la contraseña era simplemente "password". Yo he probado con esa y algunas más, pero no soy capaz e generar el mismo md5.

Teniendo el código fuente decompilado no se si resultará más sencillo, pero el caso es que cuando trato de buscar la definicion de la cadena password, no la encuentro por ningún fichero. Simplemente se llama a password y eso devuelve un valor, pero la definición de password es simplemente del tipo:

String password;

En el buscador de windows 7, que busca en el texto de los archivos también busqué password, y hay una clase de apache, que esta en otra carpeta que si mal no recuerdo se llama NTCredentials, pero ahí no encontré nada que asignara un valor a password, simplemente usa el valor de password.

Por otra parte el cnonce, supongo que será un valor long aleatorio de 16 bytes, que se pasa a hexadecimal, sin embargo, tampoco me explico como en vez de aparecer como:

Código:
12345678123412341234123456789012

Aparece como:

Código:
12345678-1234-1234-1234-123456789012

Quizas en el código original hay una máscara en la funcion toString que al decompilarse no se muestra correctamente.

Sin embargo si es un número aleatorio, supongo que no importará que use el mismo cnonce en todas las conexiones.

A ver si hay alguien que me pueda ayudar en esto. Muchas gracias por adelantado.  :rolleyes:
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines