软件为易我数据恢复向导V2.0,安装原版,先熟悉一下软件,发现点击注册后,填入信息,点击注册按钮后会弹出注册码错误的对话框,就从这里入手吧
用peid打开,显示编译器vc++6.0,无壳.
用od载入,查看所有模块间调用,找到MessageBox函数,有user32中的,mfc42中也有,这两种都设断点,跟踪步过,找到了调用注册码错误这个对话框的代码:
很好,单步往下走几步,注册名已经出现在寄存器窗口中.
00440F1E |. E8 FD480300 CALL DRW.00475820
这里跟进去看看.注册名和注册码都出现了,看来刚才是走对地方了.
继续往下走,到
00440F46 |. E8 A578FEFF CALL DRW.004287F0
进去看看,又有3个call:
经过第一个和第二个后,似乎第三个call是用注册名计算注册码的,进去仔细看看.里面好几个循环,一边单步走一边盯着看寄存器窗口,出现了” 00123456-cbe53fe9-"这样的字符串,
似乎是注册码? 先把它复制到记事本中.
最后strupr函数把小写转换成大写, ” 00123456-CBE53FE9-4F9820B3-C23E3BAA-79EA0E8C-",往下走几步,把最后的’-’去掉了,这样更像是注册码了.再走几步观察,他比较了输入的注册码长度后直接eax清0并返回.返回到proc1走几步就弹出错误的注册失败提示.
退出od,直接运行,用以上注册码注册,重启程序,注册成功.
附:
303hong
00123456-CBE53FE9-4F9820B3-C23E3BAA-79EA0E8C
ps:我是在校学生,非计算机专业.这学期有微机原理这门课程,第一节课老师说这门课是搞逆向破解和写病毒的基础,这给我很大兴趣.自学了3星期的汇编(课本还没讲到汇编这部分),在网上找了很多资料,发现pediy上有很多好东西,于是我想申请邀请码加入这个大家庭,一起学习进步,呵呵,
这是我第一次玩破解,愿意在这里和大家分享成功的喜悦.
[课程]FART 脱壳王!加量不加价!FART作者讲授!