- UID
- 660
注册时间2005-4-7
阅读权限50
最后登录1970-1-1
感悟天道
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.上午 |
|