eumnq8 发表于 2021-3-2 09:38:49

利用frida手动破解AgileDotNetRT.dll最新版混淆加密

本帖最后由 eumnq8 于 2021-3-2 09:39 编辑

背景:
1、被混淆加密的C#程序,界面的事件方法都被抽取为空了。通过dnspy查看方法,只剩一个ret
2、AgileDotNetRT加密原理,把这些事件的ILCode全部抽取出去,加密存储在AgileDotNetRT.dll或者AgileDotNetRT64.dll中。
3、程序启动的时候,通过AgileDotNetRT.dll hook住JIT的compileMethod方法,运行时解密替换IL代码,让jit机制生成nativecode。加大破解难度。

解决思路:
1、本来以为de4dot可以搞定,不过貌似最新版Agile不行。只能自己手动分析。
2、hook住compileMethod方法,把一个个被偷走的ILCode,找回来,通过dnspy编辑IL修补回去。

解决方法:
直接上frida hook代码
1、修改代码中‘EC模块反编译工具.exe’为自己目标exe名字
2、运行目标exe
3、pycharm启动脚本。不出意外,会看到4个地址。
4、操作界面上按钮,第一次触发的时候,pycharm控制台就会打印出被还原的ILCode和ILCodeSize
代码下载:
**** Hidden Message *****

总结:
理论上可以通过frida脚本写出全自动脱Agile壳脚本。


微信用nnoY40 发表于 2022-1-19 20:15:12

感谢lz分享了

微信用7e2Q96 发表于 2022-1-26 20:31:55

谢谢分享!!!

kk00111 发表于 2022-1-26 21:48:39

我来康康,支持一下,666666

kk00111 发表于 2022-1-28 13:27:48

谢谢!谢谢!谢谢!

xhxdkj 发表于 2022-2-10 09:08:19

谢谢分享!!!

微信用4BGI81 发表于 2022-3-9 19:33:47

谢谢分享!!!

微信用4BGI81 发表于 2022-3-9 19:34:31

谢谢分享    !!!!

deepblue2022 发表于 2022-6-4 10:27:33

npm install frida
谢谢分享!!!

微信用LKUM19 发表于 2022-7-29 22:21:55

谢谢分享
页: [1] 2
查看完整版本: 利用frida手动破解AgileDotNetRT.dll最新版混淆加密