先介绍一个人吧! 辉哥! 他是一位很爱学习的人,是我学习的榜样!想想曾经一起"搬砖"的日子,总是感慨万千!
今天辉哥丢给我一个文件,让我尝试破解。。。事情是这样的,辉哥报了IE的培训班,结果学习资料是一机一码加密的,他觉得不方便。
于是就有了这个破解教程,好了 不废话了,开始本文的主题。。。
目标:
软件名称:金盾PDF加密的文件
环境:
WIN7 64
破解工具:
DetectItEasy
Ollydbg
仅限技术交流,不提供任何破解补丁!
软件界面:
先查壳:
delphi 无壳
破解思路是这样的,我有正确的机器码和注册码,利用正确的机器码和注册码来欺骗验证。
我的机器码:1d0ee-00000-d41d8
注册过的机器码:7d9c5-00000-23eaa
注册码:83309a67a351ba789d3a9b6da451b27380359a60a507e022
开OD 载入首先下bp CreateWindowExA 和CreateWindowExW的断点。(很多教程里写的是下机器码内存地址的写入断点,二次载入。但是这种方法在win7下无法使用。)
只要断下,就直接F9 ,直到进程创建了才停止,这个时候,搜索内存中的机器码:1d0ee-00000-d41d8(一般只会搜到一处)
接下来就是将已本机的机器码替换成已注册的机器码,选中搜到的注册码,然后 右键——>二进制——>编辑 粘贴已注册的机器码
替换完后一直F9,让程序跑起来。最后输入注册码,就成功的进入了软件。
-------------------------------------------------------------------------------
原本这篇文章年前能发出来的,结果到上面这步的时候,发现WIN7跟XP下不一样,破解不了了。。这个不一样的地方就是上面找到的机器码的地址XP不会变,WIN7下会变。所以按XP的破解方式在WIN7下失败。。。。年前各种事忙,最后也就写了一半,到今天我有时间把它写完了。
-------------------------------------------------------------------------------
思路还是一样,只是我现在换到XP电脑上重现一下破解方法
XP的机器码:ed349-00000-f7882
注册过的机器码:7d9c5-00000-23eaa
注册码:83309a67a351ba789d3a9b6da451b27380359a60a507e022
OD载入CCIE.exe 下bp CreateWindowExA 断点 然后一直F9 直到进程出现
在内存中查找本机的机器码,然后替换成已注册的机器码,取消断点 bc CreateWindowExA 按住F9让程序跑起来。
然后输入注册码
启动完是这样的,右上角有打印图标。
点击打印,提示禁止打印
在OD中搜索"禁止打印",找到了关键位置和代码。通过代码中可以看出jnz是个关键判断,我这里我直接noop掉了这个jnz
再次点击打印,提示如下图
通过上面的提示,我看了一下系统的打印服务,然后明白了。。。将已停止的服务启动
然后继续点打印,出现了这个选择打印机的对话框,可以选择打印机了。。。感觉就快成功了。。。然而 我还是太年轻了。。一次次的被坑。。
出现了printing(1 to 1)然就没然后了。。。明显还是没有成功。
这个时候我也没明白怎么回事,来回测试好几次了,就是到这里就没了。最后我在OD中翻了一下字符串,发现了这里有好多关键字。。
网上找,找到代码头部,下断,立马被断下了。。本来打算跟一遍的,但是太长了 基本也猜到了 没必要跟下去。 到代码段的尾部看了一眼。。
直接不让执行这段代码,直接把头部的push ebp 改成了 retn 这样这段代码被调用就被返回了 不会执行下面的代码。
F9跑起来,继续点打印,然后终于出现了保存PDF的对话框了。。
最后保存出来的文件正常,直接可以用PDF工具查看了。不再被注册码限制,手机、平板、任意电脑都可以看了。。
2018年3月3日 01:36:39
有朋友跟我说他破解中遇到了问题,那我今天就录下这个教程。教程于文章中的有点小出入。
可在线观看教程:http://video.arvinhk.com/金盾PDF加密.avi