三分鐘破解奇蹟熱門外掛

三分鐘破解奇蹟熱門外掛
 
■《黑客X檔案》 輝月  ■輝月 加入時間:2005-2-3 11:04:37  點擊: <script language="javascript" src="../admin/showhit.asp?id=121" type="text/javascript"></script>7457
 
三分鐘破解奇蹟熱門外掛
                 ——破解過程手記
外掛破解一直以來都是熱門話題,畢竟外掛是一種很特殊的東西,爲了防止被破解掉,外掛一般都會加上猛殼,讓人無法下手。不過有時候外掛並不是那麼神祕,靈活的思考對破解是很有幫助的。今天小生就獻醜了,說說我的破解過程。(注:爲了方便我都是在V3.2b上取代碼和截圖)
 
一、軟件信息和所用工具
程序名稱:99奇蹟V3.2b版
文件名:99mu.exe
文件大小:264,192 byte
加殼類型:ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov
破解所用工具:Ollydbg V1.10 正式漢化修改版——flyODBG、PEiD v0.92、keymake1.73

二、破解過程

7月18日 第一天

    聽說99奇蹟19日0時開始收費,心裏確實不爽,於是決心研究一下這個外掛,首先想到的當然是常規的方法。用PE打開99mu.exe,可以看到加殼類型爲ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov,習慣性的用插件查看OPE,結果並沒能得到我想要的入口點地址,如圖1。

 


    我個人經驗,用ASProtect 1.2x加的殼都能找到OEP的,估計這個殼比較新,或者被手工修改過的。看來要手工找OPE脫殼了。不過這殼確實挺麻煩的,脫出來了,可IAT中有十多個API函數沒辦法修復,跟了一天都沒結果。
    實在沒辦法了,第一天以脫殼失敗告終。

7月19日 第二天

    今天沒外掛用了,不死心,決定再突破一下。
    用OD載入99mu.exe,用插件隱藏調試標誌(如圖2),

 


在調試設置中忽略全部異常。載入後會停在以下代碼處:

00401000 9>  68 01006C00         push 99mu.006C0001  //載入後停在這裏
00401005     E8 01000000         call 99mu.0040100B
0040100A     C3                  retn
0040100B     C3                  retn
0040100C     D16B 84             shr dword ptr ds:[ebx-7C],1
0040100F     A8 CE               test al,0CE
00401011     98                  cwde
00401012     9D                  popfd

    直接F9,讓程序運行起來(如圖3),運行過程中有兩次警告都不用理它。可以看到我們還在99mu這個模塊中,這對我們來說是個好事,試了試常規斷點:
bpx GetDlgItemText
bpx GetDlgItemInt
bpx GetWindowText
bpx GetWindowWord
bpx GetWindowInt

 


    沒一個能斷下來,鬱悶,試試萬能斷點吧(OD下萬能斷點方法請參看2004年4月的X檔案),N麻煩,不過對於我這樣的菜鳥很實用。下短點“BPX *”,在所有命令上下斷,很直接,程序馬上就給OD斷下來了,現在就要取消一些斷點了,因爲外掛的熱鍵有F9所以不能用F9運行程序,要用鼠標點工具欄上的運行按鍵纔可以,現在點一次運行按一次F2,取消一些程序加載時的斷點,直到我們能隨便移動外掛窗口而不被OD斷下來爲止。

    好的,現在我們在外掛的“99密碼框”中隨便輸入幾個字符,比如說78787878787878這樣的,有助於跟蹤的字符。然後點登陸,程序又被斷下來。然後的過程很煩,一個CALL就斷一次,我就得判斷一次這個CALL是否對破解有用,跟得頭都大了,當然,還好的是我來到了下邊的位置:

