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:
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:
envia:
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. |