你能用Python将代码/exe注入到进程中吗?

发布于 2024-11-13 05:49:45 字数 267 浏览 3 评论 0原文

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

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

I've seen a few sites talking about injecting DLL's (such as http://www.codeproject.com/KB/DLL/DLL_Injection_tutorial.aspx), but I'm struggling with how to get an EXE to work. any help/tips would be appreciated.

The best way I know how to explain it is "RunPE" where you execute an exe in the memory. Does that help at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

世态炎凉 2024-11-20 05:49:45

如果您询问如何将代码注入正在运行的 Python 进程,那么您想要的是 https://github.com /lmacken/pyrasite

If you're asking how to inject code into a running Python process, what you want is https://github.com/lmacken/pyrasite .

暮色兮凉城 2024-11-20 05:49:45

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

在低级别上,没有什么可以阻止您分配内存区域、在其中加载代码、将其标记为可执行。

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

You can use the Reflective DLL Injector as described here. Metasploit project uses it to load its meterpreter plug-ins. AFAIK this is the only way to inject a DLL, as MS officially does not support "injecting" from memory, only loading from file system.

On a low level, nothing forbids you from allocating a memory region, loading code there, marking it executable.

Note, that none of these techniques are Python specific or even Python related - it is a win32 problem.

绝情姑娘 2024-11-20 05:49:45

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

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

What you're talking about is re-implementing UPX in python with more stuff.
Things you would need to do in order to do this:
Change all VirtualAlloc calls to be VirtualAllocEx calls.
Change all Loadlibrary calls to be loadlibraryEX calls.
Implement the relocation fix-ups.

A better approach would probably be tweaking UPX to output a DLL instead of an executable. Then using some python DLL injection code to throw that into another process. You're going to be working with CTypes a lot if you want to do this. Fair warning...

只为一人 2024-11-20 05:49:45

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

I would recommend this book http://www.amazon.com/Gray-Hat-Python-Programming-Engineers/dp/1593271921 - especially the chapters on writing your own debugger, but it covers the metasploit and other tools as described above.

沙与沫 2024-11-20 05:49:45

要将共享对象(.so、.dll)注入任何进程,您可以使用 injector 和 C,或 pyinjector 与 python/shell。

要将 python 代码注入到正在运行的 python 进程中,可以使用 hypno

To inject a shared object (.so, .dll) into any process you can use injector with C, or pyinjector with python/shell.

To inject python code into a running python process, you can use hypno.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文