| 
注册时间2005-4-7
阅读权限50
最后登录1970-1-1UID660 感悟天道  
 
 TA的每日心情|  | 慵懒 2024-10-16 20:38
 | 
|---|
 签到天数: 1491 天 [LV.10]以坛为家III | 
 
| 还是一看前的练习,见笑了,一看多没Crack,再在一切得重头来!!! 手动脱UPX-Scrambler RC1.x -> ㎡nT畂L壳
 
 
 脱壳目标:keymake1.65主程序
 
 下载地址:http://www.365hz.net
 
 声    明:学习脱壳技术!仅此而已。
 
 过    程:
 
 OD载入程序,在OD的异常选项中除内存访问异常的其他异常选项前打钩。提示是压缩代码吗?点否!开工。
 
 0042EECF >  90              nop              <-我们停在这里
 0042EED0    61              popad            <-标志
 0042EED1    BE 00D04100     mov esi, KEYMAKE.0041D000
 0042EED6    8DBE 0040FEFF   lea edi, dword ptr ds:[esi+FFFE4000]
 0042EEDC    57              push edi
 0042EEDD    83CD FF         or ebp, FFFFFFFF
 0042EEE0    EB 10           jmp short KEYMAKE.0042EEF2  <-这里跳
 0042EEE2    EB 00           jmp short KEYMAKE.0042EEE4
 0042EEE4  ^ EB EA           jmp short KEYMAKE.0042EED0
 0042EEE6  ^ EB E8           jmp short KEYMAKE.0042EED0
 
 0042EEF2    8B1E            mov ebx, dword ptr ds:[esi]  <-42EEE0跳到这里
 0042EEF4    83EE FC         sub esi, -4
 0042EEF7    11DB            adc ebx, ebx
 0042EEF9  ^ 72 ED           jb short KEYMAKE.0042EEE8    <-回跳
 0042EEFB    B8 01000000     mov eax, 1         <-F4
 0042EF00    01DB            add ebx, ebx
 0042EF02    75 07           jnz short KEYMAKE.0042EF0B   <-下跳
 0042EF04    8B1E            mov ebx, dword ptr ds:[esi]
 0042EF06    83EE FC         sub esi, -4
 0042EF09    11DB            adc ebx, ebx
 0042EF0B    11C0            adc eax, eax
 0042EF0D    01DB            add ebx, ebx
 0042EF0F  ^ 73 EF           jnb short KEYMAKE.0042EF00
 0042EF11    75 09           jnz short KEYMAKE.0042EF1C    <-下跳
 0042EF13    8B1E            mov ebx, dword ptr ds:[esi]
 0042EF15    83EE FC         sub esi, -4
 0042EF18    11DB            adc ebx, ebx
 0042EF1A  ^ 73 E4           jnb short KEYMAKE.0042EF00
 0042EF1C    31C9            xor ecx, ecx
 0042EF1E    83E8 03         sub eax, 3
 0042EF21    72 0D           jb short KEYMAKE.0042EF30
 0042EF23    C1E0 08         shl eax, 8
 0042EF26    8A06            mov al, byte ptr ds:[esi]
 0042EF28    46              inc esi
 0042EF29    83F0 FF         xor eax, FFFFFFFF
 0042EF2C    74 74           je short KEYMAKE.0042EFA2    <-这里跳出循环
 0042EF2E    89C5            mov ebp, eax
 0042EF30    01DB            add ebx, ebx
 0042EF32    75 07           jnz short KEYMAKE.0042EF3B   <-下跳
 0042EF34    8B1E            mov ebx, dword ptr ds:[esi]
 0042EF36    83EE FC         sub esi, -4
 0042EF39    11DB            adc ebx, ebx
 0042EF3B    11C9            adc ecx, ecx
 0042EF3D    01DB            add ebx, ebx
 0042EF3F    75 07           jnz short KEYMAKE.0042EF48   <-下跳
 0042EF41    8B1E            mov ebx, dword ptr ds:[esi]
 0042EF43    83EE FC         sub esi, -4
 0042EF46    11DB            adc ebx, ebx
 0042EF48    11C9            adc ecx, ecx
 0042EF4A    75 20           jnz short KEYMAKE.0042EF6C
 0042EF4C    41              inc ecx
 0042EF4D    01DB            add ebx, ebx
 0042EF4F    75 07           jnz short KEYMAKE.0042EF58   <-下跳
 0042EF51    8B1E            mov ebx, dword ptr ds:[esi]
 0042EF53    83EE FC         sub esi, -4
 0042EF56    11DB            adc ebx, ebx
 0042EF58    11C9            adc ecx, ecx
 0042EF5A    01DB            add ebx, ebx
 0042EF5C  ^ 73 EF           jnb short KEYMAKE.0042EF4D
 0042EF5E    75 09           jnz short KEYMAKE.0042EF69   <-下跳
 0042EF60    8B1E            mov ebx, dword ptr ds:[esi]
 0042EF62    83EE FC         sub esi, -4
 0042EF65    11DB            adc ebx, ebx
 0042EF67  ^ 73 E4           jnb short KEYMAKE.0042EF4D
 0042EF69    83C1 02         add ecx, 2
 0042EF6C    81FD 00F3FFFF   cmp ebp, -0D00
 0042EF72    83D1 01         adc ecx, 1
 0042EF75    8D142F          lea edx, dword ptr ds:[edi+ebp]
 0042EF78    83FD FC         cmp ebp, -4
 0042EF7B    76 0F           jbe short KEYMAKE.0042EF8C
 0042EF7D    8A02            mov al, byte ptr ds:[edx]
 0042EF7F    42              inc edx
 0042EF80    8807            mov byte ptr ds:[edi], al
 0042EF82    47              inc edi
 0042EF83    49              dec ecx
 0042EF84  ^ 75 F7           jnz short KEYMAKE.0042EF7D    <-回跳
 0042EF86  ^ E9 63FFFFFF     jmp KEYMAKE.0042EEEE       <-回跳
 0042EF8B    90              nop
 0042EF8C    8B02            mov eax, dword ptr ds:[edx]   <-F4
 0042EF8E    83C2 04         add edx, 4
 0042EF91    8907            mov dword ptr ds:[edi], eax
 0042EF93    83C7 04         add edi, 4
 0042EF96    83E9 04         sub ecx, 4
 0042EF99  ^ 77 F1           ja short KEYMAKE.0042EF8C
 0042EF9B    01CF            add edi, ecx
 0042EF9D  ^ E9 4CFFFFFF     jmp KEYMAKE.0042EEEE    <-回跳
 0042EFA2    5E              pop esi       <-F4
 0042EFA3    89F7            mov edi, esi
 0042EFA5    B9 E6080000     mov ecx, 8E6
 0042EFAA    8A07            mov al, byte ptr ds:[edi]
 0042EFAC    47              inc edi
 0042EFAD    2C E8           sub al, 0E8
 0042EFAF    3C 01           cmp al, 1
 0042EFB1  ^ 77 F7           ja short KEYMAKE.0042EFAA  <-回跳
 0042EFB3    803F 05         cmp byte ptr ds:[edi], 5  <-F4
 0042EFB6  ^ 75 F2           jnz short KEYMAKE.0042EFAA
 0042EFB8    8B07            mov eax, dword ptr ds:[edi]
 0042EFBA    8A5F 04         mov bl, byte ptr ds:[edi+4]
 0042EFBD    66:C1E8 08      shr ax, 8
 0042EFC1    C1C0 10         rol eax, 10
 0042EFC4    86C4            xchg ah, al
 0042EFC6    29F8            sub eax, edi
 0042EFC8    80EB E8         sub bl, 0E8
 0042EFCB    01F0            add eax, esi
 0042EFCD    8907            mov dword ptr ds:[edi], eax
 0042EFCF    83C7 05         add edi, 5
 0042EFD2    89D8            mov eax, ebx
 0042EFD4  ^ E2 D9           loopd short KEYMAKE.0042EFAF  <-循环
 0042EFD6    8DBE 00C00200   lea edi, dword ptr ds:[esi+2C000]  <-F4
 0042EFDC    8B07            mov eax, dword ptr ds:[edi]
 0042EFDE    09C0            or eax, eax
 0042EFE0    74 45           je short KEYMAKE.0042F027    <-大跳,跳出循环
 0042EFE2    8B5F 04         mov ebx, dword ptr ds:[edi+4]
 0042EFE5    8D8430 38050300 lea eax, dword ptr ds:[eax+esi+30538]
 0042EFEC    01F3            add ebx, esi
 0042EFEE    50              push eax
 0042EFEF    83C7 08         add edi, 8
 0042EFF2    FF96 EC050300   call dword ptr ds:[esi+305EC]
 0042EFF8    95              xchg eax, ebp
 0042EFF9    8A07            mov al, byte ptr ds:[edi]
 0042EFFB    47              inc edi
 0042EFFC    08C0            or al, al
 0042EFFE  ^ 74 DC           je short KEYMAKE.0042EFDC
 0042F000    89F9            mov ecx, edi
 0042F002    79 07           jns short KEYMAKE.0042F00B
 0042F004    0FB707          movzx eax, word ptr ds:[edi]
 0042F007    47              inc edi
 0042F008    50              push eax
 0042F009    47              inc edi
 0042F00A    B9 5748F2AE     mov ecx, AEF24857
 0042F00F    55              push ebp
 0042F010    FF96 F0050300   call dword ptr ds:[esi+305F0]
 0042F016    09C0            or eax, eax
 0042F018    74 07           je short KEYMAKE.0042F021
 0042F01A    8903            mov dword ptr ds:[ebx], eax
 0042F01C    83C3 04         add ebx, 4
 0042F01F  ^ EB D8           jmp short KEYMAKE.0042EFF9    <-回跳
 0042F021    FF96 F4050300   call dword ptr ds:[esi+305F4]
 0042F027    60              pushad              <-F4   胜利之光     pushad对应标志
 0042F028  - E9 34C4FDFF     jmp KEYMAKE.0040B461    <-入口  OEP=B461
 
 
 0040B461    6A 00           push 0           <-这里Dump内存
 0040B463    E8 E8210000     call KEYMAKE.0040D650
 0040B468    A3 34044200     mov dword ptr ds:[420434], eax
 0040B46D    E8 7A220000     call KEYMAKE.0040D6EC
 0040B472    E8 C7210000     call KEYMAKE.0040D63E
 
 脱壳后的程序无法运行,用ImportREC修复,OEP输入B461。点IAT自动搜索,再点获取输入信息,然后点修理抓取文件。修理后文件运行正常。
 
 
 xbb[DFCG]
 2003.12.31.上午
 | 
 |