某PDF解密器爆破、追码
目标软件:PDF解密器运行平台:win32下载地址:http://www.onlinedown.net/soft/417854.htm
使用工具:ollydbg吾爱2016版
这个软件很久以前就分析过,今天无聊写个破文
先看注册
也不知道是不是根据本机机器码算的注册码。
载入od。
有壳。
不管他。f9运行起来
注册之
004FB544 E8 C36AF0FF call <jmp.&MSVBVM60.#595> ; msgbox
这是vb的程序,错误信息框
往下单步
进入了系统领空。
重新载入
那就下按钮事件断点吧
816c24
004E8188 .816C24 04 FFF>sub dword ptr ss:,0xFFFF
运行起来,注册
断下了,f8跟踪,跟到了信息提示
004FB4BD . /E9 45010000 jmp PPR.004FB607
004FB4C2 > |C745 FC 13000>mov dword ptr ss:,0x13
004FB4C9 . |C785 78FFFFFF>mov dword ptr ss:,0x80020004
004FB4D3 . |C785 70FFFFFF>mov dword ptr ss:,0xA
004FB4DD . |C745 88 04000>mov dword ptr ss:,0x80020004
004FB4E4 . |C745 80 0A000>mov dword ptr ss:,0xA
004FB4EB . |C785 58FFFFFF>mov dword ptr ss:,PPR.004EC86C ;无效
004FB4F5 . |C785 50FFFFFF>mov dword ptr ss:,0x8
004FB4FF . |8D95 50FFFFFF lea edx,dword ptr ss:
004FB505 . |8D4D 90 lea ecx,dword ptr ss:
004FB508 . |E8 F96AF0FF call <jmp.&MSVBVM60.__vbaVarDup>
004FB50D . |C785 68FFFFFF>mov dword ptr ss:,PPR.004EC8D0 ;错误的注册码.
004FB517 . |C785 60FFFFFF>mov dword ptr ss:,0x8
004FB521 . |8D95 60FFFFFF lea edx,dword ptr ss:
插进来的跳转让jmp不能跳。跟踪之
004FB142 > \83BD E0FEFFFF>cmp dword ptr ss:,0x0
004FB149 .^ 0F85 86FEFFFF jnz PPR.004FAFD5
004FB14F >C745 FC 0A000>mov dword ptr ss:,0xA
004FB156 .66:837D CC FF cmp word ptr ss:,0xFFFF
004FB15B .0F85 61030000 jnz PPR.004FB4C2 ;跳转
上面的jnz是向上的,那么这个jnz就是关键跳了。
爆破把这个jnz干掉即可
下面追码
在段首下段,运行,注册
004FAE60 > \55 push ebp
004FAE61 .8BEC mov ebp,esp
004FAE63 .83EC 18 sub esp,0x18
004FAE66 .68 E61E4000 push <jmp.&MSVBVM60.__vbaExceptHandler>;SE 处理程序安装
f8单步跟踪
堆栈出现可疑字符串
继续f8
004FB15B . /0F85 61030000 jnz PPR.004FB4C2 ;跳转
到跳转了。
004FB50D .C785 68FFFFFF>mov dword ptr ss:,PPR.004EC8D0 ;错误的注册码.
004FB517 .C785 60FFFFFF>mov dword ptr ss:,0x8
004FB521 .8D95 60FFFFFF lea edx,dword ptr ss:
004FB527 .8D4D A0 lea ecx,dword ptr ss:
004FB52A .E8 D76AF0FF call <jmp.&MSVBVM60.__vbaVarDup>
004FB52F .8D85 70FFFFFF lea eax,dword ptr ss:
004FB535 .50 push eax
004FB536 .8D45 80 lea eax,dword ptr ss:
004FB539 .50 push eax
004FB53A .8D45 90 lea eax,dword ptr ss:
004FB53D .50 push eax
004FB53E .6A 00 push 0x0
004FB540 .8D45 A0 lea eax,dword ptr ss:
004FB543 .50 push eax
004FB544 .E8 C36AF0FF call <jmp.&MSVBVM60.#595> ;msgbox
004FB549 .8D85 70FFFFFF lea eax,dword ptr ss:
提示出现。追码完毕。
fla873416588611047就是真码
注册完成。
应该是根据机器码算出的注册码。但是,我在整个过程中没看见机器码的出现
…………
大家也可做一做…………
好的,就到这。
给点热心呗{:301_999:}
楼主,我用了另一个方法,比你这简单多了,但是没有改DLL后两位简单,我的办法是,搜索到注册失败字样后,查看上方跳转,把跳转改一下,JNZ改成了JE,即可,输入任意数字或字母即可注册成功,这是我的样本,你放到安装目录即可,测试前把codec.dll,最后两位改成其他,只要不是kk即可
占楼,写作业去 感谢分享 我艹。。感觉好牛b啊。。{:301_1000:}
我艹。。感觉好牛b啊。。 谢谢@Thanks! 表示木有成功,哎 pojiepojie 发表于 2016-8-31 14:39
表示木有成功,哎
我是到了最后一步,并木有看到有真码出来呢~! 好东西~学习了 好东西~学习了