AHeadLib.Net 用C#重写的dll劫持生成工具
本帖最后由 db123 于 2024-7-15 16:22 编辑之前想用dll劫持的方式去学习一个软件,找了一圈发现了AHeadLib这个小工具,不过不管是论坛还是github上的工具其实都有各种各样的问题,主要有:
1. 不支持x64
2. 不稳定,崩溃
所以自己拿C#重新写了一个,基于 .NET Framework 4.7.2 和DevExpress,源代码和工具都放到了github上了,名字是:AHeadLib.Net
搜索该名字可以找到项目。
工具的特点就是直接为你生成打开就可以编译的C++ 项目,无论你选择x86还是x64都可以(需要Visual Studio 2022,如果没有,需要自行配置项目,参考生成的vcxproj修改即可)。
除了常规的函数跳转支持之外,还内置了一个简单的dynamic patch框架,通过在资源文件或者是外部dll同名配置文件中简单配置一下即可自动patch,无需额外代码,详细细节可以参考项目说明文档.
因为用到了DevExpress,所以包比较大,无法上传到论坛。所以百度网盘也传了一份:
链接: https://pan.baidu.com/s/1-I1KSWiB-HA6GXNLqQ7CMg?pwd=eh63 提取码: eh63
欢迎大家继续优化和改进。如有bug,欢迎提交Issues或者Pull Request。一些使用上的限制和测试用例可以在项目主页中找到。后续更新包就只发布在github了。 本帖最后由 wtujoxk 于 2024-4-4 12:17 编辑
Baymax、AheadLibEx都支持64位,并且都非常稳定,Baymax的功能大于AheadLibEx!
Baymax:https://www.52pojie.cn/thread-1879927-1-1.html
AheadLibEx:https://www.chinapyg.com/thread-146780-1-1.html 测试过,针对1个程序员是没有问题的
如果一个软件中有2个exe可能就报错,比如两个exe都调用了hid.dll,但是宿主没有调用劫持的dll时就会报错,或者2个exe都需要劫持,但是劫持的dll不是同一个,也会报错。这里我觉得应该判断下,宿主是否加载了某dll? xjun大佬的AHeadLib不错,支持x64,就是很久没更新了 wtujoxk 发表于 2024-4-4 12:12
Baymax、AheadLibEx都支持64位,并且都非常稳定,Baymax的功能大于AheadLibEx!
Baymax:https://www.52po ...
稳定最重要,感谢提供分享! 正需要,感谢分享~ 可以研究研究下,谢谢分享! 非常感谢您的分享 感谢分享,还有源码,可以研究下 学习一下,谢谢分享了 兄弟你好强