NET Reactor 4.8去混淆问题
某.net程序查壳如下:尝试着用de4dot-mod-reactor 4.9去混淆,可以放到反编译器里面了查看了,但是混淆却没有去除,查看的都是乱码。如下图:
所以接下来, 要如何处理掉混淆呢??用什么工具或是方法? 求各位高手指点。谢谢。
上传下这个net程序。http://pan.baidu.com/s/1gf7BE2B
菜鸟中的菜鸟 发表于 2016-6-29 13:23
好像你的也没有去混淆成功吧。类名和函数里面的代码都是正常的不??楼主可以看看你的“未注册”处 ...
我的是这样,其实这样就是已经去掉混淆了。至于你改了这个函数的返回值导致程序打不开,或者闪退,是因为启动的时候,他会验证时间什么的。如果成立,就直接关闭程序。你在J2h这个函数里,下个断点调试下就知道为什么会退出了。
exe都玩不转。NET我还是不看了
这样算么?
Bu弃 发表于 2016-6-29 12:47
这样算么?
666
500到手{:6_201:} 本帖最后由 Bu弃 于 2016-6-29 13:32 编辑
不知道有没有功能{:6_218:}
测试发现还是有点问题的
zby03772015 发表于 2016-6-29 12:53
666
500到手
师傅教的好{:6_197:} Bu弃 发表于 2016-6-29 13:05
师傅教的好
好像你的也没有去混淆成功吧。类名和函数里面的代码都是正常的不??楼主可以看看你的“未注册”处是否和我的一样?如果代码一模一样,说明没有去混淆成功。
如果是很清晰的代码,应该就是成功了。。这个楼主应该可能看出来的。去混淆成功再逆向的话,应该好逆向。
但是如果你的没有去混淆成功,但是还能PJ掉,,,那我就晕了,我不知道你是怎么弄。。
public static bool J2h()
{
if (!C28.HasValue)
{
C28 = new bool?(B2x());
}
bool? nullable = C28;
if (!(nullable.GetValueOrDefault() ? nullable.HasValue : false))
{
return false;
}
return true;
}
如果是在未去混淆下修改,好像不成功啊,我测试了, 总是闪退,,看了一下,是改的不对,猜想是因为混淆了,所以导致修改失败。。
看判断条件,当Pdk.J2h()==0时,是未注册
public static bool J2h()
{
if (!C28.HasValue)
{
C28 = new bool?(B2x());
}
bool? nullable = C28;
if (!(nullable.GetValueOrDefault() ? nullable.HasValue : false))
{
return false;
}
return true;
}
这个让他直接返回true应该就是注册了,我试着改过了,但是一直出错,貌似不是改法有问题,而是我怀疑是因为没有去混淆成功,
所以改的没有成功,是混淆引起的。。。。我的修改方法如下:即直接返回true
本身逆向不难,难的是不知道怎么弄干净。。如果我上述有错误,请楼主指点。
Bu弃 发表于 2016-6-29 13:37
我的是这样,其实这样就是已经去掉混淆了。至于你改了这个函数的返回值导致程序打不开,或者闪退,是因 ...
嗯,跟踪了一下,时间上有校验,所以退出了。
if (expirationDate.Subtract(DateTime.Now).TotalDays <= -100.0)
{
base.Close();
return;
}
修改下就可以了。。。
但是我还是感觉这不是真正的去混浊。因为程序中的函数和类名什么的,不是正常的类和函数。。所以
应该还有什么方法可以处理下的,,,看来只有等高手指点下了。 菜鸟中的菜鸟 发表于 2016-6-29 18:01
嗯,跟踪了一下,时间上有校验,所以退出了。
if (expirationDate.Subtract(DateTime.Now).TotalDays
这已经去混淆了。不信你拖进die看看。
页:
[1]
2