10 个不稳定版本 (3 个破坏性更新)
0.3.3 | 2022年12月23日 |
---|---|
0.3.2 | 2022年9月2日 |
0.3.1 | 2022年8月21日 |
0.3.0 |
|
0.0.4 | 2022年3月29日 |
#267 in Windows APIs
每月下载量 33 次
135KB
2.5K SLoC
此crate提供将DLL注入其他进程的功能。crate的大部分功能目前可通过[Injector]类访问。
您需要提供pid和一个要注入的dll。此crate将为您完成剩余的工作。
主要关注点始终是可靠地执行注入。如果您需要在32位下编译此库的同时将64位应用程序注入,请启用“x86tox64”功能。请注意,该功能使用位于ntdll.dll中的“非官方”API。Windows不保证技术兼容性。
如果您有任何关于改进此crate对外API的建议,请创建问题或PR。我还没有确定是否喜欢这种设计。
可能不会提供Linux支持。这非常困难且与平台相关,因为
- 我们需要将原始机器代码/shellcode写入目标进程。
- 然后它有必要的代码来加载.so文件
- 我们需要以某种方式重定向目标程序的执行,以执行我们的代码
- 我们需要这样做,而不破坏程序代码的任何部分
- 我们需要返回操作之前的确切状态,因为其他程序可能需要它
如果这个库应该是有用的,我希望不需要以root权限运行它。不幸的是,某些步骤涉及调用ptrace。如果这不是您要跟踪的进程的父进程,则对命令的访问受限。这些要求意味着我们只能将so文件注入到由这个库本身创建的进程。
依赖
~0.6–1.1MB
~17K SLoC