一别两宽丶 发表于 2019-7-30 03:55

某USB数据恢复软件详细追码过程

老规矩查壳,显示VC++9.0无壳程序。直接丢OD了


先切换到英文吧,发现好多英文的切换到中文什么都搜不到

随便输入,看看有什么突破口

字符串最直接最有效,智能搜索“sddress”吧

什么都没搜到,既然是VC++那就使用按钮事件吧,特征码还记得吧sub eax,0a


结果是按钮事件不能用,下一个就找不到了。然后既然它是对话框,那就下messageBoxA,还是断不下来A/W都用了还是断不下来

那就无脑全部下断对话框API断点,反正它是对话框,就不信断不下来。

结果可想而知,无差别杀伤,各种断。刚把程序切出来就断了下来,显然这不是我们想要的断点,取消它,让程序继续执行

取消后再次运行,点了注册断下来了。重点来了,既然断下来了,那就回溯吧

回溯第一次发现并没有跳转跳过它

继续回溯,第二次好多了跳转,经测试这里不是核心

接着F8发现程序运行了,点了确定断下再次F8单步,感觉越来越接近真相了,出了这个call应该就是核心地带了。

F2段首下断,重新点注册

再次注册,果真程序断在段首。那就F8单步分析它吧


这个判断应该是判断邮箱不能为空

这里应该是判断注册码不能为空

这个判断就是刚才提示我们邮箱不正确的地方了,我就要用“一别两宽”,所以给他jnz改jmp无条件跳转

都通过了,剩下应该就是对比注册码了,注意观察寄存器窗口和堆栈窗口

出现了一个疑似注册码的数组。继续F8又出现一组。统统复制下来,备用

再向下单步就是注册失败提示了

那就测试下那一组才是真正的注册码吧。我用的不是邮箱,所以没退OD方便调试,是邮箱的可以直接退出OD了。实在不行把判断邮箱的jnz改成jmp直接保存无论是不是邮箱他都不会再提示不是邮箱格式了

第一组失败。

第二组成功注册。
关闭程序再次打开注册和购买的按钮都消失了。

至此,价值39.99美元的USB数据恢复软件追码完结,约合人民币275元{:301_997:}
附上程序链接http://一别两宽amazing-share.com/usb-flash-drive-recovery.html删除文字即可


有兴趣的可以做下内存注册机{:301_998:}






                                                                                              END
















zch11230 发表于 2019-7-30 11:15

小白心里苦啊。
经常看到的教程都是,我们查找命令 xxx:为什么要用这个命令查找。不知道。。。。
然后我们找到了XXX,这一看就不对,下一个:我也不知道对不对啊,我看着都一样。
没理解到精髓,按教程来对同一个软件确实有用,换个软件就不通用了。

无闻无问 发表于 2019-7-30 12:16

本帖最后由 无闻无问 于 2019-7-30 13:05 编辑

这个软件厂商有点强悍,好多软件,各种转换与恢复软件呢?但奇怪的是,防范逆向的措施是否不到位?是不想防?还是故意不防?:lol
https://static.52pojie.cn/static/image/hrline/1.gif
https://static.52pojie.cn/static/image/hrline/1.gif

这个软件,用暂停法要快些,在输入假码后,弹出错误对话框后,直接暂停。

然后堆栈往下找,一下就可定位关键判断函数0x00453490……

下断后,单步跟不了多久,即可追到真码……

Jivian 发表于 2019-7-30 04:45

学习了,感谢楼主辛苦劳动,受益匪浅^_^

yujie0880 发表于 2019-7-30 05:31

谢谢分享的追码技术~!!

axc156123 发表于 2019-7-30 06:24

zw5200520 发表于 2019-7-30 06:24

学子了 看上起有点复杂啊

qdmjf 发表于 2019-7-30 06:31

膜拜,学习一下

yz1207712077 发表于 2019-7-30 06:47

大神,感谢分享

lulang77 发表于 2019-7-30 06:59

高手啊,啥时才有这技术{:1_893:}

l441669899 发表于 2019-7-30 07:07

感谢楼主分享!

asiafox 发表于 2019-7-30 07:21


谢谢分享的追码技术~!!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 某USB数据恢复软件详细追码过程