本人超級奉獻!初學者如果看得明白就是入門直徑! bye! (16千字)

看雪資料發表於2001-04-09

軟體名稱:  RegEditor V1.2 
軟體分類:  DOWNME首頁=>軟體下載=>系統工具=>登錄檔管理
軟體設計:    A. Chabanenko.
軟體主頁:    http://www.utils32.com/products.htm
聯絡郵件:  nit@aip.mk.ua
授權方式:  共享軟體
更新時間:  2001-04-05
作業系統:  Windows 95/98/NT/2000
試用限制:  30天
購買金額:  $20.00
軟體大小:  451KB
星級評定:  ★★★★★
圖片預覽:  點選這裡檢視軟體圖片
軟體簡介:  RegEditor 是一個登錄檔編輯工具,它可以用於 Registry 4 (REGEDIT4)的檔案格式對 Windows 95/98 的登錄檔進行修改。RegEditor 還支援多語種的系統。
http://www.downme.com/download/3864regeditr.zip

------------------------------------------------------------------------------------
這些過程是總結小弟這幾年來的Cracker經驗之談!也是最完整一篇了!
破解密碼篇:
誰說明破解沒有直徑?不過不叫直徑而叫經驗罷了?
只要你多看一些別人的經驗有“拿來主義”總結分析
得到變成自己的新經驗就是直徑了:
以下就是證明:
舊方法:
F12---->17次
F8----->15次
結果:32次
常用法:
pmodule
F10----->72次
結果:72次
個人法:
pmodule
F12---->10次
F10---->8次
結果:18次
就能來到這個錯誤call!
0167:0047A64F  CALL    00454F50
0167:0047A654  TEST    AL,AL
0167:0047A656  JZ      0047A681
0167:0047A658  MOV      EAX,[EBP-04]
0167:0047A65B  CALL    004701DC//------->關鍵call!
0167:0047A660  TEST    AL,AL
0167:0047A662  JZ      0047A677
0167:0047A664  MOV      EAX,0047A6EC
0167:0047A669  CALL    00454F2C
0167:0047A66E  MOV      EAX,EBX
0167:0047A670  CALL    0044AF84
0167:0047A675  JMP      SHORT 0047A681
0167:0047A677  MOV      EAX,0047A710
0167:0047A67C  CALL    00454F2C//--------->出來錯誤提示!
看到沒有我個人方法多麼的快?我一向破解也是採用這樣的方法,
只要pmodule能用,把舊方法和常用法方法結合就是一種新方法也是新一種經驗?
為什麼還要用F12了,小弟沒有什麼程式設計的技術只是在學校學過Foxbase2.5!
ret是主要流程,也是主要的得的幹骨!什麼還不明白?
就用一顆樹幹,你從這裡開始找就能快速的找到枝葉(分支流程)!
哪如何找到樹幹了?你把要用F12了記一下出現第一次提示的次數
-1再用F10就找到枝葉!小弟用此方法不到一分鐘就把註冊碼破解出來!
----------------------------------------------------------------------
:004701DC 55                      push ebp//------------->1
----------------------------------------------------------------------
EAX=00C0A168=78787878
----------------------------------------------------------------------
:00403ED8 53                      push ebx
:00403ED9 56                      push esi
:00403EDA 57                      push edi
:00403EDB 89C6                    mov esi, eax
:00403EDD 89D7                    mov edi, edx
:00403EDF 39D0                    cmp eax, edx//-------->2
----------------------------------------------------------------------
SN=EAX=61C8-064B-FE37
EDI=EDX=00C0A168=78787878
----------------------------------------------------------------------
:00403EE1 0F848F000000            je 00403F76
:00403EE7 85F6                    test esi, esi
:00403EE9 7468                    je 00403F53
:00403EEB 85FF                    test edi, edi
:00403EED 746B                    je 00403F5A
:00403EEF 8B46FC                  mov eax, dword ptr [esi-04]
:00403EF2 8B57FC                  mov edx, dword ptr [edi-04]
:00403EF5 29D0                    sub eax, edx
:00403EF7 7702                    ja 00403EFB
:00403EF9 01C2                    add edx, eax
:004701DD 8BEC                    mov ebp, esp
:004701DF 83C4EC                  add esp, FFFFFFEC
:004701E2 33D2                    xor edx, edx
:004701E4 8955F0                  mov dword ptr [ebp-10], edx
:004701E7 8955EC                  mov dword ptr [ebp-14], edx
:004701EA 8945FC                  mov dword ptr [ebp-04], eax
:004701ED 8B45FC                  mov eax, dword ptr [ebp-04]
:004701F0 E8873DF9FF              call 00403F7C
----------------------------------------------------------------------
:0047020E 8D55F0                  lea edx, dword ptr [ebp-10]//----->3
ID=EAX=00CF4F8=6600-0183-F9FF
ss:[6DF364]=00C0F5B4=SN=61C8-064B-FE37
----------------------------------------------------------------------
:0047020E 8D55F0                  lea edx, dword ptr [ebp-10]
:00470211 E8D2FBFFFF              call 0046FDE8
:00470216 8B45F0                  mov eax, dword ptr [ebp-10]//------>4
----------------------------------------------------------------------
ID=EDX=00CF4F8=6600-0183-F9FF
ss:[6DF364]=00C0F5B4=SN=61C8-064B-FE37
----------------------------------------------------------------------
:00470219 8B55FC                  mov edx, dword ptr [ebp-04]//------>5
----------------------------------------------------------------------
SN=EAX=61C8-064B-FE37
ss:[6DF370]=00C0A168=78787878
----------------------------------------------------------------------

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004701A4(C)
|
:0047021C E8B73CF9FF              call 00403ED8//----------->6
--------------------------------------------------------------------
EDX=00C0A168=78787878
EAX=00C0F5B4=SN=61C8-064B-FE37
---------------------------------------------------------------------
:00470221 0F9445FB                sete byte ptr [ebp-05]
:00470225 807DFB00                cmp byte ptr [ebp-05], 00
:00470229 7469                    je 00470294
:0047022B B201                    mov dl, 01
:0047022D A1C0EE4600              mov eax, dword ptr [0046EEC0]
:00470232 E889EDFFFF              call 0046EFC0
:00470237 8945F4                  mov dword ptr [ebp-0C], eax
:0047023A 33C0                    xor eax, eax
:0047023C 55                      push ebp
:0047023D 688D024700              push 0047028D
:00470242 64FF30                  push dword ptr fs:[eax]
:00470245 648920                  mov dword ptr fs:[eax], esp
:00470248 BA02000080              mov edx, 80000002
:0047024D 8B45F4                  mov eax, dword ptr [ebp-0C]
:00470250 E80BEEFFFF              call 0046F060
:00470255 33C9                    xor ecx, ecx
:00470257 BAD0024700              mov edx, 004702D0
:0047025C 8B45F4                  mov eax, dword ptr [ebp-0C]
:0047025F E864EEFFFF              call 0046F0C8
:00470264 84C0                    test al, al
:00470266 740F                    je 00470277
:00470268 B920034700              mov ecx, 00470320
:0047026D 33D2                    xor edx, edx
:0047026F 8B45F4                  mov eax, dword ptr [ebp-0C]
:00470272 E845F4FFFF              call 0046F6BC
:00470211 E8D2FBFFFF              call 0046FDE8
:00470216 8B45F0                  mov eax, dword ptr [ebp-10]
:00470219 8B55FC                  mov edx, dword ptr [ebp-04]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004701A4(C)
|
:0047021C E8B73CF9FF              call 00403ED8
:00470221 0F9445FB                sete byte ptr [ebp-05]
:00470225 807DFB00                cmp byte ptr [ebp-05], 00
:00470229 7469                    je 00470294
:0047022B B201                    mov dl, 01
:0047022D A1C0EE4600              mov eax, dword ptr [0046EEC0]
:00470232 E889EDFFFF              call 0046EFC0
:00470237 8945F4                  mov dword ptr [ebp-0C], eax
:0047023A 33C0                    xor eax, eax
:0047023C 55                      push ebp
:0047023D 688D024700              push 0047028D
:00470242 64FF30                  push dword ptr fs:[eax]
:00470245 648920                  mov dword ptr fs:[eax], esp
:00470248 BA02000080              mov edx, 80000002
:0047024D 8B45F4                  mov eax, dword ptr [ebp-0C]
:00470250 E80BEEFFFF              call 0046F060
:00470255 33C9                    xor ecx, ecx
:00470257 BAD0024700              mov edx, 004702D0
:0047025C 8B45F4                  mov eax, dword ptr [ebp-0C]
:0047025F E864EEFFFF              call 0046F0C8
:00470264 84C0                    test al, al
:00470266 740F                    je 00470277
:00470268 B920034700              mov ecx, 00470320
:0047026D 33D2                    xor edx, edx
:0047026F 8B45F4                  mov eax, dword ptr [ebp-0C]
:00470272 E845F4FFFF              call 0046F6BC
----------------------------------------------------------------------
crackcode2000序號產生器篇:
第一種:
[Options]
CommandLine=regeditor.exe
Mode=2
First_Break_Address=403EDF
First_Break_Address_Code=39
First_Break_Address_Code_Lenth=2
Save_Code_Address=edx

