破解软件注册码的一般思路,这里以一个简单的易语言编写的程序来说明
首先我们来了解一下这类程序的流程
程序的验证流程:
1、点击注册按钮
2、读取注册码
3、判断注册码是否合法
4、提示用户是否注册成功
我们只需要定位到关键破解位置:
关键点:判断注册码的位置
爆破:对程序流程修改,让程序判断失误(随便输入)
首先来看一下这个程序,输入错误,提示注册失败,正确,提示注册成功
第一种方法:
查找对应的api,因为这个程序弹出了一个窗口,所以我们可以知道调用了GetWindowTextA这个api,通过搜索这个api,在这个地方下断点,然后进行单步调试,寻找关键点(jmp等大的跳转、cmp比较等)
第二种方法:
使程序完成注册这个过程,然后在内存中搜索出现的字符串,然后下断点或择硬件访问断点,再次运行运行程序,然后单步调试
第三种方法:
直接搜索字符串,但这种直接让你搜索到关键字符串的方法一般不行,然后下断点单步调试,寻找关键点