易语言用F12和00401000两种方法解密及相关心得分享
本帖最后由 hktkzyz 于 2015-3-11 21:12 编辑看了恒大最后一讲“秒杀易语言”后,颇有心得,找到一个实例,与大家分享:
(大家搜索“00401000方法逆向”,即能在某论坛找到该帖子,软件也在帖子里,为了不引起麻烦,链接我就不贴了。)
一、00401000
1、运行,ctrl+g:00401000。
2、ctrl+f:test edx,3
3、
在这个命令处下断,输入假码,注册,断下。。。。。至此,与恒大教程完全相同。可是寄存器里没有真码呀!!!
其实这个就是某论坛帖子中楼主所提的问题,下面我们来想办法解决.....
(目测不存在真码,或者很难算出,所以,这里来爆破)其实走到这步,我也很没头绪,那就硬着头皮F8吧,,,,感觉乱七八糟的,也看不懂,不管了,按住F8不撒手了。。。
阿欧,程序终于停下来了,让这个call搞出一个错误弹窗,哈哈,找的就是你。
从图上可以看出来,马上接近段尾了,按我的习惯,从下往上找 “跳入”。
不好意思,截图箭头标错了,这个“跳入”应该是上面jmp那行00461493。
好吧,找到了“跳入”我们就找“跳转”,右键,转到,最下面,有两个,明显不是那个je,因为je在刚才弹窗call的下面,所以选那个jmp。
那位说,jmp不是硬跳吗?当你看到jmp这行下面那个“跳入”右箭头时,你应该明白怎么回事了吧....
00461409由004613D2跳转。。。。。004613D2是jnz。。。。。
相信我不用再说什么了。。。。
二、暂停法
其实我始终觉得我刚才那样按F8很笨。我想到了F12,下面我们来试试:删除udd,删除所有断点。重载。运行,输入假码,注册,弹出错误窗口。暂停,ALT+K。
看到 对话框。双击找到调用:
额,,看起来有些麻烦呀。。。下断,重载,假码,注册,OK,断下来了。
老规矩,堆栈窗口,反汇编跟随。
额,怎么还是系统中。。。不管了,段首下断,重载,假码,注册,OK,断下来了。
老规矩,堆栈窗口,反汇编跟随。
终于进入程序了呀。赶紧在这来一个断。,重载,假码,注册,因为之前有断,所以会断掉,所以遇到之前系统领空中的断,直接F9,弹出弹窗后,按确定按钮,成功断在程序领空下。往下观察了一下,也接近段尾,而且下面的“跳入”没有一个能包括断点上面那个call(就是那个 错误对话框的call,我们就是从这个call跳出来的),所以目测现在在一个子call下,我们直接F8走完这段。。。。我们被retn两次后,来到了这里:
哦,mygod,和之前一样了,剩下的就和第一种方法里最后一样了。。
三、一字节
这是人家的答案,将1改成0,又是汇编,小白我讲解不了了。
全部完毕。
擦一下汗,纯属小白啰嗦,老师们略过。
各种问题,还希望大家指出,也能促进学习。
谢谢。
{:5_116:}难道是沙发
来晚了,抢个板凳吧!
有可能真码 加密{:5_124:}
不知道是不是网络验证啊,如果是网络验证没有真码不是很正常么
不错,期待完成,加油!
虽然网络验证这种方式不实用,但是可以当作一个思路学习。
现在就使需要思路的时候,希望楼主能创新
谢谢分享恒大的易语言教学心得~又多学一种思路了~
楼主很厉害嘛
老兄怎么跳过对话框?