第二種:
[Options]
CommandLine=regeditor.exe
Mode=0
First_Break_Address=470219
First_Break_Address_Code=8B
First_Break_Address_Code_Lenth=2
Save_Code_Address=EAX

第三種:
[Options]
CommandLine=regeditor.exe
Mode=3
First_Break_Address=403EDF
First_Break_Address_Code=39
First_Break_Address_Code_Lenth=2
Save_Code_Address=edx
(以上It's very cool!Why?註冊碼錯誤也成功註冊!不信你重啟就成的註冊版
不過就是用它註冊所以文字都失蹤不過也能註冊!)
相信連我師傅也可能不知道有這麼利害的功能?!哈。。。哈!

HKEY_LOCAL_MACHINE\
    Software\CLASSES\
    CLSID\
  {A4E78360-03CA-11D4-9395-981897B1F059}\
  Version\[(預設)FFFF]---->刪除這個值又變回未註冊版!
            ^^^^^
登錄檔暴力把它的變成FFFF就是註冊版!
----------------------------------------------------------------------
暴力破解視窗篇:
0167:0047AA98 E87F54FFFF      CALL    0046FF1C
0167:0047AA9D 84C0            TEST    AL,AL
0167:0047AA9F 7553            JNZ      0047AAF4//----jz
0167:0047AAA1 8B0D04C24700    MOV      ECX,[0047C204]
0167:0047AAA7 8B09            MOV      ECX,[ECX]
0167:0047AAA9 B201            MOV      DL,01
0167:0047AAAB A1BCA34700      MOV      EAX,[0047A3BC]
0167:0047AAB0 E8EFC6FCFF      CALL    004471A4
0167:0047AAB5 A358D94700      MOV      [0047D958],EAX
0167:0047AABA 33C0            XOR      EAX,EAX
0167:0047AABC 55              PUSH    EBP
0167:0047AABD 68EDAA4700      PUSH    DWORD 0047AAED
0167:0047AAC2 64FF30          PUSH    DWORD [FS:EAX]
0167:0047AAC5 648920          MOV      [FS:EAX],ESP
0167:0047AAC8 A158D94700      MOV      EAX,[0047D958]
0167:0047AACD 8B10            MOV      EDX,[EAX]
0167:0047AACF FF92D8000000    CALL    NEAR [EDX+D8]//---->註冊提示窗!
0167:0047AAD5 33C0            XOR      EAX,EAX
但仍然在退出時出現沒有未註冊提示,這個提示非常難破解!
-----------------------------------------------------------------------
自動脫殼篇:
工具:fi(三個版) and fs [測殼工具],Procdump32162(脫殼工具)
-----------------------------------------------------------------------
測試結果:
UPX v0.94 (■PE) ObHu/Molnar  UPX\
UPX v0.93 (■PE)  Bl.Panther  UPX fi
UPX v0.94 (■PE) ObHu/Molnar  UPX/
pe/exe.packer UPX 0.82-1.01 (type 2)-----unpacker (fs)
用"pr"選upx一會就脫殼成功!
-----------------------------------------------------------------------
手動脫殼篇:
參考:
----------------------------------------------------------------------
chm幫助編輯器v2.6 註冊碼破解詳談之一*脫殼篇*
其實沒這個必要,是應peterchen要求所寫!
    就先說說軟體的脫殼吧!它用upx加殼.
    第一種脫殼方法:trw+衝擊波0.2
