Tengo una aplicación exe de Windows que solía enviar paquetes a un servidor en el claro. Esta aplicación (vamos a llamarlo la aplicación del cliente) es definitivamente de origen cercano, pero algún hábil pirata informático editó el código hexadecimal y lo envió a enviar paquetes codificados.¿Cómo puedo aplicar ingeniería inversa a los paquetes codificados en una aplicación de Windows?
Ahora, obviamente, esos paquetes están codificados de una manera que es descifrable (de lo contrario, el servidor no podría entenderlo), pero lo que quería hacer es escribir un emulador que emule esta aplicación binaria, enviando el mismos paquetes al servidor, y poder descifrar la respuesta (si está codificada).
El cliente hex-ed requirió una dll adicional para ejecutar, lo que el antiguo cliente no hizo. Supongo que de alguna manera el cliente de hex-ed logró cargar ese dll (vamos a llamarlo client.dll) y la función de ese dll es implementar la codificación/descifrado, enganchando en algunas ventanas api que reenrutaron todos los paquetes enviados desde el proceso client.exe.
Si hay alguien que pueda orientarme sobre cómo empezar a trabajar en cómo funciona todo esto, y cómo puedo realizar una ingeniería inversa de la codificación, eso sería muy apreciado.
No tengo idea qué tipo de información proporcionar, pero si hay alguna falta, simplemente responda, y publicaré más detalles, y si alguien quiere los archivos binarios, me complace proporcionarlo.
descarga binario para todos los interesados:
http://dl.getdropbox.com/u/46623/client.dll
http://dl.getdropbox.com/u/46623/newClient.exe
http://dl.getdropbox.com/u/46623/originalClient.exe
Estos no funcionarán porque se requieren los archivos de recursos - que son unos 3 gigas, por lo demasiado grande para cargar en cualquier lugar. Los nombres han sido cambiados para proteger a los culpables =), pero eso probablemente no proteja el nombre de la dll ...
gracias por la oferta de ayuda - ciertamente puedo cargar el binario y el dll si lo desea, pero no podrá ejecutarlo sin los archivos de recursos de apoyo, que viene en 3gigs pesados (es un cliente de juegos después de todo) Y no, no estoy tratando de engañar, simplemente tratando de emular al cliente. – Chii
Solo cargue una copia del módulo de gancho, debería ser capaz de extraer los algoritmos de cifrado y descifrado de la misma. – Irwin
cargado y editado la publicación original en la parte inferior. ¡aclamaciones! – Chii