ahqyhy
孤星如晨
采纳率60%
2019-08-19 13:30 阅读 595

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

5

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    hxycsdn9159 hxycsdn9159 2019-08-20 17:22

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

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-08-19 23:56

    很久以前看过罗云彬的win32汇编程序设计,配套的源代码中有这个例子,你找找。

    点赞 1 评论 复制链接分享

相关推荐