啟動衝擊波,點選Trace,然後執行要脫殼的軟體,此時衝擊波會顯示一個數值(這裡應該是00488C78),這
就是程式的入口.
trw載入檔案,Ctrl+N,
            g 00488C78
            MakePe 或 pedump
脫殼成功!

    第二種脫殼方法:只用trw.
    用trw載入程式,選擇載入,這時TRW彈出,按一次F10,程式來到這裡:
:004BA000 60                      pushad
:004BA001 E800000000              call 004BA006
一直按F10執行到上面這一行,注意這個call一定要進去,因為你再按一次F10的話,程式就執行了!
於是按F8進入:
* Referenced by a CALL at Address:
|:004BA001 
|
:004BA006 83CDFF                  or ebp, FFFFFFFF
:004BA009 31DB                    xor ebx, ebx
:004BA00B 5E                      pop esi
:004BA00C 8DBEFA6FF4FF            lea edi, dword ptr [esi+FFF46FFA]
:004BA012 57                      push edi
:004BA013 668187F4830B000100      add word ptr [edi+000B83F4], 0001
:004BA01C 81C6B3010000            add esi, 000001B3
:004BA022 EB0A                    jmp 004BA02E

到了這裡,再繼續按F10跳轉到 004BA02E,繼續跟蹤

