網咖維護系統1.03 (5千字)

看雪資料發表於2001-12-16

網咖維護系統1.03
今天在CNCG的主頁上看到釋出CNCG的第一個crackme,呵呵,我乃菜鳥一個,正好試試我的功力如何,立馬拉下來了,一看個頭還挺大的,我用小貓:)安裝之後隨便操作幾下後,點註冊,發現是靠機器碼的,不要使用者名稱,隨便輸入一個註冊碼,點確定,彈出一個框,說要重新啟動軟體來驗證註冊碼是否正確,重新執行軟體,沒有發現什麼異樣,註冊按鈕也不見了,我還以為瞎貓碰上死耗子了,點下一步,彈出一個框,說註冊碼錯誤,與作者聯絡,KAO,原來是這樣,又執行了幾遍,發現出現這個對話方塊是不固定的,有時候第一下點下一步按鈕對話方塊就出來了,有時候要點兩次下一步才會出現這個對話方塊,KAO,這麼麻煩,先看看有殼沒有,pecompact1.4 or above的殼,用unpecomact脫了它,執行脫殼之後的程式,進去就退出來了,KAO,這裡也防了,跟那個sitman一樣,在trw中下bpx exitprocess ,執行脫殼後的程式,被trw斷下來,透過分析、查詢和嘗試,招到了那個呼叫這個函式的call,將它nop掉,在執行,程式死在那裡了,看來整個call全nop掉不行,那就找跳轉,無奈發現裡面的call實在太多,跳轉也多,而且有些call實際上是跳轉,找了幾個跳轉試了試,不是非法操作就是當機,可能是我沒有找對吧,總之煩死了,加上我的彙編又爛,看來爆破是沒有門了,還是老老實實的追註冊碼吧,但是下什麼斷點來斷下程式呢,想到點下一步時會彈出一個錯誤的框來,就下與它有關的斷點吧,結果我試了一個又一個,KAO,竟然沒有一個能斷下來的,真是活見鬼了。用黃金加強版反反彙編的w32dsm反編譯脫殼後的檔案,裡面竟然什麼字串都沒有,天啊,還反反反彙編,我倒。到這裡我都快黔驢技窮了,隨手又察看了一下脫殼後的檔案,發現是用delphi寫的,哈哈,好說好說,用dede反之,哈哈,終於顯出原型來了,一番分析後,直達要害部位,下面是要害部位的部分程式碼:
0045CB89  push    dword ptr fs:[eax]
0045CB8C  mov    fs:[eax], esp
0045CB8F  mov    edx, $80000002
0045CB94  mov    eax, [ebp-$18]
0045CB97  call    0044EE20
0045CB9C  mov    cl, $01
* Possible String Reference to: '\Software\New Sun\網咖管理員'
0045CB9E  mov    edx, $0045D170
0045CBA3  mov    eax, [ebp-$18]
0045CBA6  call    0044EE84
0045CBAB  mov    eax, dword ptr [$46088C]
0045CBB0  cmp    eax, [$460884]
0045CBB6  jz      0045CBCB
0045CBB8  mov    eax, [ebp-$04]
* Reference to control TForm1.s3 : TLabel
0045CBBB  mov    eax, [eax+$02F4]
* Reference to field TLabel.OFFS_0047
0045CBC1  cmp    byte ptr [eax+$47], $00
0045CBC5  jnz    0045CBCB
0045CBC7  xor    eax, eax
0045CBC9  jmp    0045CBCD
0045CBCB  mov    al, $01
0045CBCD  cmp    al, $01
0045CBCF  jnz    0045CCBB    //這裡如果跳走的話,你就成功了
0045CBD5  lea    ecx, [ebp-$1C]
0045CBD8  mov    dl, $01
0045CBDA  mov    eax, [ebp-$04]
* Reference to : TForm1.luomingfor()
0045CBDD  call    0045E0A4
0045CBE2  mov    eax, [ebp-$1C]
0045CBE5  push    eax
0045CBE6  lea    edx, [ebp-$20]
0045CBE9  mov    eax, [ebp-$04]
* Reference to control TForm1.putregcode : TEdit
0045CBEC  mov    eax, [eax+$033C]
0045CBF2  call    0042A80C
0045CBF7  mov    edx, [ebp-$20]
0045CBFA  mov    eax, [ebp-$04]
0045CBFD  pop    ecx
* Reference to : TForm1.ok()
0045CBFE  call    0045CA54    //哈哈,經典對比組合,想知道怎麼對比就跟進去,如果只是要註冊碼的話,就D ECX吧,你看到了什麼?怎麼樣,你成功了吧。 :)
0045CC03  test    al, al
0045CC05  jz      0045CC56
0045CC07  mov    eax, [ebp-$04]
* Reference to control TForm1.regestg : TGroupBox
0045CC0A  mov    eax, [eax+$032C]
0045CC10  xor    edx, edx
0045CC12  call    0042A724
0045CC17  mov    eax, [ebp-$04]
* Reference to control TForm1.ireg : TButton
0045CC1A  mov    eax, [eax+$0328]
0045CC20  xor    edx, edx
0045CC22  call    0042A724
0045CC27  lea    edx, [ebp-$24]
0045CC2A  mov    eax, [ebp-$04]
* Reference to control TForm1.putregcode : TEdit
0045CC2D  mov    eax, [eax+$033C]
0045CC33  call    0042A80C
0045CC38  mov    ecx, [ebp-$24]
* Possible String Reference to: 'regcodebak'
0045CC3B  mov    edx, $0045D198
0045CC40  mov    eax, [ebp-$18]
0045CC43  call    0044F020
0045CC48  mov    eax, dword ptr [$460880]
0045CC4D  mov    dword ptr [eax+$0C], $0000000B
0045CC54  jmp    0045CCBB          //在這裡跳走的話,才是光明大道
0045CC56  xor    ecx, ecx
* Possible String Reference to: 'chereg'
0045CC58  mov    edx, $0045D1AC
0045CC5D  mov    eax, [ebp-$18]
0045CC60  call    0044F108
0045CC65  mov    eax, dword ptr [$460880]
0045CC6A  mov    dword ptr [eax+$0C], $00000003
0045CC71  mov    eax, [ebp-$04]
* Reference to control TForm1.ireg : TButton
0045CC74  mov    eax, [eax+$0328]
0045CC7A  mov    dl, $01
0045CC7C  call    0042A724
0045CC81  mov    eax, [ebp-$04]
* Reference to control TForm1.putregcode : TEdit
0045CC84  mov    eax, [eax+$033C]
0045CC8A  xor    edx, edx
0045CC8C  call    0042A83C
* Possible String Reference to: '對不起,你輸入的註冊碼有問題!如要注
|                                冊請與我聯絡電話:0732-5571778  0732
|                                -2372543Email:icqlm@sohu.com'
|
0045CC91  mov    eax, $0045D1BC
0045CC96  call    0044CF84
0045CC9B  mov    eax, dword ptr [$460880]
0045CCA0  mov    dword ptr [eax+$0C], $00000001
0045CCA7  mov    eax, dword ptr [$45FDEC]
0045CCAC  mov    eax, [eax]
0045CCAE  call    004484AC
0045CCB3  mov    eax, [ebp-$04]
0045CCB6  call    00445184
0045CCBB  xor    eax, eax
0045CCBD  pop    edx
0045CCBE  pop    ecx
0045CCBF  pop    ecx
0045CCC0  mov    fs:[eax], edx
0045CCC3  push    $0045CCE0
0045CCC8  mov    eax, [ebp-$18]
0045CCCB  call    0044EDF0
0045CCD0  mov    eax, [ebp-$18]
0045CCD3  call    00402EDC
0045CCD8  ret


最後整理一下:
我的機器碼:77207838775-7009955
我的註冊碼:67678389907
如果你還想來一遍的話,在登錄檔中招到下面這兩個鍵值:
[HKEY_LOCAL_MACHINE\Software\New Sun\網咖管理員]
"ifreg"=""          將它的值刪掉
[HKEY_LOCAL_MACHINE\Software\New Sun\網咖管理員]
"regcodebak"=""    將它的值刪掉
你就又可以註冊了!
                    
                                    cracker:Turkey/滅害靈
                                    2001.12.16@02:33

轉載請保持完整性,謝謝!!

相關文章