LOCK98 V1.00.28 脫殼 ―― 反編譯專家UnFoxAll 2.10版

看雪資料發表於2015-11-15

LOCK98 V1.00.28 脫殼 ―― 反編譯專家UnFoxAll 2.10版
 
 
 
下載頁面:  http://secrecy.ayinfo.ha.cn/soft/110.htm
軟體大小:  1M

【軟體簡介】:可以完整的從FOX所有版本(FoxBase,FoxPro2.x for DOS/Windows,Visual FoxPro 3.0,Visual FoxPro 5.0,Visual 6.0)開發的EXE,.APP,.FOX,.SPX,.MPX,.QPX,.PJT及其他檔案中完整反編譯出所有 源程式及其他檔案。是反編譯工作的又一利器。

【作者宣告】:初學Crack,只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!

【除錯環境】:WinXP、Ollydbg1.09、PEiD、LordPE

――――――――――――――――――――――――――――――――― 
【脫殼過程】:
          
                
這個版本的UnFoxAll是以前從白菜樂園下載的,看雪也有,不清楚是否也是加的這種殼。

LOCK98 V1.00.28 現在很少見了,看說明是軟盤加密的程式,但是這個unfoxall.exe用FI看顯示是“LOCK98 v1.00.28  keenvim _LOCK98_”,偶不清楚啦,姑且當其是這個殼吧,手脫試試。用PEID看卻顯示“UPX 0.80-0.84”,暈,可能是加了2層殼,剛開始的程式碼不是典型的UPX,而最後的入口方式倒是UPX的典型POPAD、JMP。


用Ollydbg手動脫殼,老規矩:載入後彈出“是壓縮程式碼――要繼續進行分析嗎?”,點“否”。

005FE0A0     55                   push ebp
                                  ====>進入OD後斷在這!

如果一步步走的話會有數十個LOOP迴圈用SMC來還原程式的程式碼,很長。這段可能就是LOCK98程式碼。
偶們沒必要這樣費時跟蹤。:-)   下斷:BP LoadLibraryA       F9執行,斷下!然後取消斷點

77E605D8     837C24 04 00         cmp dword ptr ss:[esp+4],0
                                  ====>斷在這!CTRL+F9執行到返回
77E605DD     53                   push ebx
77E605DE     56                   push esi
77E605DF     74 19                je short kernel32.77E605FA
77E605E1     68 9C5BE777          push kernel32.77E75B9C                ; ASCII "twain_32.dll"
77E605E6     FF7424 10            push dword ptr ss:[esp+10]
77E605EA     FF15 9013E477        call dword ptr ds:[<&ntdll._strcmpi>] ; ntdll._stricmp
77E605F0     85C0                 test eax,eax
77E605F2     59                   pop ecx
77E605F3     59                   pop ecx
77E605F4     0F84 76AF0100        je kernel32.77E7B570
77E605FA     6A 00                push 0
77E605FC     6A 00                push 0
77E605FE     FF7424 14            push dword ptr ss:[esp+14]
77E60602     E8 B1FFFFFF          call kernel32.LoadLibraryExA
77E60607     5E                   pop esi
77E60608     5B                   pop ebx
77E60609     C2 0400              retn 4
                                  ====>返回到 005F7128


――――――――――――――――――――――――

005F7110     74 3A                je short unfoxall.005F714C
005F7112     8B5F 04              mov ebx,dword ptr ds:[edi+4]
005F7115     8D8430 8C881F00      lea eax,dword ptr ds:[eax+esi+1F888C]
005F711C     01F3                 add ebx,esi
005F711E     50                   push eax
005F711F     83C7 08              add edi,8
005F7122     FF96 68891F00        call dword ptr ds:[esi+1F8968]
                                  ====>這個CALL KERNEL LoadLibraryA
