У меня есть приложение Windows EXE, которое используется для отправки пакетов на сервер в открытом виде. Это приложение (давайте назовем его клиентским приложением) определенно близко к источнику, но некоторые умные хакеры отредактировали двоичный файл и заставили его посылать зашифрованные пакеты.
Теперь, очевидно, эти пакеты скремблируются способом, который можно расшифровать (иначе сервер не сможет этого понять), но я хотел написать эмулятор, который эмулирует это двоичное приложение, отправляя пакеты на сервер и возможность расшифровывать ответ (если он зашифрован).
Для запуска шестнадцатеричного клиента потребовалась дополнительная библиотека DLL, чего не делал старый клиент. Я предполагаю, что каким-то образом шестнадцатеричный клиент сумел загрузить эту dll (давайте назовем ее client.dll), и функция этой dll состоит в том, чтобы реализовать шифрование / дешифрование, подключив некоторые окна API, которые перенаправили все пакеты, отправленные из процесс client.exe.
Если есть кто-нибудь, кто может подсказать мне, как начать работать над тем, как все это работает, и как я могу провести обратный инжиниринг скремблирования, это было бы очень признательно.
Я понятия не имею, какую информацию предоставить, но если что-то не хватает, просто ответьте, и я опубликую более подробную информацию, и если кто-то захочет получить двоичные файлы, я с удовольствием предоставлю ее.
бинарная загрузка для любых заинтересованных сторон:
http://dl.getdropbox.com/u/46623/client.dll
http://dl.getdropbox.com/u/46623/newClient.exe
http://dl.getdropbox.com/u/46623/originalClient.exe
Они не запустятся, потому что файлы ресурсов требуются - они составляют около 3 гигабайт, слишком велики для загрузки в любом месте. Имена были изменены, чтобы защитить виновных =), но это, вероятно, не защищает имя DLL ...