2011-06-06 65 views
3

我见过几个网站在谈论注入DLL的问题(比如http://www.codeproject.com/KB/DLL/DLL_Injection_tutorial.aspx),但我正在努力如何让EXE工作。任何帮助/提示将不胜感激。你可以使用python将代码/ exe注入到进程中吗?

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

+4

您可能先从描述您要解决的问题开始。一般来说,将一个完整的EXE“注入”到另一个进程是不可能的,特别是不能用于Python。可能有更好的方法来做你想做的事。 – 2011-06-06 01:01:37

+0

我的理解是,可以在一个进程中替换一个函数指针,以便在内存中的其他位置引用一个函数。此外,我的理解是,现代操作系统通过内存访问控制通常禁用了此类功能。 – motoku 2011-06-06 01:28:19

回答

1

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

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

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

0

你说的是在Python中用更多的东西重新实现UPX。 您需要执行的操作: 将所有VirtualAlloc调用更改为VirtualAllocEx调用。 将所有Loadlibrary调用更改为loadlibraryEX调用。 实施搬迁修理。

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

相关问题