|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-05-14, 02:49 AM | #1 |
榮譽會員
|
貓脫 PECompact 2.x -> Jeremy Collake
貓脫 PECompact 2.x -> Jeremy Collake
軟體名稱:靈點條碼列印系統 語言種類: 簡體中文 版 本 號: V2.0 文件大小: 909 K 發怖日期: 2006.03.22 軟體檔案類型: 共享 脫殼文章作者:野貓III[D.4s] 下載位址:http://download.enet.com.cn/html/030812006032201.html 新版下載:http://down.itbbs.com/Software/View-Software-5672.html 軟體簡介: 通用的條碼列印系統,組態靈活支持20多種國際標準,無須專用列印機和條碼紙,在Windows系統下安裝即可使用,列印提供多種選項,可以選項列印條碼漢字標題,條形碼編碼,位置可以任意確定,條碼製作所見所得,提供既時預覽功能,無需在列印機上反覆偵錯,對紙張無特殊要求,從信封,卡片,證照到不干膠標籤,專用條碼紙都可以準確列印,輸入可以批量製作,個別輸入或文本文件匯入,輸出提供批量,選範圍和個別列印的功能,完全能夠適合各種行業的特殊要求。 脫殼程序: 一、用 PEiD查出是PECompact 2.x -> Jeremy Collake殼。 二、用OD載入,忽略所有異常,然後重新載入程序。載入後,程式碼停在這裡: 00401000 > $ B8 681B6300 MOV EAX,JYtmw.00631B68 00401005 . 50 PUSH EAX 00401006 . 64:FF35 00000>PUSH DWORD PTR FS:[0] //F8單步來到這裡,看暫存器。ESP紅了。 ++++++++++++++++++++++++ EAX 00631B68 JYtmw.00631B68 ECX 0012FFB0 EDX 7C92EB94 ntdll.KiFastSystemCallRet EBX 7FFDF000 ESP 0012FFC0 。。。。。。。ESP紅了!我們接著下斷這個硬體斷點。 EBP 0012FFF0 ESI FFFFFFFF EDI 7C930738 ntdll.7C930738 EIP 00401006 JYtmw.00401006 C 0 ES 0023 32位 0(FFFFFFFF) P 1 CS 001B 32位 0(FFFFFFFF) A 0 SS 0023 32位 0(FFFFFFFF) Z 1 DS 0023 32位 0(FFFFFFFF) S 0 FS 003B 32位 7FFDE000(FFF) T 0 GS 0000 NULL D 0 O 0 LastErr ERROR_CLASS_ALREADY_EXISTS (00000582) EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE) ST0 empty -UNORM D1D8 01050104 00000000 ST1 empty 0.0 ST2 empty 0.0 ST3 empty 0.0 ST4 empty 0.0 ST5 empty 0.0 ST6 empty 1.0000000000000000000 ST7 empty 1.0000000000000000000 3 2 1 0 E S P U O Z D I FST 4020 Cond 1 0 0 0 Err 0 0 1 0 0 0 0 0 (EQ) FCW 027F Prec NEAR,53 掩碼 1 1 1 1 1 1 +++++++++++++++++++++++++++++ 在OD指令欄輸入dd 12FFC0,Enter鍵之後,我們在資料視窗中看到: 0012FFC0 00631B68 JYtmw.00631B68 。。。右鍵--斷點---硬體斷點--雙字 0012FFC4 7C816D4F 返回到 kernel32.7C816D4F 0012FFC8 7C930738 ntdll.7C930738 ====================然後點OD的運得按鈕。來到: 7C957826 3B45 F8 CMP EAX,DWORD PTR SS:[EBP-8] 7C957829 72 09 JB SHORT ntdll.7C957834 7C95782B 3B45 F4 CMP EAX,DWORD PTR SS:[EBP-C] 7C95782E ^ 0F82 F731FFFF JB ntdll.7C94AA2B 7C957834 50 PUSH EAX 7C957835 E8 67000000 CALL ntdll.7C9578A1 7C95783A 84C0 TEST AL,AL 7C95783C ^ 0F84 E931FFFF JE ntdll.7C94AA2B 7C957842 F605 5AC3997C 8>TEST BYTE PTR DS:[7C99C35A],80 7C957849 0F85 20720100 JNZ ntdll.7C96EA6F 。。F8到這裡的時候,跳轉不實現。右鍵--->跟隨! +++++++++++++++++++++++++++++++++ 7C96EA6F 6A 10 PUSH 10 7C96EA71 53 PUSH EBX 7C96EA72 6A 00 PUSH 0 7C96EA74 FF75 0C PUSH DWORD PTR SS:[EBP+C] 7C96EA77 56 PUSH ESI 7C96EA78 E8 136B0100 CALL ntdll.7C985590 7C96EA7D 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX 7C96EA80 ^ E9 CA8DFEFF JMP ntdll.7C95784F 7C96EA85 57 PUSH EDI 。。。右鍵-->斷點-->執行到所選! 7C96EA86 FF75 F0 PUSH DWORD PTR SS:[EBP-10] +++++++++++++++++++++++++++ 7C957852 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14] 7C957855 50 PUSH EAX 7C957856 FF75 0C PUSH DWORD PTR SS:[EBP+C] 7C957859 53 PUSH EBX 7C95785A 56 PUSH ESI 7C95785B E8 F3BEFCFF CALL ntdll.7C923753 7C957860 F605 5AC3997C 8>TEST BYTE PTR DS:[7C99C35A],80 7C957867 8BF8 MOV EDI,EAX 7C957869 0F85 16720100 JNZ ntdll.7C96EA85 7C95786F 395D 08 CMP DWORD PTR SS:[EBP+8],EBX 7C957872 0F84 1B720100 JE ntdll.7C96EA93 7C957878 8BC7 MOV EAX,EDI 7C95787A 33C9 XOR ECX,ECX 7C95787C 2BC1 SUB EAX,ECX 7C95787E ^ 0F85 8631FFFF JNZ ntdll.7C94AA0A 7C957884 F646 04 01 TEST BYTE PTR DS:[ESI+4],1 7C957888 0F85 4F720100 JNZ ntdll.7C96EADD 7C95788E C645 FF 01 MOV BYTE PTR SS:[EBP-1],1 7C957892 5F POP EDI 7C957893 5B POP EBX 7C957894 8A45 FF MOV AL,BYTE PTR SS:[EBP-1] 7C957897 5E POP ESI 7C957898 C9 LEAVE 7C957899 C2 0800 RETN 8 .............單步來到這裡。再單步跳進。一直單步來到下面。 ++++++++++++++++++++++ 00631B9B 53 PUSH EBX 00631B9C 51 PUSH ECX 00631B9D 57 PUSH EDI 00631B9E 56 PUSH ESI 00631B9F 52 PUSH EDX 00631BA0 8D98 57120010 LEA EBX,DWORD PTR DS:[EAX+10001257] 。。。F8到這時,觀察ESP. 00631BA6 8B53 18 MOV EDX,DWORD PTR DS:[EBX+18] ++++++++++++++++++++++++ EAX F06308ED ECX 0012FFB0 EDX 7C92EB94 ntdll.KiFastSystemCallRet EBX 7FFD9000 ESP 0012FFAC ........ESP紅了,下指令點斷: dd 12ffac EBP 0012FFF0 ESI FFFFFFFF EDI 7C930738 ntdll.7C930738 EIP 00631BA0 JYtmw.00631BA0 C 0 ES 0023 32位 0(FFFFFFFF) P 0 CS 001B 32位 0(FFFFFFFF) A 0 SS 0023 32位 0(FFFFFFFF) Z 0 DS 0023 32位 0(FFFFFFFF) S 0 FS 003B 32位 7FFDF000(FFF) T 0 GS 0000 NULL D 0 O 0 LastErr ERROR_CLASS_ALREADY_EXISTS (00000582) EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G) ST0 empty -UNORM BBB0 01050104 00000000 ST1 empty 0.0 ST2 empty 0.0 ST3 empty 0.0 ST4 empty 0.0 ST5 empty 0.0 ST6 empty 1.0000000000000000000 ST7 empty 1.0000000000000000000 3 2 1 0 E S P U O Z D I FST 4020 Cond 1 0 0 0 Err 0 0 1 0 0 0 0 0 (EQ) FCW 027F Prec NEAR,53 掩碼 1 1 1 1 1 1 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 在OD中下指令斷點: dd 12ffac , Enter鍵之後,我們在資料跟隨視窗中看到: 0012FFAC 7C92EB94 ntdll.KiFastSystemCallRet 。。。右鍵--斷點-硬體訪問--雙字。 0012FFB0 FFFFFFFF 0012FFB4 7C930738 ntdll.7C930738 +++++++++++點OD的執行按鈕程序被斷在這裡: 00631C25 5E POP ESI ; JYtmw.005839E0 00631C26 5F POP EDI 00631C27 59 POP ECX 00631C28 5B POP EBX 00631C29 5D POP EBP 00631C2A FFE0 JMP EAX 。。。F8單步來這。再F8進去看到光明! 00631C2C E0 39 LOOPDNE SHORT JYtmw.00631C67 +++++++++++++++++++++++++++++++++ 005839E0 55 DB 55 ; CHAR 'U' 。。。。。右鍵---分析--從模組中移除分析 005839E1 8B DB 8B 005839E2 EC DB EC 005839E3 83 DB 83 005839E4 C4 DB C4 005839E5 F0 DB F0 005839E6 B8 DB B8 005839E7 40 DB 40 ; CHAR '@' 005839E8 16 DB 16 +++++++++++++++++++ 005839E0 55 PUSH EBP 。。。。。。。。很熟悉吧!右鍵--用Ollydump脫殼--儲存。 005839E1 8BEC MOV EBP,ESP 005839E3 83C4 F0 ADD ESP,-10 005839E6 B8 40165800 MOV EAX,JYtmw.00581640 005839EB E8 A43DE8FF CALL JYtmw.00407794 005839F0 68 783A5800 PUSH JYtmw.00583A78 005839F5 68 8C3A5800 PUSH JYtmw.00583A8C ; ASCII "TApplication" 005839FA E8 5547E8FF CALL JYtmw.00408154 ; JMP 到 USER32.FindWindowA ++++++++++++++++ 1839E0 試執行脫殼後的程序,正常!查殼得:Borland Delphi 6.0 - 7.0 至此,脫殼完成!謝謝觀看。 |
__________________ |
|
送花文章: 3,
|
主題工具 | |
顯示模式 | |
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
教學 - PECompact 2.x -> Jeremy Collake 手脫心得筆記 | Dreamcast | 軟體中文化討論區 | 2 | 2006-07-26 06:49 PM |