概述
计算出来的序列号只能用一段时间就失效,原因是每次010Edit联网是会通过官网验证我们的序列号,因此要实现完美破解,我们还要分析一下网络验证.
分析思路
联网- 输入计算出来的序列号- 定位到核心代码,一路跟下来,直到无效字符串或者成功字符串注册问题
问题:会出现这种情况,就是网络验证不通过
根据算法计算出来的序列号是对的,那么为什么不能注册?
我们看提示:他提示我们输入了一个无效的license,如果确认license是正确的,请联系官方人员.我们可以有一个猜测: 序列号分两种: -
被人买过的,官方收到钱了,序列号数据库备份-
没被买过的,那当然是无效的了,也可以说是没被激活的了 我是试出来的,毕竟admin这个用户名比较大众
分析过程
输入正确的序列号后,联网我们会发现第二个函数并没有返回DB,所以猜测网络验证在第二个关键函数内 分析第二个关键函数,刚进去会有一个标志位的判断,如果不成功直接返回0x113,函数返回后还要验证一次标志位,紧接着执行了一个函数,我们猜测这个函数应该就是网络验证了
总结: 一直到最终跳转到验证成功字符串,一共三次标志位验证,一次网络验证函数验证 去掉网络验证: - 修改标志位 判断后条件跳转改为JMP- 修改sub_004023A1网络验证函数,让返回值恒定为1(原理和暴力破解一样) mov eax,1 ret 8<br />
网络验证破解成功