vc 无dll的代码注入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc 无dll的代码注入相关的知识,希望对你有一定的参考价值。

要用vc++实现:
利用writeprocessmemory()把要在远程执行的代码写入到目标进程空间中,然后使用createRemoteThread()运行;
可以在指定的进程中(比如explorer.exe)中注入我想要它执行的功能;
这一部分代码要加入到我的工程中,作为我的程序的一个功能。
谢谢,如果好用分数加倍

writeprocessmemory()不能写入代码。使用writeprocessmemory()和createRemoteThread()只能进行DLL注入。如果要进行无DLL注入的话,就得在硬盘上打开explorer.exe文件进行写入再运行。 参考技术A vc无dll实现不了远程注入。因为重定位没办法解决。但可以用汇编来做。我空间有代码。你可以参考下。追问

这里的重定位好像利用的是kernel32.dll中的函数的位置,因为这里面函数的地址所有程序都一样。
应该是可以做的,麻烦您再想想?

追答

不是说kernel里面的函数,那个可以解决。比如说你自己程序中的变量,函数,这个是没办法定位的。除非用汇编进行相对位置转换。
一句话,以目前的技术看来,vc中不用dll是无法注入的。这是罗云彬老师说的。你可以试着内嵌汇编,或者直接用汇编写。你看我空间里对变量的重定位,都是用汇编实现的,vc根本完成不了。

以上是关于vc 无dll的代码注入的主要内容,如果未能解决你的问题,请参考以下文章

我在试着做一个木马Loader注入记事本然后CreateRemoteThread启动DLL 但是似乎注入成功,DLL没有启动

远程线程注入遇到的问题

MFC/VC++进程自我保护(通过远程线程注入或HOOK)

VC中如何得到某个进程使用的DLL文件?

安全之路 —— 无DLL文件实现远程线程注入

C# Dll 注入器、VB.Net Dll 注入器