文章目录
用到的软件
- OD
- PEID
- IPSearch
IPSearch下载地址
提取码:mf8l
查壳
拿到一个软件先去查壳,做好信息收集是重中之重!
这里提示这个软件没有加壳,这会节省我们逆向的时间。
查找关键字或断点
首先我们打开软件——File——Register,来到它的注册界面
然后随便输入几个字符,看看它返回的关键字是什么。
这就是它返回的关键字,这对我们后续的您破解很重要。
把软件拖到OD里面,Ctrl+g 输入:00401000,这是所有程序起始的地方,从这里查找关键字会更全。
接着查找一下ASCll码。
Ctrl+f搜一下报错返回的关键字,然后双击点开关键点。
寻找关键跳或关键Call
从关键点往上看,发现有一个很长的jnz跳转。
在jnz处按 F2 下个断点,运行下看看什么情况。
发现当输入Name和Code后,点击注册时程序就不运行了。
其实到这里我们就一已经拿到注册码了,这段jnz程序的意思是,如果输入的Code与程序中的一致,它就不跳,否则相反。
然后从这个jnz跳点往下单步,发现有一个je跳转,这个跳转的意思与上一个jnz相似,同样也是核对一下Code,相同则不跳,不相同则跳,如果我们让他不跳,那么就会输出“注册成功”,那么毫无疑问,这里就是我们要找的关键跳。
我们在je处下一个断点,与运行注册一下。
完成注册
程序在运行到识别Name与Code的环节停住了,也就是说,这里的这个je,就是一个if else语句(其实我感觉它与上边的jnz是两个if嵌套在了一块…)我们只需要把这个语句NOP掉,就可以绕过判断完成注册了!
完成注册。