• 标 题:《Quick View Plus 5.0》30天试用版的破解 (5千字)
  • 作 者:RATARICE[BCG]
  • 时 间:2001-7-24 10:56:48
  • 链 接:http://bbs.pediy.com

《Quick View Plus 5.0》30天试用版的破解
目标:QVP
      综合评价:★★★★★
      这个软件支持查看超过200种应用程序所创建的文件和文档,包括字处理、数据库、电子表格、图形等等      。你可以直接用它查看Office  97文件以及HTML文档。是一个功能强,运行快,操作简单,与Windows无      缝衔接的文件查看器。该评测版不支持win31,不过正式版支持。
作者:RATARICE[BCG]
工具:TRW2000 1.22、ULTRAEDIT-32
过程:
一、 运行软件,没有找到输入注册码的地方,所以要爆破。而且没有功能限制。
二、 将时间向后调30天,再运行,有出错框。
三、 启动TRW,下bpx getsystemtime。再运行,被拦。pmodule后,看到下面代码:

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040173D(C), :00401759(C)
|
:0040176D 83FE01                  cmp esi, 00000001
:00401770 7523                    jne 00401795
:00401772 68C0B44000              push 0040B4C0

* Reference To: KERNEL32.InitializeCriticalSection, Ord:0179h
                                  |
:00401777 FF15E0D14000            Call dword ptr [0040D1E0]
:0040177D 68C0B44000              push 0040B4C0

* Reference To: QVP.QVPManager, Ord:0009h
                                  |
:00401782 E8690C0000              Call 004023F0 ---------------------------->有问题,要进入!!
:00401787 83C404                  add esp, 00000004 ------------------------>我们停在这!
:0040178A 68C0B44000              push 0040B4C0

* Reference To: KERNEL32.DeleteCriticalSection, Ord:004Ch
                                  |
:0040178F FF15B0D14000            Call dword ptr [0040D1B0]

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004016D1(C), :004016FC(C), :00401770(C)
|
:00401795 5F                      pop edi
:00401796 33C0                    xor eax, eax
:00401798 5E                      pop esi
:00401799 81C448040000            add esp, 00000448
:0040179F C21000                  ret 0010



    进入后来到QVP.DLL的领域:

Exported fn(): QVPManager - Ord:000Ah
:20805A40 55                      push ebp
:20805A41 8BEC                    mov ebp, esp
:20805A43 6AFF                    push FFFFFFFF
:20805A45 68108B8120              push 20818B10
:20805A4A 64A100000000            mov eax, dword ptr fs:[00000000]
:20805A50 50                      push eax
:20805A51 64892500000000          mov dword ptr fs:[00000000], esp
:20805A58 51                      push ecx
:20805A59 81EC48070000            sub esp, 00000748
:20805A5F 53                      push ebx
:20805A60 56                      push esi
:20805A61 57                      push edi
:20805A62 8965F0                  mov dword ptr [ebp-10], esp
:20805A65 6A01                    push 00000001
* Reference To: QVP.QVPTrialWareStart
                                  |
:20805A67 E8D4FCFFFF              call 20805740 --------------------------->在这出错,要进入!
:20805A6C 83C404                  add esp, 00000004
:20805A6F 85C0                    test eax, eax
:20805A71 0F84DD060000            je 20806154
:20805A77 8B4508                  mov eax, dword ptr [ebp+08]
:20805A7A A388FA8120              mov dword ptr [2081FA88], eax
:20805A7F E84C240000              call 20807ED0
:20805A84 8BF0                    mov esi, eax
:20805A86 A1A4F58120              mov eax, dword ptr [2081F5A4]
:20805A8B 33FF                    xor edi, edi


    进入上面的CALL,一直追到这:


* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:208058C1(C), :208058C9(U), :208058E3(U), :208058E9(U), :20805904(C)
|:20805908(U)
|
:20805910 837C241002              cmp dword ptr [esp+10], 00000002 --------------->重点比较!
:20805915 7507                    jne 2080591E ----------------------------------->关键跳转!
:20805917 8BF5                    mov esi, ebp                                    将它nop掉!
:20805919 E9DE000000              jmp 208059FC

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:20805915(C)
|
:2080591E 8B84243C010000          mov eax, dword ptr [esp+0000013C]
:20805925 892D94FA8120            mov dword ptr [2081FA94], ebp
:2080592B 85C0                    test eax, eax
:2080592D 0F8495000000            je 208059C8
:20805933 80FB68                  cmp bl, 68
:20805936 751E                    jne 20805956
:20805938 8B15ACF58120            mov edx, dword ptr [2081F5AC]
:2080593E 56                      push esi
:2080593F 6880538020              push 20805380
:20805944 6A00                    push 00000000
:20805946 68D1100000              push 000010D1
:2080594B 52                      push edx

* Reference To: USER32.DialogBoxParamA, Ord:008Eh
                                  |
:2080594C FF1564288220            Call dword ptr [20822864] ---------------------->这是根源!
:20805952 8BF0                    mov esi, eax                                    想办法跳过它
:20805954 EB7D                    jmp 208059D3                                    我们向上找!

四、 启动ULTRAEDIT-32,打开QVP.DLL找到7507改为9090!OK!

另外、这个软件比较差劲 20805910 处它要检查两次,第一次过去,就可以启动了;但不能打开任何文件,只有第二次也过去,才能正常使用!