加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.Net Reactor 5脱壳教程

发布时间:2020-12-15 06:52:59 所属栏目:百科 来源:网络整理
导读:今天别人发来一个.Net的DLL让我脱壳,第一步自然是先扔进de4dot 我这个de4dot 是集成了Ivancito0z / TheProxy / PC-RET 4.9mod / wuhensoft(5.0) 各大神修改的版本,无法脱壳,肯定就是新的reactor 5加的壳了。 我们加上 -v 参数显示错误 在解密资源的时候出

今天别人发来一个.Net的DLL让我脱壳,第一步自然是先扔进de4dot



我这个de4dot 是集成了Ivancito0z / TheProxy / PC-RET 4.9mod / wuhensoft(5.0) 各大神修改的版本,无法脱壳,肯定就是新的reactor 5加的壳了。
我们加上 -v 参数显示错误


在解密资源的时候出错了,我们打开de4dot的源码,找到报错的位置

懒的分析原因,直接注释掉,编译de4dot 后重新进行脱壳。

成功脱壳,打开看看

发现字符串未被正确解密。
我们再次解密:

命令行(用法和token获取具体参考de4dot帮助)

de4dot SixTow-cleaned.dll --strtyp delegate --strtok 0x060001BA -v


解密后发现字符串依然未解密,我们再回头看解密函数

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
[Class8.Attribute0( typeof (Class8.Attribute0.Class9< object >[]))]
internal static string smethod_10( int int_5)
{
if (Class8.byte_1.Length == 0)
{
BinaryReader binaryReader = new BinaryReader(Class8.assembly_0.GetManifestResourceStream( "pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO" ));
binaryReader.BaseStream.Position = 0L;
byte [] array = binaryReader.ReadBytes(( int )binaryReader.BaseStream.Length);
binaryReader.Close();
byte [] array2 = new byte [32];
array2[0] = 177;
array2[0] = 136;
array2[0] = 181;
array2[1] = 96;
array2[1] = 150;


解密是通过资源pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO 解密出来的,但是pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO在de4dot脱壳的时候清理了。

好吧,我们从原程序中将 pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO 提取出来,并加入 脱壳后的文件(如图)。

再次使用
de4dot SixTow-cleaned.dll --strtyp delegate --strtok 0x060001BA -v
进行解密


发现成功解密。脱壳完成(部分混淆是其它DLL中的,不在此文讨论范围)

欢迎指正。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读