createremotethread
API执行DLL注入。 DLL已加载,代码已成功执行。 我希望注入的代码修补可执行文件,以使其挂钩某些API调用。最终,我想找到代码陷阱,但目前我只是分配虚拟内存(
virtualalloc
)。我想仅使用Python来执行此操作。这可能吗? 我想因为它可以用C语言完成,所以可以使用Python的C-Types完成。在我的研究中,我看到人们在某些方面使用
DiStorm
,但我还是想使用Python。我知道以前已经做过,但是我想将一些代码编写为学习练习。寻找方向,欢迎任何指导。#1 楼
请查看以下内容:PyDBG-它是Win Debug API等的python包装器。通过注册BP的事件处理程序,内存执行/读取/写入,堆栈检查等,该框架使人们可以从字面上检查正在运行的过程的各个方面。您可以在调试过程中更改所需的任何内容。
PyDBG的安装-有点陈旧,但可以为您指明正确的方向。 > WinAppDbg-python模块允许开发人员在Windows环境下使用Python快速编写检测脚本代码。方式,而不是手动进行,并将知识整合到脚本中。我曾经使用上述工具来解决您要解决的相同问题,我可以说这些框架做得很好。
首先,您可以BP所有内存分配,保护更改和释放API并检查这些缓冲区-(VirtualAlloc(Ex),VirtualFree,VirtualProtect)。此外,添加WriteProcessMemory并检查刚要写入其他进程(如果是恶意软件)的缓冲区。对于更高级的打包程序,您还可以检查* UnmapViewOfSection API。
评论
还要给github.com/Fitblip/vdb-fork一个外观,而不是PyDBG。
– Stolas
2013年9月2日在7:08
PyDBG很好,但是以某种方式已经过时了,vdb有点前沿,但是学习曲线很陡。在两者之间,您将找到WinAppDbg(上面已经提到的链接)。很好,该站点上的文档和示例将使您可以快速开始编写自己的脚本。
–卡洛斯·加西亚(Carlos Garcia)
2013年9月3日在8:04
这是vdb的更新链接
–viv
2013年9月3日在17:58
评论
在这里看看我的答案:reverseengineering.stackexchange.com/a/1981/245 ...如果您想修补可执行文件,我个人将通过注入的DLL来执行。但这是一个品味问题。即注入的DLL会完成所有修补工作,但要小心避免加载程序锁定带来麻烦(即不要在DllMain中使用LoadLibrary和好友)。我计划将代码修补在我注入的DLL的DLLMain中。感谢您的链接!