用OD打开文件
0067F001 C> 60 pushad ;载入后,停在这
0067F002 E8 03000000 call CJSS-01C.0067F00A ; f7
0067F007 - E9 EB045D45 jmp 45C4F4F7
0067F00C 55 push ebp
0067F00D C3 retn
0067F00E E8 01000000 call CJSS-01C.0067F014 ; f7
0067F013 EB 5D jmp short CJSS-01C.0067F072
0067F015 BB EDFFFFFF mov ebx,-13
0067F01A 03DD add ebx,ebp
0067F01C 81EB 00F02700 sub ebx,27F000
0067F022 83BD 22040000 00 cmp dword ptr ss:[ebp+422],0
0067F029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
0067F02F 0F85 65030000 jnz CJSS-01C.0067F39A
0067F035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E]
0067F03B 50 push eax
0067F03C FF95 4D0F0000 call dword ptr ss:[ebp+F4D]
0067F042 8985 26040000 mov dword ptr ss:[ebp+426],eax
0067F048 8BF8 mov edi,eax
0067F04A 8D5D 5E lea ebx,dword ptr ss:[ebp+5E]
0067F04D 53 push ebx
0067F04E 50 push eax
0067F04F FF95 490F0000 call dword ptr ss:[ebp+F49]
0067F055 8985 4D050000 mov dword ptr ss:[ebp+54D],eax
0067F05B 8D5D 6B lea ebx,dword ptr ss:[ebp+6B]
0067F05E 53 push ebx
0067F05F 57 push edi
0067F060 FF95 490F0000 call dword ptr ss:[ebp+F49]
0067F066 8985 51050000 mov dword ptr ss:[ebp+551],eax
0067F06C 8D45 77 lea eax,dword ptr ss:[ebp+77]
0067F06F FFE0 jmp eax
0067F071 56 push esi
0067F072 6972 74 75616C41 imul esi,dword ptr ds:[edx+74],41>
0067F079 6C ins byte ptr es:[edi],dx
0067F07A 6C ins byte ptr es:[edi],dx
0067F07B 6F outs dx,dword ptr es:[edi]
0067F07C 6300 arpl word ptr ds:[eax],ax
0067F07E 56 push esi
0067F07F 6972 74 75616C46 imul esi,dword ptr ds:[edx+74],46>
0067F086 72 65 jb short CJSS-01C.0067F0ED
0067F088 65:008B 9D310500 add byte ptr gs:[ebx+5319D],cl
0067F08F 000B add byte ptr ds:[ebx],cl
0067F091 DB ??? ; 未知命令
0067F092 74 0A je short CJSS-01C.0067F09E
0067F094 8B03 mov eax,dword ptr ds:[ebx]
0067F096 8785 35050000 xchg dword ptr ss:[ebp+535],eax
0067F09C 8903 mov dword ptr ds:[ebx],eax
0067F09E 8DB5 69050000 lea esi,dword ptr ss:[ebp+569]
0067F0A4 833E 00 cmp dword ptr ds:[esi],0
0067F0A7 0F84 21010000 je CJSS-01C.0067F1CE
0067F0AD 6A 04 push 4
0067F0AF 68 00100000 push 1000
0067F0B4 68 00180000 push 1800
0067F0B9 6A 00 push 0
0067F0BB FF95 4D050000 call dword ptr ss:[ebp+54D]
0067F0C1 8985 56010000 mov dword ptr ss:[ebp+156],eax
0067F0C7 8B46 04 mov eax,dword ptr ds:[esi+4]
0067F0CA 05 0E010000 add eax,10E
0067F0CF 6A 04 push 4
0067F0D1 68 00100000 push 1000
0067F0D6 50 push eax
0067F0D7 6A 00 push 0
0067F0D9 FF95 4D050000 call dword ptr ss:[ebp+54D]
0067F0DF 8985 52010000 mov dword ptr ss:[ebp+152],eax
0067F0E5 56 push esi
0067F0E6 8B1E mov ebx,dword ptr ds:[esi]
0067F0E8 039D 22040000 add ebx,dword ptr ss:[ebp+422]
0067F0EE FFB5 56010000 push dword ptr ss:[ebp+156]
0067F0F4 FF76 04 push dword ptr ds:[esi+4]
0067F0F7 50 push eax
0067F0F8 53 push ebx
0067F0F9 E8 6E050000 call CJSS-01C.0067F66C
0067F0FE B3 01 mov bl,1
0067F100 80FB 00 cmp bl,0
0067F103 75 5E jnz short CJSS-01C.0067F163
0067F105 FE85 EC000000 inc byte ptr ss:[ebp+EC]
0067F10B 8B3E mov edi,dword ptr ds:[esi]
0067F10D 03BD 22040000 add edi,dword ptr ss:[ebp+422]
0067F113 FF37 push dword ptr ds:[edi]
0067F115 C607 C3 mov byte ptr ds:[edi],0C3
0067F118 FFD7 call edi
0067F11A 8F07 pop dword ptr ds:[edi]
0067F11C 50 push eax
0067F11D 51 push ecx
0067F11E 56 push esi
0067F11F 53 push ebx
0067F120 8BC8 mov ecx,eax
0067F122 83E9 06 sub ecx,6
0067F125 8BB5 52010000 mov esi,dword ptr ss:[ebp+152]
0067F12B 33DB xor ebx,ebx
0067F12D 0BC9 or ecx,ecx
0067F12F 74 2E je short CJSS-01C.0067F15F
0067F131 78 2C js short CJSS-01C.0067F15F
0067F133 AC lods byte ptr ds:[esi]
0067F134 3C E8 cmp al,0E8
0067F136 74 0A je short CJSS-01C.0067F142
0067F138 EB 00 jmp short CJSS-01C.0067F13A
0067F13A 3C E9 cmp al,0E9
0067F13C 74 04 je short CJSS-01C.0067F142
0067F13E 43 inc ebx
0067F13F 49 dec ecx
0067F140 ^ EB EB jmp short CJSS-01C.0067F12D ; 点下行,f4
0067F142 8B06 mov eax,dword ptr ds:[esi]
0067F144 EB 00 jmp short CJSS-01C.0067F146
0067F146 803E 65 cmp byte ptr ds:[esi],65
0067F149 ^ 75 F3 jnz short CJSS-01C.0067F13E
0067F14B 24 00 and al,0
0067F14D C1C0 18 rol eax,18
0067F150 2BC3 sub eax,ebx
0067F152 8906 mov dword ptr ds:[esi],eax
0067F154 83C3 05 add ebx,5
0067F157 83C6 04 add esi,4
0067F15A 83E9 05 sub ecx,5
0067F15D ^ EB CE jmp short CJSS-01C.0067F12D ; 点下行,f4
0067F15F 5B pop ebx
0067F160 5E pop esi
0067F161 59 pop ecx
0067F162 58 pop eax
0067F163 EB 08 jmp short CJSS-01C.0067F16D
0067F165 0000 add byte ptr ds:[eax],al
0067F167 F0:0000 lock add byte ptr ds:[eax],al
0067F16A 00EF add bh,ch
0067F16C 008B C88B3E03 add byte ptr ds:[ebx+33E8BC8],cl
0067F172 BD 22040000 mov ebp,422
0067F177 8BB5 52010000 mov esi,dword ptr ss:[ebp+152]
0067F17D C1F9 02 sar ecx,2
0067F180 F3:A5 rep movs dword ptr es:[edi],dword>
0067F182 8BC8 mov ecx,eax
0067F184 83E1 03 and ecx,3
0067F187 F3:A4 rep movs byte ptr es:[edi],byte p>
0067F189 5E pop esi
0067F18A 68 00800000 push 8000
0067F18F 6A 00 push 0
0067F191 FFB5 52010000 push dword ptr ss:[ebp+152]
0067F197 FF95 51050000 call dword ptr ss:[ebp+551]
0067F19D 83C6 08 add esi,8
0067F1A0 833E 00 cmp dword ptr ds:[esi],0
0067F1A3 ^ 0F85 1EFFFFFF jnz CJSS-01C.0067F0C7 ; 点下行,f4
0067F1A9 68 00800000 push 8000
0067F1AE 6A 00 push 0
0067F1B0 FFB5 56010000 push dword ptr ss:[ebp+156]
0067F1B6 FF95 51050000 call dword ptr ss:[ebp+551]
0067F1BC 8B9D 31050000 mov ebx,dword ptr ss:[ebp+531]
0067F1C2 0BDB or ebx,ebx
0067F1C4 74 08 je short CJSS-01C.0067F1CE
0067F1C6 8B03 mov eax,dword ptr ds:[ebx]
0067F1C8 8785 35050000 xchg dword ptr ss:[ebp+535],eax
0067F1CE 8B95 22040000 mov edx,dword ptr ss:[ebp+422]
0067F1D4 8B85 2D050000 mov eax,dword ptr ss:[ebp+52D]
0067F1DA 2BD0 sub edx,eax
0067F1DC 74 79 je short CJSS-01C.0067F257
0067F1DE 8BC2 mov eax,edx
0067F1E0 C1E8 10 shr eax,10
0067F1E3 33DB xor ebx,ebx
0067F1E5 8BB5 39050000 mov esi,dword ptr ss:[ebp+539]
0067F1EB 03B5 22040000 add esi,dword ptr ss:[ebp+422]
0067F1F1 833E 00 cmp dword ptr ds:[esi],0
0067F1F4 74 61 je short CJSS-01C.0067F257
0067F1F6 8B4E 04 mov ecx,dword ptr ds:[esi+4]
0067F1F9 83E9 08 sub ecx,8
0067F1FC D1E9 shr ecx,1
0067F1FE 8B3E mov edi,dword ptr ds:[esi]
0067F200 03BD 22040000 add edi,dword ptr ss:[ebp+422]
0067F206 83C6 08 add esi,8
0067F209 66:8B1E mov bx,word ptr ds:[esi]
0067F20C C1EB 0C shr ebx,0C
0067F20F 83FB 01 cmp ebx,1
0067F212 74 0C je short CJSS-01C.0067F220
0067F214 83FB 02 cmp ebx,2
0067F217 74 16 je short CJSS-01C.0067F22F
0067F219 83FB 03 cmp ebx,3
0067F21C 74 20 je short CJSS-01C.0067F23E
0067F21E EB 2C jmp short CJSS-01C.0067F24C
0067F220 66:8B1E mov bx,word ptr ds:[esi]
0067F223 81E3 FF0F0000 and ebx,0FFF
0067F229 66:01041F add word ptr ds:[edi+ebx],ax
0067F22D EB 1D jmp short CJSS-01C.0067F24C
0067F22F 66:8B1E mov bx,word ptr ds:[esi]
0067F232 81E3 FF0F0000 and ebx,0FFF
0067F238 66:01141F add word ptr ds:[edi+ebx],dx
0067F23C EB 0E jmp short CJSS-01C.0067F24C
0067F23E 66:8B1E mov bx,word ptr ds:[esi]
0067F241 81E3 FF0F0000 and ebx,0FFF
0067F247 01141F add dword ptr ds:[edi+ebx],edx
0067F24A EB 00 jmp short CJSS-01C.0067F24C
0067F24C 66:830E FF or word ptr ds:[esi],0FFFF
0067F250 83C6 02 add esi,2
0067F253 ^ E2 B4 loopd short CJSS-01C.0067F209
0067F255 ^ EB 9A jmp short CJSS-01C.0067F1F1
0067F257 8B95 22040000 mov edx,dword ptr ss:[ebp+422]
0067F25D 8BB5 41050000 mov esi,dword ptr ss:[ebp+541]
0067F263 0BF6 or esi,esi
0067F265 74 11 je short CJSS-01C.0067F278
0067F267 03F2 add esi,edx
0067F269 AD lods dword ptr ds:[esi]
0067F26A 0BC0 or eax,eax
0067F26C 74 0A je short CJSS-01C.0067F278
0067F26E 03C2 add eax,edx
0067F270 8BF8 mov edi,eax
0067F272 66:AD lods word ptr ds:[esi]
0067F274 66:AB stos word ptr es:[edi]
0067F276 ^ EB F1 jmp short CJSS-01C.0067F269
0067F278 BE 00B02200 mov esi,22B000
0067F27D 8B95 22040000 mov edx,dword ptr ss:[ebp+422]
0067F283 03F2 add esi,edx
0067F285 8B46 0C mov eax,dword ptr ds:[esi+C]
0067F288 85C0 test eax,eax
0067F28A 0F84 0A010000 je CJSS-01C.0067F39A
0067F290 03C2 add eax,edx
0067F292 8BD8 mov ebx,eax
0067F294 50 push eax
0067F295 FF95 4D0F0000 call dword ptr ss:[ebp+F4D]
0067F29B 85C0 test eax,eax
0067F29D 75 07 jnz short CJSS-01C.0067F2A6
0067F29F 53 push ebx
0067F2A0 FF95 510F0000 call dword ptr ss:[ebp+F51]
0067F2A6 8985 45050000 mov dword ptr ss:[ebp+545],eax
0067F2AC C785 49050000 00000>mov dword ptr ss:[ebp+549],0
0067F2B6 8B95 22040000 mov edx,dword ptr ss:[ebp+422]
0067F2BC 8B06 mov eax,dword ptr ds:[esi]
0067F2BE 85C0 test eax,eax
0067F2C0 75 03 jnz short CJSS-01C.0067F2C5
0067F2C2 8B46 10 mov eax,dword ptr ds:[esi+10]
0067F2C5 03C2 add eax,edx
0067F2C7 0385 49050000 add eax,dword ptr ss:[ebp+549]
0067F2CD 8B18 mov ebx,dword ptr ds:[eax]
0067F2CF 8B7E 10 mov edi,dword ptr ds:[esi+10]
0067F2D2 03FA add edi,edx
0067F2D4 03BD 49050000 add edi,dword ptr ss:[ebp+549]
0067F2DA 85DB test ebx,ebx
0067F2DC 0F84 A2000000 je CJSS-01C.0067F384
0067F2E2 F7C3 00000080 test ebx,80000000
0067F2E8 75 04 jnz short CJSS-01C.0067F2EE
0067F2EA 03DA add ebx,edx
0067F2EC 43 inc ebx
0067F2ED 43 inc ebx
0067F2EE 53 push ebx
0067F2EF 81E3 FFFFFF7F and ebx,7FFFFFFF
0067F2F5 53 push ebx
0067F2F6 FFB5 45050000 push dword ptr ss:[ebp+545]
0067F2FC FF95 490F0000 call dword ptr ss:[ebp+F49]
0067F302 85C0 test eax,eax
0067F304 5B pop ebx
0067F305 75 6F jnz short CJSS-01C.0067F376
0067F307 F7C3 00000080 test ebx,80000000
0067F30D 75 19 jnz short CJSS-01C.0067F328
0067F30F 57 push edi
0067F310 8B46 0C mov eax,dword ptr ds:[esi+C]
0067F313 0385 22040000 add eax,dword ptr ss:[ebp+422]
0067F319 50 push eax
0067F31A 53 push ebx
0067F31B 8D85 75040000 lea eax,dword ptr ss:[ebp+475]
0067F321 50 push eax
0067F322 57 push edi
0067F323 E9 98000000 jmp CJSS-01C.0067F3C0
0067F328 81E3 FFFFFF7F and ebx,7FFFFFFF
0067F32E 8B85 26040000 mov eax,dword ptr ss:[ebp+426]
0067F334 3985 45050000 cmp dword ptr ss:[ebp+545],eax
0067F33A 75 24 jnz short CJSS-01C.0067F360
0067F33C 57 push edi
0067F33D 8BD3 mov edx,ebx
0067F33F 4A dec edx
0067F340 C1E2 02 shl edx,2
0067F343 8B9D 45050000 mov ebx,dword ptr ss:[ebp+545]
0067F349 8B7B 3C mov edi,dword ptr ds:[ebx+3C]
0067F34C 8B7C3B 78 mov edi,dword ptr ds:[ebx+edi+78]
0067F350 035C3B 1C add ebx,dword ptr ds:[ebx+edi+1C]
0067F354 8B0413 mov eax,dword ptr ds:[ebx+edx]
0067F357 0385 45050000 add eax,dword ptr ss:[ebp+545]
0067F35D 5F pop edi
0067F35E EB 16 jmp short CJSS-01C.0067F376
0067F360 57 push edi
0067F361 8B46 0C mov eax,dword ptr ds:[esi+C]
0067F364 0385 22040000 add eax,dword ptr ss:[ebp+422]
0067F36A 50 push eax
0067F36B 53 push ebx
0067F36C 8D85 C6040000 lea eax,dword ptr ss:[ebp+4C6]
0067F372 50 push eax
0067F373 57 push edi
0067F374 EB 4A jmp short CJSS-01C.0067F3C0
0067F376 8907 mov dword ptr ds:[edi],eax
0067F378 8385 49050000 04 add dword ptr ss:[ebp+549],4
0067F37F ^ E9 32FFFFFF jmp CJSS-01C.0067F2B6 ; 点下行,f4
0067F384 8906 mov dword ptr ds:[esi],eax
0067F386 8946 0C mov dword ptr ds:[esi+C],eax
0067F389 8946 10 mov dword ptr ds:[esi+10],eax
0067F38C 83C6 14 add esi,14
0067F38F 8B95 22040000 mov edx,dword ptr ss:[ebp+422]
0067F395 ^ E9 EBFEFFFF jmp CJSS-01C.0067F285 ; 点下行,f4
0067F39A B8 10172200 mov eax,221710
0067F39F 50 push eax
0067F3A0 0385 22040000 add eax,dword ptr ss:[ebp+422]
0067F3A6 59 pop ecx
0067F3A7 0BC9 or ecx,ecx
0067F3A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax
0067F3AF 61 popad ; 入口快到了
0067F3B0 75 08 jnz short CJSS-01C.0067F3BA
0067F3B2 B8 01000000 mov eax,1
0067F3B7 C2 0C00 retn 0C
0067F3BA 68 10176200 push CJSS-01C.00621710
0067F3BF C3 retn ; f7跟进
00621710 55 push ebp ; 点,dump
00621711 8BEC mov ebp,esp
00621713 B9 07000000 mov ecx,7
00621718 6A 00 push 0
0062171A 6A 00 push 0
0062171C 49 dec ecx
0062171D ^ 75 F9 jnz short CJSS-01C.00621718
0062171F 53 push ebx
00621720 56 push esi
00621721 57 push edi
dump后,打开importrec,OEP输入00221710,击IAT AutoSearch,接着Get Imports,
再就是show invalid,此时会有
rva:00222040
rva:00222044
这两处没修好
右键,追踪层次1,全部修复
修理抓取文件,导入刚才的dumped1.exe文件,保存!
运行dumped1_.exe文件,出现错误
怀疑有附加数据,打开原文件,到文件尾,查看
故从000E92A9处开始复制到文件尾,粘贴到dumped1_.exe文件尾,从00284000处开始粘贴,到文件尾
修改后文件尾
保存,运行,还是出现错误:
请各兄弟帮忙看看,并指点一二!我的邮箱:kydir@vip.163.com
脱壳前文件下载:
http://www.wzlesheng.com/pic/temp/cjss.rar
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)