.net Reactor(6.X)脱壳后,用dnSpy保存无法运行
本帖最后由 xujidejia 于 2024-7-9 11:36 编辑求助大神们,我在论坛学习.net的程序逆向,发现是用了保护器: .NET Reactor(6.X)
,
我用NETReactorSlayer解开后,在dnspy中也知道了关键信息,但是保存模块后,运行提示索引超出范围,必须为非负值并小于集合大小,参数名:index,就算是不修改,dnspy保存后也这样,这是没脱干净吗?我在论坛的.net逆向中找了看了很多也不知道,请大神解答下。我把原始文件和脱壳后的文件上传到来了网盘中。
> 还有更好的脱壳工具推荐吗?
免费的工具就这个最强了
> 但脱完壳是可以运行
保存文件时保留元数据标记就可以运行,你这个文件有60多个函数被虚拟化了,如果你不需要查看和修改这些函数,可以保留元数据勉强用用。
但一般来说虚拟化的函数都是比较重要的函数,不然开发者也不会选择对这些函数进行虚拟化,如果要查看或修改这些函数,就必须要反虚拟化。
修改后不能运行的原因是NETReactorSlayer不能反虚拟化,例如:
这是NETReactorSlayer生成的结果:
反虚拟化后:
简单地说,NETReactorSlayer脱壳不彻底,只要彻底脱壳了,就可以任意修改 修改前和修改后的图得有吧 ppszxc 发表于 2024-6-16 11:44
修改前和修改后的图得有吧
上面有下载地址,脱壳以后是可以使用的,但是用dnspy不修改保存出来的都不能用 修改了可以保存,换个dnSpy试试吧 ppszxc 发表于 2024-6-16 12:04
修改了可以保存,换个dnSpy试试吧
保存出来的程序,运行就提示运行提示索引超出范围,必须为非负值并小于集合大小,参数名:index ppszxc 发表于 2024-6-16 12:04
修改了可以保存,换个dnSpy试试吧
就算不修改,直接冲dnspy中保存模块出来都不可以运行,奇怪了
保存是能保存,不过你就一个dll,能不能运行天知道 艾莉希雅 发表于 2024-6-16 14:39
保存是能保存,不过你就一个dll,能不能运行天知道
https://wwb.lanzn.com/iv4PF21z7zne,这里有其他文件,需要挂载在CAD中运行 ppszxc 发表于 2024-6-16 12:04
修改了可以保存,换个dnSpy试试吧
https://wwb.lanzn.com/iv4PF21z7zne,这里有其他文件,需要挂载在CAD中运行,测试了,不是dnspy的原因,导出来以后就不能运行了,