現在的網咖,大部分都安裝了pubwin4,用起來有很多限制,總之很不爽啊!!
雖然,網上有很多工具來破掉Punwin,但是大多版本過時或者有諸多限制
有的甚至暗藏木馬,所以在下就在這裡介紹一種方法,破解網咖的限制,使得
上網更加自由,即使你是初學破解的人,或者從來沒有接觸過軟體破解知識也可以完成,只要你一步步跟著做就可以了。當然,高手對在下的方法自然不屑一看,還望不要見笑。
好了,現在就開始。
首先,瞭解一下背景,大家有可能知道Pubwin的一些版本是採用明碼比較的方式處理密碼,所以在網上下載一個winhex就可以搞定,具體方法可以上網找一下,不過,現在的版本可不是簡單的明碼比較了。
筆者的測試環境是(win98+Pubwin4.3.0.1),這個版本把密碼進行加密並存放在記憶體的某個地方,所以用上面的方法就不靈了。筆者透過跟蹤,發現這個版本的pubwin的處理方式只是把使用者輸入的密碼進行加密,並且呼叫MSVCRT_mbscmp函式對加密後的字串和記憶體中的正確的密碼加密字串相比較,如果相同就繼續執行,否則,就跳出一個訊息框,提示使用者輸入的密碼錯誤。
好了,知道了以上的知識,就可以進行破解了
1。從網上下載TRW2000
http://www.pediy.com/tools/Debugger....2X/trw1.23.zip
按Browse,選擇Pubwin4.exe,然後load,裝載pubwin4。
2。設定斷點:
輸入,bpx messageboxa,回車。
3。按Ctrl+N,返回windows,開啟“管理工具”--》“系統設定”隨意在輸
入密碼欄內輸入幾個數字,並點“確定”。
4。TRW2000攔截斷點,形如下:
0167:BFC041B7 C20400 RET 04
USER32!MessageBoxA
0167:BFC041BA 55 PUSH EBP
0167:BFC041BB 8BEC MOV EBP,ESP
0167:BFC041BD 6A00 PUSH BYTE +00
0167:BFC041BF FF7514 PUSH DWORD [EBP+14]
0167:BFC041C2 FF7510 PUSH DWORD [EBP+10]
0167:BFC041C5 FF750C PUSH DWORD [EBP+0C]
0167:BFC041C8 FF7508 PUSH DWORD [EBP+08]
0167:BFC041CB E84CECFFFF CALL `USER32!MessageBoxExA`
0167:BFC041D0 5D POP EBP
此時,按F12鍵,發現返回Windows介面,點“確定”後,又返回TRW2000
再按一次F12和F10鍵,來到如下地址:
0167:0040F479 52 PUSH EDX
0167:0040F47A 6850154300 PUSH DWORD 00431550
0167:0040F47F FF1508594200 CALL `MSVCRT!_mbscmp`
0167:0040F485 83C408 ADD ESP,BYTE +08
0167:0040F488 85C0 TEST EAX,EAX
0167:0040F48A 7509 JNZ 0040F495
0167:0040F48C 8BCE MOV ECX,ESI
0167:0040F48E E8730C0100 CALL `MFC42!ord_000012F5`
0167:0040F493 EB4E JMP SHORT 0040F4E3
0167:0040F495 6A30 PUSH BYTE +30
0167:0040F497 6810FE4200 PUSH DWORD 0042FE10
0167:0040F49C 68F8FD4200 PUSH DWORD 0042FDF8
0167:0040F4A1 8BCE MOV ECX,ESI
0167:0040F4A3 E8520C0100 CALL `MFC42!ord_00001080`
發現地址形如:XXXX:0040XXXX,回到程式領空,點程式碼視窗,並向上
翻屏,果然發現`MSVCRT!_mbscmp`函式,於是,在此處設定記憶體斷點,
在命令視窗輸入:
bpm 40F485 X do "r eax 00000000"
(40F485這個地址要視,不同情況而定,即只要在MSVCRT!_mbscmp的下一句
設定斷點即可)
分析一下,程式在CALL MSVCRT!_mbscmp這一行對加密的密碼字串和使用者輸入的密碼比較,如果相同返回0,否則返回-1(FFFFFFFF),返回值放入eax中
所以只要把放在eax中的值改為0,那不就萬事OK了。
在設定了以上斷點後,按Ctrl+N ,返回windows,開啟“管理工具”--》“系統設定”隨意在輸入密碼欄內輸入幾個數字,並點“確定”。返回了
TRW2000介面,按F5鍵,看看,是不是出現了系統設定介面?
至此,整個破解過程就完成了,如果你是高手當然不會放過上面的密碼加密
過程了,仔細分析以下,不難得出真正的密碼,在下的這個方法只不過是“爆破法”,目的是讓初學者從例項中瞭解破解的過程,又不乏實用性。
在下這是第一次寫軟體的破解過程,選的例子也很簡單,還望不要見笑,如果你對一些東西還不瞭解,建議你看看“看雪學院”的教程:
http://www.pediy.com/tutorial/Catalog.htm
最後,希望大家不要利用這種方法在網咖中破壞,或者“免費上網”,如果這樣造成的後果自負哦!