新手破解练习Crackme160之147 - tc.13

IDR查看事件入口地址为00441908, OD对应下断点输入伪码开始单步分析算法之旅
1). 判断用户名和系列号长度是否相等(在004419B5方法里面的再一层子方法004418FF里面的004418B9处)
2). 004419ED ~ 00441A17 循环计算用户名与系列号 for(i=0;i<len;i++){ sum += ser[i] - (user[i]+3); } 结果存在[0x443840]
3). 00441A19 判断eax + 3 是否等于 eax (这是什么操作呢) 此处无用
4). 00441A1E 判断 2)的计算结果是否为0
5). 00441A27 如果上一步不为0, 则这里将所有变量清空, 退出程序 (004417E4这个方法就是清空
6). 由上一步分析可得系列号是用户名每一位+3, 即如果用户名是123, 那系列号则为456, 所以我们输入用户名:123, 系列号:456, 注册码随意, 重来, 成功进入00441A31,
7). 00441A59 子方法与3)同一个, 无用操作
8). 00441A74 判断用户名与注册码长度是否一致, 不一样就结束
9). 00441A8E ~ 00441AC9 循环计算用户名与注册码for(i=0;i<len;i++){ sum += code[i] - (user[i]-3); } 结果是否为0, 到此算法就水落石出了, 系列号的每一位比用户名的每一位大3, 注册码的每一位比用户名的每一位小3, 这个就不需要写注册机了, 位数不限, 1位以上都可以
示例1: 456, 789, 123
示例2: def, ghi, abc
示例3: UVW, XYZ, RST

 
 
 
这是160个软件part1
这是160个软件part2

1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-08-08 13:53  hankerstudio  阅读(12)  评论(0)    收藏  举报