转载的, 供大家学习一下
所用到的工具是:OD 易语言
先运行CM看看有什么提示没。启动后这是第一个窗口下图:
点击开始破解又出现一个窗体: 没有信息提示框,标签上有个错误的字样。 好了,OD载入。按F9直接运行。在第一个窗口点击“开始破解”。额额 额,什么情况,程序终止了。但是另外一个窗口就弹出来了。。 那可能第一个窗口只是引导的。第二个窗口才是我们的目标,既然它启动了,应该在进程里面会加载的。打开进程管理看看。 也没有发现什么跟程序有关的进程。但是肯定是有的,注意看这个进程数,你把窗口2关闭就会少一个。运行状况下是25个(这个是我的电脑,你的电脑可能不同的)。关闭就只有24个,那这里面肯定有一个是用来加载这个窗口的,不停的打开和关闭这个CM发现了一个CMD.EXE的进程好像有点像。但是不确定。 好吧,换个方法,先打开软件启动第二个窗口。然后打开OD。从左上角的文件—附加。找找这个CMD.exe,看看有没有 从上图可以看到,没有发现CMD.EXE的进程,但是发现一个可用的信息,就是窗口2的窗口标题”Form1” 立即附加这个进程。附加后,按一下Alt+e,查看可执行模块,看到这个CMD.EXE的进程了 双击CMD.exe。马上就搜索字符串信息。结果什么有用信息都没有搜到 我又迷茫了。。。。。。。。。。 既然搜索不到CMD.exe里面有“错误”的信息。换个思路,搜索这个内存区域吧,
Alt+m打开内存。在按下cltr+b,在ascii里面输入“错误”按下确定。 结果很意外,哈哈
搜到了:在00450b60的位置搜到了这个字符串信息 既然在这个地址发现了这个“错误”我们就按下ctlr+g在里面输入450b60,来到这个地址, 都是乱码,鼠标向上滑动一下,就看到了我们想要的东东了 然后就是开始破解这个CM了。爆破的话,就Nop这2个jnz,就成功了。
算法不会,但是简单的说下这个判断条件吧, 5 D( E4 M3 u$ ]" m; t: w6 q
补丁篇: 这个破解后是保存不出来的。所以在给它打个内存补丁。 用的工具是E语言贴个具体代码吧。超级简单的 00450A90 /75 12 这个是要补丁的地址,75 12是要补丁的数据 00450AEC /75 12 这个是要补丁的地址,75 12是要补丁的数据 就是这2个把75 12都nop掉,就是 90 90 。 % Z0 Q! W4 j6 d3 L0 \' g2 z# }
看易语言代码: 新建一个windows窗口程序 画一个按钮就行了,借用一个超级模块。 双击按钮,编写按钮被单机事件 补丁结果: [size=0.83em]14.jpg (100.89 KB, 下载次数: 0)
下载附件
[color=rgb(153, 153, 153) !important]2014-11-23 16:14 上传
好了,图文教程完毕,
|