好友
阅读权限10
听众
最后登录1970-1-1
|
新手文章,大牛飘过啊
手底下有些pdf文件,想打印出来观看,无奈被加密了,禁止打印,在网上找了几款被推荐的,用来下,前三款都可以使用,最后一款使用后,老是说pdf文件损坏,下面是破解过程
第一款:PDFPasswordRemover
,
查找字符串可以看到无效注册码上面有个大跳转,我们只需要把这个跳转nop掉,就可以进入注册成功,而注册成功后,会生成新的codec.dll来覆盖未注册前的codec.dll,下次重启就是注册版了
下载地址:http://pan.baidu.com/share/link?shareid=467717&uk=4026584046
第二款:PDFPasswordRemover
载入OD查找字符串,可以发现sTrialVersion,向上找到关键跳,
0057780A |. 64:FF30 push dword ptr fs:[eax]
0057780D |. 64:8920 mov dword ptr fs:[eax],esp
00577810 |. 8B45 FC mov eax,[local.1]
00577813 |. 8B80 10050000 mov eax,dword ptr ds:[eax+0x510]
00577819 |. E8 4EB9F8FF call PDFPassw.0050316C
0057781E |. 84C0 test al,al
00577820 |. 0F84 B8000000 je PDFPassw.005778DE //关键跳,test al,al,所以al为一的话,就不会跳向试用版了,f7进00577819 call PDFPassw.0050316C
00577826 |. E8 251CE9FF call <jmp.&kernel32.GetACP> ; [GetACP
f7进去00577819后,
0050316C /$ 55 push ebp
0050316D |. 8BEC mov ebp,esp
0050316F |. 83C4 F8 add esp,-0x8
00503172 |. 8945 FC mov [local.1],eax
修改为
0050316C B8 01000000 mov eax,0x1 ; al 1
00503171 C3 retn
破解后
下载地址:http://pan.baidu.com/share/link?shareid=467716&uk=4026584046
第三款:PDF Password Remover v3.1
upx壳,随便脱,然后载入脱壳后的文件,下bp GetPrivateProfileStringA断点,堆栈窗口出现regcode也就是返回时机了
0012EFB8 0040438E /CALL 到 GetPrivateProfileStringA 来自 Unpack_.00404388
0012EFBC 004D5984 |Section = "VeryPDFPWDR"
0012EFC0 004D599C |Key = "Regcode"
0012EFC4 0050A1D0 |Default = ""
0012EFC8 0012EFDC |ReturnBuffer = 0012EFDC
0012EFCC 00000064 |BufSize = 64 (100.)
0012EFD0 00B36FD8 \IniFileName = "C:\Program Files\PDF Password Remover v3.1\license.dat"
alt+f9返回后,继续慢慢跟
00404426 E8 45FCFFFF call Unpack_.00404070
0040442B 59 pop ecx
0040442C 85C0 test eax,eax
0040442E 59 pop ecx
0040442F 75 03 jnz short Unpack_.00404434 //关键,f7进00404426 call Unpack_.00404070看看,需要让eax不为0
00404431 6A 03 push 0x3
00404433 5E pop esi
00404434 834D FC FF or dword ptr ss:[ebp-0x4],-0x1
00404438 8D4D F0 lea ecx,dword ptr ss:[ebp-0x10]
跟进去后,发现eax的值由esi决定,所以留意esi值的变化
00404165 8D4D 08 lea ecx,dword ptr ss:[ebp+0x8]
00404168 E8 47640B00 call Unpack_.004BA5B4
0040416D 8B4D F4 mov ecx,dword ptr ss:[ebp-0xC]
00404170 8BC6 mov eax,esi //esi赋值给eax
00404172 5F pop edi
00404173 5E pop esi
00404174 5B pop ebx
00404175 64:890D 0000000>mov dword ptr fs:[0],ecx
0040417C C9 leave
0040417D C3 retn
往上看发现
0040409D 56 push esi
0040409E E8 6DF10900 call Unpack_.004A3210
004040A3 83F8 14 cmp eax,0x14
004040A6 59 pop ecx
004040A7 74 07 je short Unpack_.004040B0
004040A9 33F6 xor esi,esi //nop掉就可以了
004040AB E9 B1000000 jmp Unpack_.00404161
004040B0 8A06 mov al,byte ptr ds:[esi]
004040B2 885D DD mov byte ptr ss:[ebp-0x23],bl
破解后
下载地址:http://pan.baidu.com/share/link?shareid=467720&uk=4026584046
第四款:AP PDF Password Recovery(这款软件我使用有问题,移除密码后,pdf损坏)
下bp GetPrivateProfileStringA断点,寄存器出现 Serial 即为返回时机
00409387 |. 8D8D B8FEFFFF lea ecx,[local.82]
0040938D |. 51 push ecx
0040938E |. 53 push ebx
0040938F |. E8 30010000 call AP_PDF_P.004094C4
00409394 |. 83C4 08 add esp,0x8
00409397 |. 84C0 test al,al //al要为一,进上面的call,,直接修改mov eax,1 retn即可破解
00409399 |. 75 53 jnz short AP_PDF_P.004093EE
0040939B |. 66:C746 10 20>mov word ptr ds:[esi+0x10],0x20
004093A1 |. 8D57 20 lea edx,dword ptr ds:[edi+0x20]
破解后
下载地址:http://pan.baidu.com/share/link?shareid=467722&uk=4026584046
大家觉得有用的话就加点热心吧
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|