我有一个 Windows exe 应用程序,用于将数据包明文发送到服务器。这个应用程序(让我们称之为客户端应用程序)绝对是封闭源的,但是一些聪明的黑客对二进制文件进行了十六进制编辑,并让它发送被加扰的数据包。
现在,显然,这些数据包以一种可破译的方式进行了加扰(否则服务器将无法理解它),但我想做的是编写一个仿真器来模拟这个二进制应用程序,将相同的数据包发送到服务器,并且能够解读响应(如果它被加扰)。
十六进制客户端需要额外的 dll 才能运行,而旧客户端则不需要。我假设十六进制客户端设法以某种方式加载该dll(让我们称之为client.dll)并且该dll的功能是通过连接到一些重新路由从发送的所有数据包的windows 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 gig,所以太大而无法上传到任何地方。名称已更改以保护有罪 =) ,但这可能不保护 dll 的名称...