伊欧 (@langyo)以 Rust 对 Windows 程序注入 Hook 的方法 中发帖

有关以 Rust 语言进行各种逆向注入的研究,我断断续续拿零碎时间研究了一年,现在总算拼凑了些成果可以讲讲。这篇文章之前是专门写出来保留 52pj 账号的,不过现在考虑了一下,也许投到这里也没啥问题,就先发了。 
Rust 是一门十分讲究安全的语言,看起来它与逆向工程这种听起来就很不安全的事情似乎有些水火不容,以至于我第一次向他人提出这个想法时,大家的反应基本是不太接受的。不过比起拿 C++ 做,Rust 有个很大的优势是很容易做工程——C++ 的生态过于离谱,IDE、编译器、链接器和依赖库全都不在一个阵线上,相比较而言 Rust 就方便太多了。
碎碎念完了,下面就大概讲一下思路吧。
以下过程的最终代码存放在了我的 Github 仓库。
1. 准备一个用于注入的 DLL
为了能侵入修改我们要改动的目标进程,我们首先需要制作一个动态链接库(DLL)。这个 DLL 会被注入到目标进程的地...