orachard 发表于 2017-6-14 17:09

XXX文件搜索软件的一个算法分析

本帖最后由 姐又寡闻了 于 2019-6-6 22:35 编辑

根据 http://www.52pojie.cn/thread-595258-1-1.html 作者ZF0806https://attach.52pojie.cn/common/ec/common_3_verify_icon.png https://attach.52pojie.cn/common/a8/common_4_verify_icon.png,在次贴中,作者仅仅只是搞了爆破,下面我对该软件的算法进行以下分析

首先也是载入OD,通过OD智能搜索,查找


然后在该处


下断点,开始运行软件随机输入注册码


点击注册,就会断到上图红箭头处,然后开始单步执行,对每个过程进行分析,其中


这里每一句都是关键点,这里每个跳转都调到注册失败的CALL,那么全都NOP肯定就注册成功了,但是,我现在不修改软件,只对每一个比较进行详细分析,如下
004050D1   .807C24 0C 41cmp byte ptr ss:,0x41   
004050D6   .0F85 13010000 jnz 文件搜索.004051EF
这里不跳转,那么esp+0xC对应的数据必须要等于0x41
004050DC   .8A4424 0D   mov al,byte ptr ss:
004050E0   .3C 41         cmp al,0x41
004050E2   .0F8D 07010000 jge 文件搜索.004051EF
这里不跳转,那么esp+0xD对应的数据必须要小于0x41
004050E8   .8A4C24 0E   mov cl,byte ptr ss:
004050EC   .3AC1          cmp al,cl
004050EE   .0F8D FB000000 jge 文件搜索.004051EF
这里不跳转,那么esp+0xD对应的数据必须要小于esp+0xE
004050F4   .3A4C24 0F   cmp cl,byte ptr ss:
004050F8   .0F8E F1000000 jle 文件搜索.004051EF
这里不跳转,那么esp+0xE对应的数据必须要大于esp+0xF
只有满足上述4种情况才能实现注册成功


其实上述4个地址,通过OD分析,你会发现,这4个跳转其实就是对你的注册码的前4位的一个分析比较。总结就会发现,注册码第一位必须是A,第二位只要比0X41(对应ASC码为A)小即可,第三位大于第二位,第四位小于第三位,只要你按照这个方法随便输入都能注册成功,今天的算法分析就到这里,高手请飘过,我也只是一个初级菜鸟,请大家多多指教。

orachard 发表于 2017-6-14 17:17

另外,补充一点,就是该软件会在C盘,生成一个135.txt的文件,该文件主要用于识别是否注册。

梦入神机 发表于 2017-6-14 18:02

喜欢分享破解经过的文章

daocao 发表于 2017-6-14 18:09

感谢分享~~~~~~~~~~~

q3592984 发表于 2017-6-14 18:15

感谢分享。。。。。。。。。

wuhua2009 发表于 2017-6-14 20:59

觉得楼主这一分析真的是精华啊!

千里千寻 发表于 2017-6-14 22:00

吃经验卡

byh3025 发表于 2017-6-14 22:17

羡慕会算法的高手

御膳 发表于 2017-6-15 17:06

不错,支持。

soioi2003 发表于 2017-6-15 19:27

在那个如此好用的软件还是值得大家学习。
页: [1] 2
查看完整版本: XXX文件搜索软件的一个算法分析