freeResV0.94瘋狂暴力破解 (3千字)

看雪資料發表於2002-01-09

freeResV0.94瘋狂暴力破解
===============================================================
    多情俏狐
                  peiyou henan china


所用工具:1:w32dasm白金版或9.00
        2:trw20001.23
        3:dede30
        4:procdump1.62
        5.hedit2(我喜歡用,它最小最快)

先用Procdump脫Asppack殼的 script.ini 擴充套件 脫掉程式的殼。

再用w32dasm(白金版)查詢"300 KB",找到兩處如下:
第一處:
:004C96C6 3D00B00400              cmp eax, 0004B000
:004C96CB 7426                    jle 004C96F3
=====>74 改EB
:004C96CD E80E27FFFF              call 004BBDE0
:004C96D2 6A10                    push 00000010
:004C96D4 A1E8134D00              mov eax, dword ptr [004D13E8]
:004C96D9 8B00                    mov eax, dword ptr [eax]
:004C96DB E8F0A9F3FF              call 004040D0
:004C96E0 8BC8                    mov ecx, eax

* Possible StringData Ref from Data Obj ->"該軟體未註冊,所以大於 300 KB "
                                        ->"的檔案不能執行此項操作!"
                                  |
:004C96E2 BAB49B4C00              mov edx, 004C9BB4
:004C96E7 A100144D00              mov eax, dword ptr [004D1400]
:004C96EC 8B00                    mov eax, dword ptr [eax]
:004C96EE E83D70F8FF              call 00450730

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004C96B6(C), :004C96CB(U)
|
:004C96F3 E80825FFFF              call 004BBC00

第二處:
:004CD305 3D00B00400              cmp eax, 0004B000
:004CD30A 7E26                    jle 004CD332
=====>74 改EB搞定就行了
:004CD30C E8CFEAFEFF              call 004BBDE0
:004CD311 6A10                    push 00000010
:004CD313 A1E8134D00              mov eax, dword ptr [004D13E8]
:004CD318 8B00                    mov eax, dword ptr [eax]
:004CD31A E8B16DF3FF              call 004040D0
:004CD31F 8BC8                    mov ecx, eax

* Possible StringData Ref from Data Obj ->"該軟體未註冊,所以大於 300 KB "
                                        ->"的檔案不能執行此項操作!"
                                  |
:004CD321 BAF4D44C00              mov edx, 004CD4F4
:004CD326 A100144D00              mov eax, dword ptr [004D1400]
:004CD32B 8B00                    mov eax, dword ptr [eax]
:004CD32D E8FE33F8FF              call 00450730

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004CD2F5(U), :004CD30A(C)
|
:004CD332 E8C9E8FEFF              call 004BBC00


最後用dede30找到"建立可編輯資源"的處理程式段build1Click
進而查出處理程式的首址為004cd2d0,然後用trw2000跟蹤,
分別用小於300K和大於300K的壓縮程式進行卑鄙大法跟蹤
得到如下結果.

4cd339 都不跳
4cd34e  offset cc94e ===>一跳就死 nop掉
4cd35e 都跳
4cd41b 不跳

0F8F78010000 nop掉就行了

我不想找出註冊碼,但我要用,所以這樣就行了.


注:

天山折梅手解釋:

:004BBD09 E80E83F4FF              call 0040401C--------->暗樁!“假假”
註冊碼對比,如相等則作者發覺你在破解它然後退出!
:004BBD0E 750C                    jne 004BBD1C---------->一定要跳才行,
offset bb30e
不能讓“假假”註冊碼相等!

:004BBD48 E8CF82F4FF              call 0040401C--------------->註冊名與註冊碼變形後之值對比!
:004BBD4D 7504                    jne 004BBD53---------------->一定不能跳!即值要相等。


oake的脫殼擴充套件:

在[INDEX]後新增
pXX=Aspack (XX為十六進位制)

[Aspack]
L1=OBJR
L2=LOOK EB,?
L3=JZ 5
L4=QUIT
L5=BP
L6=WALK
L7=OBJR
L8=LOOK 61,75   
L9=BP
LA=STEP
OPTL1=00000000
OPTL2=01010001
OPTL3=01010001
OPTL4=00030000
OPTL5=00000000

相關文章