|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-05-24, 01:21 AM | #1 |
榮譽會員
|
軟體 - 一個簡單的Armadillo脫殼破解
一個簡單的Armadillo脫殼破解
【文章標題】: FlashVideoStudio1.5破解版脫殼 【文章作者】: Winter[CZG][D.4s][BCG] 【作者郵信箱】: spsgeyro@gmail.com 【軟體名稱】: FlashVideoStudio1.5 【軟體大小】: 6.68 MB 【下載位址】: http://vip.hanzify.org/lordfox/MyHHOpus/todo.rar 【加殼方式】: Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks 【保護方式】: 註冊碼 【使用工具】: OD,PEID,IMPREC 【作者宣告】: 只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教! -------------------------------------------------------------------------------- 【詳細程序】 很久沒教學脫殼了,今日在漢化新世紀論壇逛的時候發現這個軟體,遂跟著教學學脫。 由於是要漢化,但是破解文件本身又加了殼,所以先輸入破解後的註冊名和序列號,然後OD載入: CODE: 00829000 > 60 PUSHAD 00829001 E8 00000000 CALL FVStudio.00829006 00829006 5D POP EBP 00829007 50 PUSH EAX 00829008 51 PUSH ECX [Copy to clipboard] 忽略所有異常,下斷BP OpenMutexA,shift+F9,來到斷點處: CODE: 7C817227 > 8BFF MOV EDI,EDI 7C817229 55 PUSH EBP 7C81722A 8BEC MOV EBP,ESP 7C81722C 51 PUSH ECX [Copy to clipboard] CODE: 0012F770 008017B8 /CALL 到 OpenMutexA 0012F774 001F0001 |Access = 1F0001 0012F778 00000000 |Inheritable = FALSE 0012F77C 0012FDB0 \MutexName = "C64:ABECE0C5A" //記下0012FDB0這個值 [Copy to clipboard] ctrl+G,401000,輸入如下程式碼: CODE: 00401000 60 PUSHAD 00401001 9C PUSHFD 00401002 68 B0FD1200 PUSH 12FDB0 ; ASCII "C64:ABECE0C5A" 00401007 33C0 XOR EAX,EAX 00401009 50 PUSH EAX 0040100A 50 PUSH EAX 0040100B E8 105A417C CALL kernel32.CreateMutexA 00401010 9D POPFD 00401011 61 POPAD 00401012 - E9 1062417C JMP kernel32.OpenMutexA [Copy to clipboard] 然後在401000上點擊滑鼠右鍵,選項新增OEP,然後複製資料區二進制程式碼: CODE: 60 9C 68 B0 FD 12 00 33 C0 50 50 E8 10 5A 41 7C 9D 61 E9 10 62 41 7C 90 [Copy to clipboard] 繼續F9,斷下後取消斷點,ctrl+G返回401000復原修改,然後下斷:BP GetModuleHandleA+05(這個程序BP GetModuleHandleA似乎斷下後返回不對) CODE: 011EF168 /011EF7C0 011EF16C |7C822B47 返回到 kernel32.7C822B47 來自 kernel32.GetModuleHandleA 011EF170 |00000000 011EF174 |7C822B8F 返回到 kernel32.7C822B8F 來自 kernel32.7C822B40 [Copy to clipboard] CODE: 011EF73C /011EF858 011EF740 |4C52D4A7 返回到 msctfime.4C52D4A7 來自 kernel32.GetModuleHandleA 011EF744 |011EF748 ASCII "I:\WINDOWS\system32\ntdll.dll" [Copy to clipboard] CODE: 0012F710 0012F778 0012F714 008008F3 返回到 FVStudio.008008F3 來自 kernel32.GetModuleHandleA 0012F718 00000000 0012F71C 7C82B3C8 返回到 kernel32.7C82B3C8 來自 ntdll.ZwOpenMutant [Copy to clipboard] CODE: 001294FC /0012EC44 00129500 |01217105 返回到 01217105 來自 kernel32.GetModuleHandleA 00129504 |0122BC1C ASCII "kernel32.dll" 00129508 |0122CEC4 ASCII "VirtualAlloc" [Copy to clipboard] CODE: 001294FC /0012EC44 00129500 |01217122 返回到 01217122 來自 kernel32.GetModuleHandleA 00129504 |0122BC1C ASCII "kernel32.dll" 00129508 |0122CEB8 ASCII "VirtualFree" [Copy to clipboard] 然後shift+F9,一次中斷後取消斷點: CODE: 00129260 /00129500 00129264 |01205FC9 返回到 01205FC9 來自 kernel32.GetModuleHandleA 00129268 |001293B4 ASCII "kernel32.dll" [Copy to clipboard] alt+f9返回: CODE: 01205FC9 8B0D AC402301 MOV ECX,DWORD PTR DS:[12340AC] 01205FCF 89040E MOV DWORD PTR DS:[ESI+ECX],EAX 01205FD2 A1 AC402301 MOV EAX,DWORD PTR DS:[12340AC] 01205FD7 391C06 CMP DWORD PTR DS:[ESI+EAX],EBX 01205FDA 75 16 JNZ SHORT 01205FF2 01205FDC 8D85 B4FEFFFF LEA EAX,DWORD PTR SS:[EBP-14C] 01205FE2 50 PUSH EAX 01205FE3 FF15 BC622201 CALL DWORD PTR DS:[12262BC] ; kernel32.LoadLibraryA 01205FE9 8B0D AC402301 MOV ECX,DWORD PTR DS:[12340AC] 01205FEF 89040E MOV DWORD PTR DS:[ESI+ECX],EAX 01205FF2 A1 AC402301 MOV EAX,DWORD PTR DS:[12340AC] 01205FF7 391C06 CMP DWORD PTR DS:[ESI+EAX],EBX 01205FFA 0F84 2F010000 JE 0120612F //Magic Jump,改成JMP,然後去01206144下斷,F9執行 01206000 33C9 XOR ECX,ECX 01206002 8B07 MOV EAX,DWORD PTR DS:[EDI] 01206004 3918 CMP DWORD PTR DS:[EAX],EBX 01206006 74 06 JE SHORT 0120600E 01206008 41 INC ECX [Copy to clipboard] CODE: 01206144 EB 03 JMP SHORT 01206149 //在這裡下斷點,斷下以後取消斷點,復原magic jump的修改 01206146 D6 SALC 01206147 D6 SALC [Copy to clipboard] 然後alt+M,在401000上下記憶體訪問斷點 CODE: 0121F968 8B12 MOV EDX,DWORD PTR DS:[EDX] //在這裡斷下,F8單步下去 0121F96A 8955 DC MOV DWORD PTR SS:[EBP-24],EDX 0121F96D 834D FC FF OR DWORD PTR SS:[EBP-4],FFFFFFFF [Copy to clipboard] CODE: 0121F9D9 8B50 60 MOV EDX,DWORD PTR DS:[EAX+60] 0121F9DC 3350 44 XOR EDX,DWORD PTR DS:[EAX+44] 0121F9DF 3350 1C XOR EDX,DWORD PTR DS:[EAX+1C] 0121F9E2 2BCA SUB ECX,EDX 0121F9E4 FFD1 CALL ECX ; FVStudio.004D17BF //這裡F7進去,就到OEp啦 [Copy to clipboard] 然後lordPE脫殼,IMPREC進行修復,OEP:000D17BF,自動搜尋,獲取輸入表以後剪下無效游標,修復。 為了完美一點可以用peditor移除.text1,.adata,.data1,.pdata四個區段,然後重建可執行文件。 執行以後跳出要求註冊的NAG,由於已經脫殼,只要把他跳過即可。 尋找ascII,雙按username,跟蹤來到: CODE: 0041A236 E8 C572FEFF CALL dumped_.00401500 //F9以後斷下,注意堆疊變化 [Copy to clipboard] 當堆疊出現如下時,F8跟蹤: CODE: 0012DD60 0012E658 ASCII "HDQ" 0012DD64 0012E658 ASCII "HDQ" [Copy to clipboard] CODE: 00419000 8BCE MOV ECX,ESI 00419002 E8 295C0000 CALL dumped_.0041EC30 00419007 E8 F484FEFF CALL dumped_.00401500 0041900C 84C0 TEST AL,AL 0041900E 6A 00 PUSH 0 00419010 6A 32 PUSH 32 00419012 74 0B JE SHORT dumped_.0041901F //這裡改成JMP後啟動無NAG了 00419014 8B4E 1C MOV ECX,DWORD PTR DS:[ESI+1C] 00419017 68 83000000 PUSH 83 0041901C 51 PUSH ECX 0041901D EB 09 JMP SHORT dumped_.00419028 |
__________________ |
|
送花文章: 3,
|