能力值:
(RANK:180 )
|
-
-
20 楼
看了你的真轧 我能感受到 以你目前的程度......不可能
我只?咿VC的 大概跟你真一下他的?法
先 Shift + F9 哕行 找 Call GetStartupInfoA 或是 call GetModuleHandleA
OEP大概在附近 通常入口代瘁被屏避掉居多 所以你肯定找不到OEP 我是用比?大法去修?的
另外搜? 90 E8 改成 FF 15 修?IAT 的Call
90 E9 改成 FF 25 修? JMP
不修?Call陪JMP的? 就只能在你自己的?呢上哕行
因?我有?程序沛版?加themida的版本可以比? 所以可以?? ?什?技戌含量 所以我也不敢真我??
IAT 加密的部分去爬一下文吧 FLY 大 有办一篇可以?考
所洲最膣的部分 就是???的部分 ?在?有完全正催100%的?理方案 呃部分我也?揠法
那些所洲能??的 都是自己厌代瘁下去修?的
基本上你不懂ASM或是看不太懂 不?厌代瘁的... 就放?吧
未修?的入口?
00409EAF 27 daa
00409EB0 81A1 EF919783 6130CFA>and dword ptr ds:[ecx+839791EF],A2CF3061
00409EBA 29F4 sub esp,esi
00409EBC 1341 EC adc eax,dword ptr ds:[ecx-14]
00409EBF FE ??? ; Unknown command
00409EC0 EC in al,dx
00409EC1 8DEC lea ebp,esp ; Illegal use of register
00409EC3 0A52 15 or dl,byte ptr ds:[edx+15]
00409EC6 14 46 adc al,46
00409EC8 93 xchg eax,ebx
00409EC9 A9 D4EF0AD3 test eax,D30AEFD4
00409ECE 45 inc ebp
00409ECF 5D pop ebp
00409ED0 99 cdq
00409ED1 00E5 add ch,ah
00409ED3 AA stos byte ptr es:[edi]
00409ED4 D4 96 aam 96
00409ED6 1C D5 sbb al,0D5
00409ED8 68 A96A0290 push 90026AA9
00409EDD . E8 9AB47F77 call msvcrt.__set_app_type
00409EE2 . 59 pop ecx
00409EE3 . 830D D4DF4000 FF or dword ptr ds:[40DFD4],FFFFFFFF
00409EEA . 830D D8DF4000 FF or dword ptr ds:[40DFD8],FFFFFFFF
00409EF1 . 90 nop
00409EF2 . E8 E4527E77 call msvcrt.__p__fmode
00409EF7 . 8B0D C8DF4000 mov ecx,dword ptr ds:[40DFC8]
00409EFD . 8908 mov dword ptr ds:[eax],ecx
00409EFF . 90 nop
00409F00 . E8 9F527E77 call msvcrt.__p__commode
00409F05 . 8B0D C4DF4000 mov ecx,dword ptr ds:[40DFC4]
00409F0B . 8908 mov dword ptr ds:[eax],ecx
00409F0D . A1 C8B24000 mov eax,dword ptr ds:[40B2C8]
00409F12 . 8B00 mov eax,dword ptr ds:[eax]
00409F14 . A3 D0DF4000 mov dword ptr ds:[40DFD0],eax
00409F19 . E8 17010000 call Sorbot.0040A035
00409F1E . 391D 60DE4000 cmp dword ptr ds:[40DE60],ebx
00409F24 . 75 0C jnz short Sorbot.00409F32
00409F26 . 68 32A04000 push Sorbot.0040A032
00409F2B . 90 nop
00409F2C . E8 44378177 call msvcrt.__setusermatherr
00409F31 . 59 pop ecx
00409F32 > E8 E9000000 call Sorbot.0040A020
00409F37 . 68 1CD04000 push Sorbot.0040D01C
00409F3C . 68 18D04000 push Sorbot.0040D018
00409F41 . E8 D4000000 call Sorbot.0040A01A
00409F46 . A1 C0DF4000 mov eax,dword ptr ds:[40DFC0]
00409F4B . 8945 94 mov dword ptr ss:[ebp-6C],eax
00409F4E . 8D45 94 lea eax,dword ptr ss:[ebp-6C]
00409F51 . 50 push eax
00409F52 . FF35 BCDF4000 push dword ptr ds:[40DFBC]
00409F58 . 8D45 9C lea eax,dword ptr ss:[ebp-64]
00409F5B . 50 push eax
00409F5C . 8D45 90 lea eax,dword ptr ss:[ebp-70]
00409F5F . 50 push eax
00409F60 . 8D45 A0 lea eax,dword ptr ss:[ebp-60]
00409F63 . 50 push eax
00409F64 . 90 nop
00409F65 . E8 814F7E77 call msvcrt.__getmainargs
00409F6A . 68 14D04000 push Sorbot.0040D014
00409F6F . 68 00D04000 push Sorbot.0040D000
00409F74 . E8 A1000000 call Sorbot.0040A01A
00409F79 . 83C4 24 add esp,24
00409F7C . A1 B8B24000 mov eax,dword ptr ds:[40B2B8]
00409F81 . 8B30 mov esi,dword ptr ds:[eax]
00409F83 . 8975 8C mov dword ptr ss:[ebp-74],esi
00409F86 . 803E 22 cmp byte ptr ds:[esi],22
00409F89 . 75 3A jnz short Sorbot.00409FC5
00409F8B > 46 inc esi
00409F8C . 8975 8C mov dword ptr ss:[ebp-74],esi
00409F8F . 8A06 mov al,byte ptr ds:[esi]
00409F91 . 3AC3 cmp al,bl
00409F93 . 74 04 je short Sorbot.00409F99
00409F95 . 3C 22 cmp al,22
00409F97 .^ 75 F2 jnz short Sorbot.00409F8B
00409F99 > 803E 22 cmp byte ptr ds:[esi],22
00409F9C . 75 04 jnz short Sorbot.00409FA2
00409F9E > 46 inc esi
00409F9F . 8975 8C mov dword ptr ss:[ebp-74],esi
00409FA2 > 8A06 mov al,byte ptr ds:[esi]
00409FA4 . 3AC3 cmp al,bl
00409FA6 . 74 04 je short Sorbot.00409FAC
00409FA8 . 3C 20 cmp al,20
00409FAA .^ 76 F2 jbe short Sorbot.00409F9E
00409FAC > 895D D0 mov dword ptr ss:[ebp-30],ebx
00409FAF . 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
00409FB2 . 50 push eax ; /pStartupinfo
00409FB3 . 90 nop ; |
00409FB4 . E8 357F3F7C call kernel32.GetStartupInfoA ; \GetStartupInfoA
00409FB9 . F645 D0 01 test byte ptr ss:[ebp-30],1
00409FBD . 74 11 je short Sorbot.00409FD0
00409FBF . 0FB745 D4 movzx eax,word ptr ss:[ebp-2C]
00409FC3 . EB 0E jmp short Sorbot.00409FD3
00409FC5 > 803E 20 cmp byte ptr ds:[esi],20
00409FC8 .^ 76 D8 jbe short Sorbot.00409FA2
00409FCA . 46 inc esi
00409FCB . 8975 8C mov dword ptr ss:[ebp-74],esi
00409FCE .^ EB F5 jmp short Sorbot.00409FC5
00409FD0 > 6A 0A push 0A
00409FD2 . 58 pop eax
00409FD3 > 50 push eax
00409FD4 . 56 push esi
00409FD5 . 53 push ebx
00409FD6 . 53 push ebx ; /pModule
00409FD7 . 90 nop ; |
00409FD8 . E8 C416407C call kernel32.GetModuleHandleA ; \GetModuleHandleA
00409FDD . 50 push eax
00409FDE . E8 6D000000 call Sorbot.0040A050
00409FE3 . 8945 98 mov dword ptr ss:[ebp-68],eax
00409FE6 . 50 push eax ; /status
00409FE7 . 90 nop ; |
00409FE8 . E8 91FE7F77 call msvcrt.exit ; \exit
00409FED . 8B45 EC mov eax,dword ptr ss:[ebp-14]
00409FF0 . 8B08 mov ecx,dword ptr ds:[eax]
00409FF2 . 8B09 mov ecx,dword ptr ds:[ecx]
00409FF4 . 894D 88 mov dword ptr ss:[ebp-78],ecx
00409FF7 . 50 push eax
00409FF8 . 51 push ecx
00409FF9 . E8 16000000 call Sorbot.0040A014
00409FFE . 59 pop ecx
00409FFF . 59 pop ecx
0040A000 . C3 retn
未修?的JMP
0040A00E $ 90 nop
0040A00F .- E9 3DAE7F77 jmp msvcrt.__dllonexit
0040A014 $ 90 nop
0040A015 .- E9 948D7F77 jmp msvcrt._XcptFilter
0040A01A $ 90 nop
0040A01B .- E9 47FD7F77 jmp msvcrt._initterm
已修?的入口?
00409EAF >/$ 55 push ebp
00409EB0 |. 8BEC mov ebp,esp
00409EB2 |. 6A FF push -1
00409EB4 |. 68 98B94000 push AutoSys.0040B998
00409EB9 |. 68 36A04000 push <jmp.&msvcrt._except_handler3> ; 入口位址; SE ?理程序安砚
00409EBE |. 64:A1 00000000 mov eax,dword ptr fs:[0]
00409EC4 |. 50 push eax
00409EC5 |. 64:8925 00000000 mov dword ptr fs:[0],esp
00409ECC |. 83EC 68 sub esp,68
00409ECF |. 53 push ebx
00409ED0 |. 56 push esi
00409ED1 |. 57 push edi
00409ED2 |. 8965 E8 mov dword ptr ss:[ebp-18],esp
00409ED5 |. 33DB xor ebx,ebx
00409ED7 |. 895D FC mov dword ptr ss:[ebp-4],ebx
00409EDA |. 6A 02 push 2
00409EDC |. FF15 D4B24000 call dword ptr ds:[<&msvcrt.__set_app_ty>; msvcrt.__set_app_type
00409EE2 |. 59 pop ecx
00409EE3 |. 830D D4DF4000 FF or dword ptr ds:[40DFD4],FFFFFFFF
00409EEA |. 830D D8DF4000 FF or dword ptr ds:[40DFD8],FFFFFFFF
00409EF1 |. FF15 D0B24000 call dword ptr ds:[<&msvcrt.__p__fmode>] ; msvcrt.__p__fmode
00409EF7 |. 8B0D C8DF4000 mov ecx,dword ptr ds:[40DFC8]
00409EFD |. 8908 mov dword ptr ds:[eax],ecx
00409EFF |. FF15 CCB24000 call dword ptr ds:[<&msvcrt.__p__commode>; msvcrt.__p__commode
00409F05 |. 8B0D C4DF4000 mov ecx,dword ptr ds:[40DFC4]
00409F0B |. 8908 mov dword ptr ds:[eax],ecx
00409F0D |. A1 C8B24000 mov eax,dword ptr ds:[<&msvcrt._adjust_f>
00409F12 |. 8B00 mov eax,dword ptr ds:[eax]
00409F14 |. A3 D0DF4000 mov dword ptr ds:[40DFD0],eax
00409F19 |. E8 17010000 call AutoSys.0040A035
00409F1E |. 391D 60DE4000 cmp dword ptr ds:[40DE60],ebx
00409F24 |. 75 0C jnz short AutoSys.00409F32
00409F26 |. 68 32A04000 push AutoSys.0040A032
00409F2B |. FF15 C4B24000 call dword ptr ds:[<&msvcrt.__setusermat>; msvcrt.__setusermatherr
00409F31 |. 59 pop ecx
00409F32 |> E8 E9000000 call AutoSys.0040A020
00409F37 |. 68 1CD04000 push AutoSys.0040D01C
00409F3C |. 68 18D04000 push AutoSys.0040D018
00409F41 |. E8 D4000000 call <jmp.&msvcrt._initterm>
00409F46 |. A1 C0DF4000 mov eax,dword ptr ds:[40DFC0]
00409F4B |. 8945 94 mov dword ptr ss:[ebp-6C],eax
00409F4E |. 8D45 94 lea eax,dword ptr ss:[ebp-6C]
00409F51 |. 50 push eax
00409F52 |. FF35 BCDF4000 push dword ptr ds:[40DFBC]
00409F58 |. 8D45 9C lea eax,dword ptr ss:[ebp-64]
00409F5B |. 50 push eax
00409F5C |. 8D45 90 lea eax,dword ptr ss:[ebp-70]
00409F5F |. 50 push eax
00409F60 |. 8D45 A0 lea eax,dword ptr ss:[ebp-60]
00409F63 |. 50 push eax
00409F64 |. FF15 BCB24000 call dword ptr ds:[<&msvcrt.__getmainarg>; msvcrt.__getmainargs
00409F6A |. 68 14D04000 push AutoSys.0040D014
00409F6F |. 68 00D04000 push AutoSys.0040D000
00409F74 |. E8 A1000000 call <jmp.&msvcrt._initterm>
00409F79 |. 83C4 24 add esp,24
00409F7C |. A1 B8B24000 mov eax,dword ptr ds:[<&msvcrt._acmdln>]
00409F81 |. 8B30 mov esi,dword ptr ds:[eax]
00409F83 |. 8975 8C mov dword ptr ss:[ebp-74],esi
00409F86 |. 803E 22 cmp byte ptr ds:[esi],22
00409F89 |. 75 3A jnz short AutoSys.00409FC5
00409F8B |> 46 /inc esi
00409F8C |. 8975 8C |mov dword ptr ss:[ebp-74],esi
00409F8F |. 8A06 |mov al,byte ptr ds:[esi]
00409F91 |. 3AC3 |cmp al,bl
00409F93 |. 74 04 |je short AutoSys.00409F99
00409F95 |. 3C 22 |cmp al,22
00409F97 |.^ 75 F2 \jnz short AutoSys.00409F8B
00409F99 |> 803E 22 cmp byte ptr ds:[esi],22
00409F9C |. 75 04 jnz short AutoSys.00409FA2
00409F9E |> 46 inc esi
00409F9F |. 8975 8C mov dword ptr ss:[ebp-74],esi
00409FA2 |> 8A06 mov al,byte ptr ds:[esi]
00409FA4 |. 3AC3 cmp al,bl
00409FA6 |. 74 04 je short AutoSys.00409FAC
00409FA8 |. 3C 20 cmp al,20
00409FAA |.^ 76 F2 jbe short AutoSys.00409F9E
00409FAC |> 895D D0 mov dword ptr ss:[ebp-30],ebx
00409FAF |. 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
00409FB2 |. 50 push eax ; /pStartupinfo
00409FB3 |. FF15 38B04000 call dword ptr ds:[<&kernel32.GetStartup>; \GetStartupInfoA
00409FB9 |. F645 D0 01 test byte ptr ss:[ebp-30],1
00409FBD |. 74 11 je short AutoSys.00409FD0
00409FBF |. 0FB745 D4 movzx eax,word ptr ss:[ebp-2C]
00409FC3 |. EB 0E jmp short AutoSys.00409FD3
00409FC5 |> 803E 20 /cmp byte ptr ds:[esi],20
00409FC8 |.^ 76 D8 |jbe short AutoSys.00409FA2
00409FCA |. 46 |inc esi
00409FCB |. 8975 8C |mov dword ptr ss:[ebp-74],esi
00409FCE |.^ EB F5 \jmp short AutoSys.00409FC5
00409FD0 |> 6A 0A push 0A
00409FD2 |. 58 pop eax
00409FD3 |> 50 push eax
00409FD4 |. 56 push esi
00409FD5 |. 53 push ebx
00409FD6 |. 53 push ebx ; /pModule
00409FD7 |. FF15 34B04000 call dword ptr ds:[<&kernel32.GetModuleH>; \GetModuleHandleA
00409FDD |. 50 push eax
00409FDE |. E8 6D000000 call AutoSys.0040A050
00409FE3 |. 8945 98 mov dword ptr ss:[ebp-68],eax
00409FE6 |. 50 push eax ; /status
00409FE7 |. FF15 34B34000 call dword ptr ds:[<&msvcrt.exit>] ; \exit
00409FED |. 8B45 EC mov eax,dword ptr ss:[ebp-14]
00409FF0 |. 8B08 mov ecx,dword ptr ds:[eax]
00409FF2 |. 8B09 mov ecx,dword ptr ds:[ecx]
00409FF4 |. 894D 88 mov dword ptr ss:[ebp-78],ecx
00409FF7 |. 50 push eax
00409FF8 |. 51 push ecx
00409FF9 |. E8 16000000 call <jmp.&msvcrt._XcptFilter>
00409FFE |. 59 pop ecx
00409FFF |. 59 pop ecx
0040A000 \. C3 retn
已修?的JMP
0040A00E $- FF25 ECB24000 jmp dword ptr ds:[<&msvcrt.__dllonexit>] ; msvcrt.__dllonexit
0040A014 $- FF25 E0B24000 jmp dword ptr ds:[<&msvcrt._XcptFilter>] ; msvcrt._XcptFilter
0040A01A $- FF25 C0B24000 jmp dword ptr ds:[<&msvcrt._initterm>] ; msvcrt._initterm
|