我的第3篇破文 cr--CJSFormater 高手請指導、指導!! (4千字)

看雪資料發表於2001-11-24

CJSFormater0.7 暴力破解 + 註冊碼破解(純粹交流學習,別無它意)
軟體功能和特點:
    CJSFormater是一個C++/JAVA 源程式的格式化工具,具有美化源程式、自動縮排等功能,是您軟體開發過程中的得力助手。自動縮排、縮排量可以設定!函式體中間自動分段。C++/JAVA語法高亮度顯示。處理速度快,在作者的機器上,3000行/秒 綠色軟體,不用安裝 !但是CJSFormater在還沒有註冊之前,只能讓你使用60天而已!本軟體註冊費用RMB ¥18元 ,或$8美元
下載:http://www.csdn.net/soft/openfile.asp?kind=1&id=13171
破解工具:TRW 2000 ,W32DASM V8.93 ,ultraedit,language,ProcDump

一、傻冒的解法
    CJSFormater在還沒有註冊之前,只能讓你使用60天,在登錄檔中查詢:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\privatestorage專案刪除又可使用60天。

二、暴力的解法
  CJSFormater註冊方式採用本機器ID號校驗方式,只有ID和email、註冊碼完全正確時,註冊鍵才會被啟用。不過我採用另外一種辦法,巧妙地破解了它。
  首先看有否加殼,用language發現是Neolite壓縮,用ProcDump脫殼後,再一次用language發現是用Delphi編的。用DeDe反編不成功(為什麼????),只有用w32dasm了,首先反彙編它。在“串式參考”處找到"祝賀您,註冊成功了!重新啟動系統,註冊將會生 "(註冊成功的資訊),雙擊後往上看

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004278E7(C)
|
:004278EA 8B45A4          mov eax, dword ptr [ebp-5C]
:004278ED E88A040000      call 00427D7C            <--//這可能是驗證註冊碼,call入看看
:004278F2 84C0            test al, al
:004278F4 7454            je 0042794A
:004278F6 6A00            push 00000000
:004278F8 8D459A          lea eax, dword ptr [ebp-66]
:004278FB E860A4FDFF      call 00401D60
:00427900 B202            mov dl, 02
:00427902 E88DA4FDFF      call 00401D94
:00427907 668B08          mov cx, word ptr [eax]
:0042790A 51              push ecx
:0042790B 66C745B85C00    mov [ebp-48], 005C

***************************************************************
來到這裡...這裡肯定是驗證註冊碼的關鍵了?
* Referenced by a CALL at Addresses:
|:00426B69  , :004278ED                  <--共有2處驗證註冊碼?
|
:00427D7C 55              push ebp
:00427D7D 8BEC            mov ebp, esp
:00427D7F 83C490          add esp, FFFFFF90
:00427D82 53              push ebx
:00427D83 56              push esi
:00427D84 57              push edi
:00427D85 8945A8          mov dword ptr [ebp-58], eax
:00427D88 B8F8B24A00      mov eax, 004AB2F8
:00427D8D E88E230600      call 0048A120
:00427D92 B201            mov dl, 01
:00427D94 A1AC424300      mov eax, dword ptr [004342AC]
:00427D99 E832C60000      call 004343D0
:00427D9E 8945A4          mov dword ptr [ebp-5C], eax
:00427DA1 66C745BC0800    mov [ebp-44], 0008
:00427DA7 8D45FC          lea eax, dword ptr [ebp-04]
:00427DAA E8059CFDFF      call 004019B4
:00427DAF FF45C8          inc [ebp-38]
:00427DB2 66C745BC1400    mov [ebp-44], 0014
:00427DB8 66C745BC2000    mov [ebp-44], 0020
:00427DBE 8D45F8          lea eax, dword ptr [ebp-08]
:00427DC1 E8EE9BFDFF      call 004019B4
:00427DC6 FF45C8          inc [ebp-38]
:00427DC9 66C745BC1400    mov [ebp-44], 0014
:00427DCF 66C745BC2C00    mov [ebp-44], 002C
:00427DD5 BA02000080      mov edx, 80000002
:00427DDA 8B45A4          mov eax, dword ptr [ebp-5C]
:00427DDD E8FEC10600      call 00493FE0
:00427DE2 66C745BC3800    mov [ebp-44], 0038
:00427DE8 8D45F4          lea eax, dword ptr [ebp-0C]
:00427DEB E8C49BFDFF      call 004019B4
:00427DF0 8BC8            mov ecx, eax
:00427DF2 FF45C8          inc [ebp-38]
:00427DF5 8B55A8          mov edx, dword ptr [ebp-58]
:00427DF8 81C204030000    add edx, 00000304

* Possible StringData Ref from Data Obj ->"software\microsoft\windows\currentversion\priv"
                                        ->"atestorage\"

*****************************************************************
現在,可以暴力修改了 ?
:00426B69 E80E120000    call 00427D7C  //NOP 掉(9090909090)

:004278ED E88A040000    call 00427D7C  //NOP 掉(9090909090)
重新執行修改後的程式,已無限制,暴力破解成功!!!

三、註冊碼的解法
    雖然暴力破解成功了,但我又想解它的註冊碼,畢竟註冊碼方便得多啦。暴力破解後登錄檔:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\privatestorage\CJSFormater]中項是我原來亂填的,沒有真實的註冊碼。
    先用TRW 2000 下bpx 00426B69,g,退出,執行脫殼後程式,中斷在:
00426B69 CALL  00427D7C 處、F8進入,F10單步跟蹤... (在第一次跟蹤時沒有記錄在案,只是在記憶體中翻了翻,看到一個碼:4E58DE8A60210BF6 ,退出填入,註冊成功。到想再跟蹤多一次的時候,怎麼也不能出現:4E58DE8A60210BF6 了,實在太失敗了!!!)。哪位大哥能指導、指導!!!(看雪的書中有無呢?第幾頁?我buy了看雪的書)


註冊成功後我的登錄檔:(我本機器ID號:A3B89D30BEBF76825)
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\privatestorage\CJSFormater]
"ATDATE"=hex:bd,5f,cb,f6,fe,59,e2,40
"Email"="zywicbc@china.com"
"RegCode"="4E58DE8A60210BF6"
                            
 感謝crackhl[CCG]上次在論壇給我的指導、支援!這是小弟寫的第3篇破文,不知此文可不可以做我加入BCG的第2篇呢?
            
    我的第3篇破文:zywicbc 於2001/11/24  8 pm

相關文章