要破解的软件为天泽医院收费管理软件,图中可以看出这是一款未注册软件。这里破解的并不是登录,而是注册。
一、PIED查壳
还是按照流程先查壳查它的编写语言,加载到PIED后发现软件并未加壳,同时我们也知晓了编写软件的语言为VB
二、载入OD
破解这个软件的关键点就在于“未注册”这三个字上,将它加载到OD后使用搜索字符串“未注册”,得到了多个结果。
最后发现了已注册的字样,双击进入代码界面,在这里发现标注了已注册,可见这里便是破解注册项的关键。
一般来说类似这样的未注册软件都会有一个大跳转跳过了已注册,所以我们向上寻找所有的跳转,看是否为关键跳,在代码的上面我们找到了一个大跳转,而且也证实该跳转跳过了已注册。
我们将其NOP掉即可,但由于要制作内存补丁,我们取消掉这里的修改;
三、注册机编写器
打开注册机编写器,选择制作内存补丁
这里修改地址即关键跳的地址,修改长度即该处指令的长度,这里的指令是0F8489040000,两个数字为一个长度,这里12个数字为6个长度,原始指令即0F8489040000,修改指令填nop掉的指令,即909090909090。
添加好后点击生成,即可生成一个破解版的软件(这里有个骷髅头标志的即打好补丁的破解版,下面的即为正版),到此破解便成功了。
四、总结
打好的内存补丁一定得跟原来的软件在同一目录下,否则便不能用。
补丁的原理:在软件启动时需要将相应的代码加载到相应的内存地址中,补丁便是将要修改的内存地址中的代码改掉。