如何在Windows应用程序中对加扰的数据包进行逆向工程?
我有一个
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演出,因此太大而无法上传到任何地方.名称已更改为保护guilty =),但这可能不保护DLL的名称… 解决方法
我假设其编码此挂钩,增加加密的数据包我的人/ O为上述方案要么迷上有关Windows的Socket API的应用(WSASend,发送等)或钩用于发送内部程序功能/接收数据.
话虽如此,我建议您使用钩子检测程序(例如RkUnhooker)来找出实际被钩住的内容.一旦你知道的API迷上你也应该知道这些钩去,并从那里你必须手动反向工程的钩子函数. 至于学习如何做到这一点的问题,我无法引导您到只有一个教程,教你的一切,但我强烈建议你看一下Tuts4You的网站,它具有能够满足您的所有需求的教程多如牛毛. 如果可能,请上传已编辑客户端的副本.钩子DLL,如果我有时间我会代码你复制加密&解密功能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-vista – 如何在Windows Vista Home Edition上授予
- windows-server-2008 – 如何在Windows Server 2008上找到名
- .net – 桌面应用程序中的WPF与Windows窗体
- Windows Server 2016-FSMO操作主机角色介绍
- 使用语义记录Windows Azure配置PartitionKey
- Windows-8 – 检查WinRT中项目中是否存在文件
- Windows cmd中拒绝访问.为什么?
- Windows中的文本编辑器是否有实时更新?
- Windows – 包刷新内容挂在联系主持人:elpa.gnu.org:80
- windows-phone-7 – Windows Phone 7上的MediaElement和AAC
- hyper-v – Windows可以跨域授权吗?
- windows-server-2012-r2 – 如何为Windows Serve
- windows – %?在REM语句中
- WPF窗口背景ImageBrush不平铺
- saltstack window下的发布回滚
- Windows服务 – Windows服务或计划任务,我们喜欢
- 是否*任何人*通过SASL / GSSAPI对Windows SVNSer
- compiler-errors – 错误:DEP0500
- windows-phone-7 – Windows phone中phonegap中缺
- 为Windows Mobile,Android和iPhone开发C#应用程序