Authorware 5.0破解 (4千字)

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

Authorware 5.0破解
 

作者:夜月
E-mail:luoyi.ly@yeah.net
寫作日期: 30th, Aug 2001

軟體背景資料

執行平臺: Win9X/NT     
檔名稱: Authorware.exe
程式型別: 多媒體制作工具
下載地點: 不詳
檔案大小: 未知

使用的工具

Trw2000 V3.25--Win9X Debugger
W32Dasm V8.93--Win9X Dissembler
WinHex  v9.54--Hex Editor

難易程度

Easy( )  Medium(X)  Hard( )  Pro( )

                  ----------=======宣告========----------

    未經作者同意,不得修改、引用原文,一切權利保留。
    本教程只供教學用,其他一切用途皆被禁止。
             
                  ----------========正文=======----------
    前幾天弄了張Authorware的盤,一安裝,發現是用SalesAgent作的保護。很可笑,竟然可以直接
執行Authpop.exe從而得到完整的Authorware.exe!(不過,就算不能如此,相信SalesAgent的保護也應該
是“此時無它勝有它”吧?教程滿天飛,unlocking code也是明碼。呵呵……我還要說更多嗎?
(1)    打狗
    不過,得到Authorware.exe後,一執行,跳出來一個MessageBox:Can't Find A Hardware
Key……。好傢伙,“城市不準養狗,處處總聞狗叫”,看來這個程式是帶狗的。
    在Trw2000中,bpio 378,攔下來後,看了半天,竟然是在Sentinel.vxd中轉悠,連pmodule都不行。
一氣之下,把Sentinel.vxd刪掉了。再啟動,又被攔下,這下好了,是在主程式體中轉圈。F12,F10幾次以
後,結合W32Dasm的分析,發現下面是關鍵:

:0050D6B8 668B8B540B6200          mov cx, word ptr [ebx+00620B54]
:0050D6BF 662BC8                  sub cx, ax

:0050D6C2 6683F901                cmp cx, 0001  //就是這三句可以改掉
:0050D6C6 1BDB                    sbb ebx, ebx
:0050D6C8 F7DB                    neg ebx

:0050D6CA 85DB                    test ebx, ebx
:0050D6CC 7509                    jne 0050D6D7
:0050D6CE 8B442410                mov eax, dword ptr [esp+10]
:0050D6D2 8BCE                    mov ecx, esi
:0050D6D4 50                      push eax
:0050D6D5 FF17                    call dword ptr [edi]

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0050D691(C), :0050D6CC(C)
|
:0050D6D7 8BC3                    mov eax, ebx
:0050D6D9 5F                      pop edi
:0050D6DA 5E                      pop esi
:0050D6DB 5B                      pop ebx
:0050D6DC C20400                  ret 0004  //eax=0,bad guy!


修改:
:0050D6C2 6683F901                cmp cx, 0001
:0050D6C6 1BDB                    sbb ebx, ebx
:0050D6C8 F7DB                    neg ebx     
改為:
    mov    ebx,1
    nop
    nop
    nop
就可以去掉狗的限制了!

(2)    關於“關於”
    點“About”,彈出的DialogBox貼圖竟然是“NON-COMMERCIAL”!
    下中斷“bpx RegisterClassEx do "d *(*(esp+4)+24)”直到看到“AWABOUT”字樣。分析該Class
的結構:
    
    00 00 00 00 <---------Style
    C0 10 40 00 <---------WndProc !
    00 00 00 00 <---------clsExtra
    1E 00 00 00 <---------WndExtra (DLGWINDOWEXTRA)
    00 00 40 00 <---------Instance
    00 00 00 00 <---------Icon
    EE 13 00 00 <---------Cursor 
    06 00 00 00 <---------Background (COLOR_WINDOWFRAME)
    00 00 00 00 <---------MenuName
    98 40 61 00 <---------ClassName  (AWABOUT)
    
    由此可見,該DialogBox的訊息處理函式的入口在4010C0處。

    下斷點:"bpx 4010C0 if (*(esp+8)==f)" 使其中斷於WM_PAINT(因為貼圖一定會有此訊息)。

    中斷後,跟蹤可知[0061891D]處的值決定了顯示圖片的種類(因為重灌了系統,所以找不到
    相關的程式碼了)。

    關閉程式,下斷點"bpx 61891C w",中斷於:

:005830C9 3D7C010000              cmp eax, 0000017C
:005830CE 7502                    jne 005830D2

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:005830B2(C)
|
:005830D0 33F6                    xor esi, esi    //就是這句要修改

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:005830CE(C)
|
:005830D2 85F6                    test esi, esi
:005830D4 741A                    je 005830F0
:005830D6 83E1FD                  and ecx, FFFFFFFD
:005830D9 A11C896100              mov eax, dword ptr [0061891C]

    跟蹤,分析可知583000D0處的XOR指令NOP掉後,[0061891C]處的值就永遠為0。從而顯示沒有
    標記的圖片。

(3)    License的苦惱
    圖片是改過來了,可是,“License to:”後面的Trial User卻怎麼也改不過來。

    程式呼叫Brand032.dll讀取Brand.brd檔案裡面的內容,從而得到使用者名稱和註冊號。其中的運算
    過程實在是複雜過頭,我看不懂。

    你也可以修改Brand.brd檔案,從而讓程式啟動時跳出一個輸入框讓你輸入名字,公司,註冊號。
    可是這裡面的運算(呼叫cereal.dll)也同樣複雜難懂。好像和MacroMedia公司其它產品的演算法
    不太一樣。

    License……未完待續…………

                  ----------========結尾=======----------
    非常希望哪位朋友能夠告訴我它License的演算法,我自己分析了很久,一直找不到要點。

    pLEASE eMAIL tO:luoyi.ly@yeah.net


    Thanks To All!Good Luck!

相關文章