孤星如晨 2019-08-19 13:30 采纳率: 33.3%
浏览 820
已采纳

向别的进程注入汇编代码并运行

如题,本小白大致知道注入dll的几个步骤,首先获取进程句柄,申请内存空间,然后利用WriteProcessMemory将dll的名称写进去,然后利用CreateRemoteThread创建一个进程去执行它,如果想注入的不是dll而是一些汇编代码,应该怎么写?请教各位大神

  • 写回答

2条回答 默认 最新

  • hxycsdn9159 2019-08-20 17:22
    关注

    第一种也是最好的办法是使用裸函数将你的汇编代码注入,其实就是inlinehook技术。步骤是:1.将你的汇编代码写入裸函数并且封装为dll 2.将你的dll注入到宿主进程 3.对你注入的dll中的裸函数进行调用。 第二种你也可以直接去WriteProcessMemory,除非你对汇编特别熟,否则不建议用,因为哪怕你写错一个字节及也会将宿主进程毁掉 这种方法:1.将你的汇编代码转换成对应的机器码,X86和X64是不同的,然后在内存中找到正确的相对模块基址的偏移,然后将你转换的机器码直接通过WriteProcessMemory写入修改掉目标进程就可以了。 其实第一种方法和第二种方法的本质是一样的,但是第一种方法是由编译器帮你做了机器码的转换以及地址偏移的计算。所以建议使用第一种方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?