:004BA02E 01DB                    add ebx, ebx
:004BA030 7507                    jne 004BA039
:004BA032 8B1E                    mov ebx, dword ptr [esi]
:004BA034 83EEFC                  sub esi, FFFFFFFC
:004BA037 11DB                    adc ebx, ebx

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA030(C)
|
:004BA039 72ED                    jb 004BA028     
:004BA03B B801000000              mov eax, 00000001

在004BA039這一行程式將*向上*跳到004BA028,進行迴圈解壓,而我們沒有必要跟著它走,所以將游標
定位於004BA03B,按F7,這樣就省去了許多步驟了,接著軟體還會有很多類似於這裡的地方,都可以用這
種方法跳過去.若是程式向下跳躍的時候,就不要多此一舉了,讓它跳就是了,還要注意的是按F7前,最好
先在跳轉的地方設個斷點,再bd掉,這樣即使判斷錯誤,也還有的救,be就可以了繼續跟蹤了.繼續向下走:
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004BA04F(C), :004BA05A(C)
|
:004BA040 01DB                    add ebx, ebx
:004BA042 7507                    jne 004BA04B      \\這裡會*向下*跳轉,讓它跳就是了.
:004BA044 8B1E                    mov ebx, dword ptr [esi]
:004BA046 83EEFC                  sub esi, FFFFFFFC
:004BA049 11DB                    adc ebx, ebx

這兩種情況已經明白了吧!那我就省去一些了.
來到這裡

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA177(C)
|
:004BA18A 240F                    and al, 0F
:004BA18C C1E010                  shl eax, 10
:004BA18F 668B07                  mov ax, word ptr [edi]
:004BA192 83C702                  add edi, 00000002
:004BA195 EBE2                    jmp 004BA179

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA173(C)
|
:004BA197 61                      popad  執行到這裡以後看看下面這個跳轉
:004BA198 E9DBEAFCFF              jmp 00488C78    //這裡程式便完成來記憶體中的解工作,
                                                    將要跳到程式入口點00488C78
然後就來到了這裡:
00488C78  PUSH EBP    //在這裡下MAKEPE命令(但我的TRW經常出錯,Why)或是Pedump
00488C79  MOV  EBP,ESP  但若你用了Pedump那脫殼後的檔案將不能在其它作業系統和
                          其它機器上執行!
--------------------------------------------------------------------------
工具:trw2000,Bw2k02(衝擊波)
惜助工具脫殼:
1.把"bw" copy 到你要脫殼的軟體目錄中
2.先啟動它
3.再啟動要脫殼的軟體
使用法:
Track:  開始進行跟蹤,然後執行要跟蹤的程式.
        找到入口點後,會在Enter point 顯示.
Stop :  停止跟蹤
Exit :  退出
我的epo是0047AA50
用trw2000,ctrl+n
g 47aa50
PEDUMP
為什麼不用MAKEPE?我也與TAE!一樣!
----------------------------------------------------------------------
0167:004A87FB  ADD      EBX,BYTE


宣告:該文觀點僅代表作者本人,轉載請註明來自看雪專欄
最新評論 (0)
登入後即可評論

相關文章