004195FA     68 54EC4300         push 99mu.0043EC54             ; ASCII "%d.%d.%d.%d"  //IP地址的格式
004195FF     52                  push edx
00419600     E8 E1720100         call 99mu.004308E6             ; jmp to mfc42.#2818
00419605     83C4 18             add esp,18
00419608     8B45 08             mov eax,dword ptr ss:[ebp+8]
0041960B     50                  push eax
0041960C     E8 297B0100         call 99mu.0043113A             ; jmp to WS2_32.inet_addr
00419611     8B8E 48030000       mov ecx,dword ptr ds:[esi+348]  //在這裏可以看到IP
00419617     8941 34             mov dword ptr ds:[ecx+34],eax

    看004195FA那裏的%d.%d.%d.%d像什麼?對的,像IP的格式,放慢速度,在0041960C這個CALL就是增加IP地址的函數,在00419611這裏我們可以看到寄存器裏外掛驗證服務器的IP。看到這裏就有信心了,跟下去,下邊就是把我們的遊戲帳號進行N次運算的過程,本來打算研究研究的,想通過修改驗證服務器IP,然後根據算法寫出個服務端,進行單機驗證的,不過最後放棄了,畢竟我是菜鳥,有沒耐心。決定碰碰運氣,找驗證的地方改跳轉吧。繼續向下看,沒走多遠,就遇到了一個跳轉,代碼如下:

00419723     E8 881E0100         call 99mu.0042B5B0
00419728     85C0                test eax,eax
0041972A     75 29               jnz short 99mu.00419755  //這個跳轉值得研究
0041972C     8B8E 48030000       mov ecx,dword ptr ds:[esi+348]
00419732     E8 591E0100         call 99mu.0042B590
00419737     51                  push ecx
00419738     8BCC                mov ecx,esp
0041973A     8965 E0             mov dword ptr ss:[ebp-20],esp
0041973D     68 2CEC4300         push 99mu.0043EC2C             ; ASCII "can not pass authen"  //這裏很有意思
00419742     E8 B7710100         call 99mu.004308FE             ; jmp to mfc42.#537
00419747     8BCE                mov ecx,esi
00419749     E8 52FBFFFF         call 99mu.004192A0

    本來對這個跳轉沒怎麼注意的,不過看到“ASCII "can not pass authen"”字樣我就樂了(圖4),有什麼說的,這個就是驗證的地方了。把0041972A處的jnz short 99mu.00419755 改爲je short 00419755 ,試試看,不出所料驗證通過了。

 


    有了這些寶貴的資料,現在我們要做的就是怎麼修改這個跳轉的問題,因爲沒脫殼,不能用改代碼的方法 ,不要說次次都開OD來改吧,這樣太恐怖了。其實動態修改的方法我早想好了,做個內存補丁就OK了,請出keymake1.73,從菜單中的“其他→製作內存補丁”開始製作內存補丁,把“等到進程閒置時修改內存”給鉤上,然後添加要修改的內存數據,修改地址就是0041972A這個跳轉,由75 29可以知道數據長度爲2,原始指令就是75 29了,修改指令爲74 29,如圖5,然後生成補丁就OK了。今天的成果不錯哦。

 



7月20日 第三天

    今天下午1點,99奇蹟更新3.2b版,呵呵,沒什麼說的,抄傢伙,破掉它。直接用OD載入,讓程序運行起來,搜索字符參考,找到“can not pass authen”,雙擊它,然後向上看,明擺着一個跳轉指令在哪,動手,直接製作內存補丁。OK,整個過程不用三分鐘,怎麼樣,爽吧?
三、總結

    破解這個外掛確實只需要三分鐘,可我卻用了3天時間,走了不少彎路,當然也學到不少,希望我的破解手記能給像我一樣的菜鳥們帶來些幫助。



www.yuesky.com獨家推出,未經《黑客X檔案》及本站授權,請勿轉載。違者,本站將與《黑客X檔案》共同追究其法律責任。
輝月 2005.2.3

發佈了61 篇原創文章 · 獲贊 12 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章