我想知道是否有可能使用windbg在内存进程中注入二进制文件?在进程上挂接windbg,以潜在地替换原始二进制文件的指令,或者添加要由该进程运行的其他二进制文件指令?(以及注入dll?)有没有可能编写这个脚本?
基本上,我想知道使用windbg可以对一个进程做多少工作,以及可以修改多少进程。(从技术上讲,我可以使用windbg将整个二进制文件及其dll映射到现有进程中吗?)
发布于 2012-06-19 14:12:47
使用windbg挂接进程,您可以修改该进程拥有的几乎所有内存,例如,指令、堆栈、堆内存等。
发布于 2012-06-19 14:58:51
我还没有尝试过,但理论上它是可能的(至少是你所要求的一些)。
您可以存储当前的指令,通过调用LoadLibrary重写它们,并将您的DLL名称存储在堆栈中。加载DLL后,您需要恢复重写的指令并执行它们(或者您可以在windbg中手动执行这些指令所做的操作来模拟它们)。
你也可以编写windbg的扩展来做一些复杂的事情。
发布于 2012-06-22 05:23:04
你可能甚至不需要WinDbg来做这件事。你可以做一些类似的事情:
使用VirtualAlloc
WriteProcessMemory
OpenProcess CreateRemoteThread来执行代码,以获取目标进程中的一些内存的句柄
https://stackoverflow.com/questions/11095242
复制相似问题