005F7128     92                   xchg eax,edx
005F7129     8A07                 mov al,byte ptr ds:[edi]
005F712B     47                   inc edi
005F712C     08C0                 or al,al
005F712E     74 DC                je short unfoxall.005F710C
005F7130     52                   push edx
005F7131     89F9                 mov ecx,edi
005F7133     57                   push edi
005F7134     48                   dec eax
005F7135     F2:AE                repne scas byte ptr es:[edi]
005F7137     52                   push edx
005F7138     FF96 6C891F00        call dword ptr ds:[esi+1F896C]
                                  ====>這個CALL KERNEL GetProcAddress 
005F713E     5A                   pop edx
005F713F     09C0                 or eax,eax
005F7141     74 07                je short unfoxall.005F714A
005F7143     8903                 mov dword ptr ds:[ebx],eax
005F7145     83C3 04              add ebx,4
005F7148     EB DF                jmp short unfoxall.005F7129
                                  ====>注意這個迴圈!向上找發現005F7110可以跳下去!
005F714A     61                   popad
005F714B     C3                   retn

005F714C     8D5E FC              lea ebx,dword ptr ds:[esi-4]
                                  ====>這裡設斷     F9斷在此處
005F714F     83C7 04              add edi,4
005F7152     31C0                 xor eax,eax
005F7154     8A07                 mov al,byte ptr ds:[edi]
005F7156     47                   inc edi
005F7157     09C0                 or eax,eax
005F7159     74 22                je short unfoxall.005F717D
005F715B     3C EF                cmp al,0EF
005F715D     77 11                ja short unfoxall.005F7170
005F715F     01C3                 add ebx,eax
005F7161     8B03                 mov eax,dword ptr ds:[ebx]
005F7163     86C4                 xchg ah,al
005F7165     C1C0 10              rol eax,10
005F7168     86C4                 xchg ah,al
005F716A     01F0                 add eax,esi
005F716C     8903                 mov dword ptr ds:[ebx],eax
005F716E     EB E2                jmp short unfoxall.005F7152
                                  ====>注意這個迴圈!向上找發現005F7159可以跳下去!
005F7170     24 0F                and al,0F
005F7172     C1E0 10              shl eax,10
005F7175     66:8B07              mov ax,word ptr ds:[edi]
005F7178     83C7 02              add edi,2
005F717B     EB E2                jmp short unfoxall.005F715F
005F717D     61                   popad
                                  ====>這裡設斷     F9斷在此處
005F717E     E9 49DFEAFF          jmp unfoxall.004A50CC
                                  ====>飛向光明之巔!


――――――――――――――――――――――――

004A50CC     55                   push ebp
                                  ====>在這兒用LordPE完全DUMP這個程式
004A50CD     8BEC                 mov ebp,esp
004A50CF     83C4 F4              add esp,-0C
004A50D2     53                   push ebx
004A50D3     B8 144E4A00          mov eax,unfoxall.004A4E14
004A50D8     E8 E314F6FF          call unfoxall.004065C0
004A50DD     8B1D B4894A00        mov ebx,dword ptr ds:[4A89B4]
004A50E3     8B03                 mov eax,dword ptr ds:[ebx]
004A50E5     E8 DA4BFAFF          call unfoxall.00449CC4


―――――――――――――――――――――――

執行ImportREC,選擇這個程式。把OEP改為000A50CC,點IT AutoSearch,點“Get Import”,所有的函式都是有效的。FixDump,正常執行!  629K ->2.01M   用FI看脫殼後的程式是Delphi編寫,可以跨平臺執行,能夠正常反編譯其他VF的例子。如果不是LOCK98,還請大家諒解。  :-)

  
―――――――――――――――――――――――――――――――――
    
                                
         ,     _/ 
        /| _.-~/            _     ,        青春都一餉
       ( /~   /              ~-._ |
       `\  _/                   ~ )          忍把浮名 
   _-~~~-.)  )__/;;,.          _  //'
  /'_,   --~    ~~~-  ,;;___(  (.-~~~-.        換了破解輕狂
 `~ _( ,_..-- (     ,;'' /    ~--   /._` 
  /~~//'   /' `~         ) /--.._, )_  `~
  "  `~"  "      `"      /~'`    `\~~   
                         "     "   "~'  ""

    

            Cracked By 巢水工作坊――fly [OCN][FCG]

                     2003-10-28  15:35

相關文章