一个.Net程序的修改录像(来自悬赏区)
软件来源和帖子:https://www.52hb.com/forum.ph ... 20&page=2#pid216093修改后
视频链接:
**** Hidden Message *****
日志记录:
启动程序,输入任意注册码,提示注册卡错误。
提问问题的兄弟已经分析到了注册的关键位置,既然程序没有做混淆,那么我们就直接启动.NET反编译软件.Net Reflector
打开目标EXE,然后找找关键。
我KAO,虚拟机下,这个工具输入汉字就直接死了,不输入了,这里应该输入错误的注册卡那个提示信息去找。
注册搜索的时候,要看我刚才鼠标的选择,就是search string ...........
找到两个包含注册卡字样的,看看这个q,b,分别双击看看。
看到C分支下的q,K分支下的b都是一样的注册代码。
RSAKeyValue看到这里就知道是RSA算法,不知道私钥,就放弃做注册机吧。
如果单纯的修改注册,那么程序可能还会有其他地方检测,那么我们看看到底未注册是怎么判断的,然后考虑如何下手。
可以看到,未注册字样在c的k分支里,双击过去看看代码。
if (File.Exists(l.b))
得存在注册文件,然后RSA解码判断注册是否正确,这里既然没有KEY文件,放弃修改这里,反正程序找不到KEY文件就调走去下面了。
有文件存在的时候,如果解码出来的数据和机器码相同,那么就是注册版,他设置个标志。
if (this.c.Text.Equals(str2))
{
this.bk = true;
}
this.bk = true;
那么继续往下看
if (this.bk)
{
this.af.Visible = false;
this.ae.Visible = false;
this.ap.Visible = false;
this.ag.Visible = false;
this.ah.Visible = false;
flag = true;
}
如果结果是true,那么就隐藏掉输入注册信息,注册按钮等控件。
bool flag = true;
if (!flag)
{
new k(this).ShowDialog();
if (!this.bk)
{
Environment.Exit(0);
}
else
{
this.af.Visible = false;
this.ae.Visible = false;
this.ap.Visible = false;
this.ag.Visible = false;
this.ah.Visible = false;
}
}
else if (flag && !this.bk)
{
this.Text = this.Text + "- 未注册";
new Thread(new ThreadStart(this.j)).Start();
}
看这里,还是有个flag的判断,才会出现未注册字样,那么我们看看这两个地方是怎么来修改的。
我们修改测试看看效果。
既然注册正确才是this.bk=true,下面判断如果是的话,就隐藏按钮和输入框,那么我们修改下下面的判断,让程序做如果不是true就隐藏。
修改brfalse.s为brtrue.s,然后保存出来看看程序运行结果。
可以看到输入注册信息那里的控件都看不见了。主窗体上还是显示未注册,因为那里的判断我们还没修改呢。
继续修改下面的未注册的判断,让程序启动后就认为是注册版本。
因为这程序不会用,所以在论坛提供给提问题的伙计测试,说功能限制去掉了,那么就认为这样修改了未注册的判断后,程序限制就去掉了吧。
flag && !this.bk
要求两个条件同时程序还是一个存在,具体我忘了,那么我们只需要处理这个!this.bk好了。
修改brtrue.s为brfalse.s,然后保存出来看看程序运行结果。
好了,目前看看,应该是可以了,不过这次的修改和我传到论坛的附件不同,还请提问题的兄弟测试结果是否正确。
修改.NET程序的思路,就是考虑如何修改程序的验证,很多验证是brtrue和brfalse的处理判断使用Reflexil插件可以去定位代码,至于如何快读定位过去,就需要多多的去猜测,修改错了,就刷新重新修改,多做多总结就有了。
好了,简单的处理下这个问题,录制个视频,如果逆向结果不好,还请多多体谅与反馈,这里只是给大家一个简单的思路。
OVER
赶紧抢个沙发,前排支持VIP{:5_116:}
抢个前排!!!
沙发就这样被老大抢走了!
Shark恒 发表于 2015-5-8 21:21
赶紧抢个沙发,前排支持VIP
胡乱修改录制了下,等有空了,仔细录制几个软件的分析。
这个录像就是单纯的修改而修改了。
非常感谢大神的帮助!
vipcrack 发表于 2015-5-8 21:27
胡乱修改录制了下,等有空了,仔细录制几个软件的分析。
这个录像就是单纯的修改而修改了。
非常期待,么么哒~
{:5_116:}感谢VIP师傅帮忙解决问题
{:5_116:}学习net程序的逆向
学习一下思路