UltraEdit-32 v8.10.a 暴力破解 (4千字)

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

UltraEdit-32 v8.10.a 暴力破解
(轉載請保持完整,謝謝!)

作者:BinC
E-Mail: ket-c@21cn.com
HomePage: http://reredrum.126.com
破解工具:W32DASM
破解日期:2001.05.07
整理日期: 2001.05.11

軟體名稱:UltraEdit-32
最新版本:v8.10.a
軟體授權:共享軟體
使用平臺:Win95/98/NT
軟體下載:抱歉,忘了!^_^但相信許多站點都有。
軟體簡介:
    不用多說,Window最好的16進位制編輯器。

前言:
    這裡這種破解方法參考了丁丁蝦(想稱呼為“丁丁蝦大蝦”,但總覺得彆扭,只好委屈你了^_^)破解UltraEdit-32 v7.0a的文件,特別感謝!

首先使用W32DASM反彙編。找到以下程式碼:

* Possible StringData Ref from Data Obj ->"Settings"
                                  |
:00480CE0 68F8FC4F00              push 004FFCF8
:00480CE5 E89265F9FF              call 0041727C
:00480CEA A1D48E5000              mov eax, dword ptr [00508ED4]
:00480CEF 2B05E08E5000            sub eax, dword ptr [00508EE0]
:00480CF5 50                      push eax
:00480CF6 E8824D0100              call 00495A7D
:00480CFB 83F82D                  cmp eax, 0000002D
                                  ~~~~~~~~~~~~~~~~~比較日期,2D為45天,最大可改為120(7F)天,但沒什麼意義:)
:00480CFE 59                      pop ecx
:00480CFF 7F0C                    jg 00480D0D
:00480D01 399E48010000            cmp dword ptr [esi+00000148], ebx
:00480D07 0F8576FFFFFF            jne 00480C83

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00480CFF(C)
|
:00480D0D E81890F8FF              call 00409D2A
                                  ~~~~~~~~~~~~~當軟體過期時,此CALL將彈出填寫註冊碼的視窗,改為nop可跳過
:00480D12 391DA08E5000            cmp dword ptr [00508EA0], ebx
:00480D18 758A                    jne 00480CA4
                                  ~~~~~~~~~~~~當軟體過期時彈出填寫註冊碼的視窗按Cancel按鈕後,將彈出警告視窗,改為je可跳過
:00480D1A A19C055000              mov eax, dword ptr [0050059C]
:00480D1F 894510                  mov dword ptr [ebp+10], eax
:00480D22 894514                  mov dword ptr [ebp+14], eax

* Possible Reference to String Resource ID=00068: "UltraEdit 45 Day Evaluation time expired!!!!"
                                  |
:00480D25 6A44                    push 00000044
:00480D27 8D4D10                  lea ecx, dword ptr [ebp+10]
:00480D2A C645FC02                mov [ebp-04], 02
:00480D2E E8B7A30200              call 004AB0EA

* Possible Reference to String Resource ID=00069: "To continue to use UltraEdit you must send the registration "
                                  |
:00480D33 6A45                    push 00000045
:00480D35 8D4D14                  lea ecx, dword ptr [ebp+14]
:00480D38 E8ADA30200              call 004AB0EA
:00480D3D 6830200000              push 00002030
:00480D42 FF7510                  push [ebp+10]
:00480D45 FF7514                  push [ebp+14]
:00480D48 53                      push ebx

…………
……


這樣就去掉了過期時彈出的視窗。現在我們來改掉未過期時彈出的視窗,在此程式碼基礎上向上查詢,來到:


* Possible StringData Ref from Data Obj ->"Days to expire"
                                  |
:00480C6E 68A4FD4F00              push 004FFDA4
:00480C73 57                      push edi
:00480C74 E80366F9FF              call 0041727C
:00480C79 A1D48E5000              mov eax, dword ptr [00508ED4]
:00480C7E A3E08E5000              mov dword ptr [00508EE0], eax

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00480D07(C)
|
:00480C83 391DA08E5000            cmp dword ptr [00508EA0], ebx
:00480C89 7519                    jne 00480CA4
                                  ~~~~~~~~~~~~~這個跳轉將彈出未過期時的提示視窗,改為je可不跳轉

* Possible Reference to String Resource ID=00005: "ULTRAEDT.MAC"
…………
………

分析過後,用UltraEdit32開啟UE主程式檔案(用UltraEdit改UltraEdit??以毒攻毒??呵呵),然後這樣改:
      一、試用日期:存放在地址:00080CFDH ,最大為120天(即7FH),預設為45天(即2DH);
      二、去掉未過期時的註冊警告視窗:地址 00080C89H 的 75 改為 74
      三、過期時:
          1、去掉填寫註冊碼的視窗:00080D0DH ―― 00080D12H(共5個位元組)全改為 90
          2、去掉過期的警告視窗:00080D18H 的 75 改為 74


這樣改後,還有一點微暇,就是軟體啟動後主窗體沒有馬上得到焦點,得過一段時間(等於彈出視窗從彈出到關閉這段時間)才能得到焦點,估計UE使用了計時器,如果能找到的話就爽了……^_^

後記:此軟體非常“熱門”(指破解),相信網上關於此軟體的破解方法滿天飛,這裡用的是最簡單的破解法,水平不高,但也是我初學破解的一點經驗,還希望能得到高手的指點!

                                            BinC
                                        10:47 11.05.2001
                                        mailto: ket-c@21cn.com

相關文章