Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: calanor en 25 Marzo 2011, 22:22 pm



Título: Alguien conoce este sistema de codificación?
Publicado por: calanor en 25 Marzo 2011, 22:22 pm
Estoy intentando descifrar los datos que se intercambian un equipo de red y un software de pc. Con Wireshark y Ollydbg he dado con la rutina que descodifica los datos.
La codificación es muy sencilla y por lo que parece va destinada simplemente a la compresión de datos. Por poner un ejemplo, para codificar la cadena
255.255.255.0

el equipo lo codifica y lo manda como:

    Hex dump                                          ASCII
    32 35 35 2E 01 04 04 01 04 04 30              255.......0

teniendo en cuenta que 01 es un token, "01 04 04"  quiere decir que copie 4 bytes de 4 posiciones anteriores que equivale a "255.", esto repetido 2 veces mas un 0 final da la cadena definitiva.

En este caso el ahoro es escaso, pero con bloques de datos grandes (varios Kbites), se consigue una compresión de mas del 50% ya que busca cadenas repetidas desde la posición actual hacia atarás hasta llegar al principio del bloque.

para la cadena:

22222222222222222222

envia:

Hex dump                                         ASCII
32 32 32 32 01 04 04 01 08 08 01 04 04         2222.........



Ahora me toca buscar el código del codificador, pero antes de seguir buscando quisiera saber si este simple sistema de codificación de datos forma parte de algún estándar o sdk, o es fruto de algún sistema propietario.  Por lo que parece, el server es un vxworks sobre linux pero he buscado y no he encontrado nada al respecto.




Saludos.




Título: Re: Alguien conoce este sistema de codificación?
Publicado por: calanor en 28 Marzo 2011, 08:14 am
Me respondo a mi mismo.
Puedo casi confirmar que es un formato de codificación/decodificación hecho a medida, ya que dentro del código del codificador hay llamadas a funciones tipo polling dentro de algún bucle.
Con OllyDbg, Tasm y un poco de paciencia ya he aislado las funciones de codificación y decodificación.

Saludos.