你可以用python注入代码/ exe进程吗?

时间:2011-06-06 00:56:35

标签: python memory process pid inject

我见过一些网站正在讨论注入DLL的问题(例如http://www.codeproject.com/KB/DLL/DLL_Injection_tutorial.aspx),但我正在努力解决如何让EXE工作的问题。任何帮助/提示将不胜感激。

我知道如何解释它的最好方法是“RunPE”,你在内存中执行exe。这有帮助吗?

4 个答案:

答案 0 :(得分:2)

如果您正在询问如何将代码注入正在运行的Python进程中,那么您需要的是https://fedorahosted.org/pyrasite/

答案 1 :(得分:1)

您可以使用此处所述的Reflective DLL Injector。 Metasploit项目使用它来加载其meterpreter插件。 AFAIK这是注入DLL的唯一方法,因为MS官方不支持从内存中“注入”,只能从文件系统加载。

在低级别上,没有任何东西禁止你分配内存区域,在那里加载代码,标记它是可执行的。

请注意,这些技术都不是Python特定的,甚至与Python相关 - 这是一个win32问题。

答案 2 :(得分:0)

我会推荐这本书http://www.amazon.com/Gray-Hat-Python-Programming-Engineers/dp/1593271921 - 特别是关于编写自己的调试器的章节,但它涵盖了如上所述的metasploit和其他工具。

答案 3 :(得分:0)

你所说的是用更多的东西在python中重新实现UPX。 为了做到这一点,你需要做的事情: 将所有VirtualAlloc调用更改为VirtualAllocEx调用。 将所有Loadlibrary调用更改为loadlibraryEX调用。 实施重新安置修复。

更好的方法可能是调整UPX以输出DLL而不是可执行文件。然后使用一些python DLL注入代码将其抛入另一个进程。如果你想这样做,你将会经常使用CTypes。公平警告......