新手破解练习Crackme160之002 - Afkayas.1
-
暴力破解, 这个程序破解比较简单, 直接搜索错误提示"You Get Wrong"在004025E5处,向上就可以马上找到了关键跳0040258B, 双击这行或直接在这行按下del键改为nop(如果想撤回修改, 则在这行(也可以同时选择多行)右键->撤销选择处修改)让程序直接执行成功分支, 保存搞定~
-
正常破解, 尝试破解系列号, 随便输入一组用户名与系列号 用户名: abc 系列号: 123, F8单步跟踪, 00402412处读取用户名
0040243F处函数通过用户计算正确的系列号, 即运行到00402445, 可得到一个值 "292690", 继续F8单步执行
到00402510时, 发现程序开始读取系列号了, 0040251D处有一个固定串"AKA-", 先记录起来,
到0040252B时, 得到了最终真正的系列号"AKA-292690", 说明是上面通过用户计算出一个值, 然后再前面拼上固定串
组成真正的系列号, 然后与输入的系列号对比是否相等,
我们拿abc 与 AKA-292690输入验证是否正确, 结果是正确的,
到此, 系列号也破解成功, 具体算法如果计算还没能力破解
目前是 输入用户名, 随便的系列号, 然后在0040252B处断点通过程序自身便可获取正确的系列号
下面我们来做算法分析:
1). 取长度 edi = len(user) * 0x17CFB
2). 取出第一位 edi = edi + user[1]
3). 转10进制 与 固定串 AKA-拼接
即, 系列号 = "AKA-" + (0x3 * 0x17CFB + 0x61) = "AKA-292690"(这里我是用系统的计算器程序员模式直接计算16进制的, 后面很多地方都会用到计算器_所以我是一直开着不关的, 经常会用到16进制与10进制的转换与运算), 由算法可知, 系列号只跟长度与第一位有关, 第二位以后均可任意值, 就是 系列号: "AKA-292690", 对应的用户可以是"a??"的无数组答案
1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载
新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~
下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~


浙公网安备 33010602011771号