能力值:
( LV6,RANK:90 )
|
-
-
2 楼
注意文件末尾那个附加数据,是文件的CRC校验码,脱壳后别忘了添加,新的CRC校验码可以跟到。
注意这里678AB0BF nop掉。
678AB0B2 8B45 0C mov eax,dword ptr ss:[ebp+C]
678AB0B5 48 dec eax
678AB0B6 75 32 jnz short NtrQQ.678AB0EA
678AB0B8 E8 66FEFFFF call NtrQQ.678AAF23
678AB0BD 84C0 test al,al
678AB0BF 75 10 jnz short NtrQQ.678AB0D1 ; //Nop
678AB0C1 E8 D2FEFFFF call NtrQQ.678AAF98
678AB0C6 3C 01 cmp al,1
678AB0C8 75 07 jnz short NtrQQ.678AB0D1
678AB0CA E8 4FFBFFFF call NtrQQ.678AAC1E
678AB0CF EB 19 jmp short NtrQQ.678AB0EA
678AB0D1 33C0 xor eax,eax
678AB0D3 50 push eax
678AB0D4 50 push eax
678AB0D5 50 push eax
678AB0D6 68 76AF8A67 push NtrQQ.678AAF76
678AB0DB 50 push eax
678AB0DC 50 push eax
678AB0DD FF15 D8F08B67 call dword ptr ds:[678BF0D8] ; kernel32.CreateThread
678AB0E3 50 push eax
678AB0E4 FF15 C4F08B67 call dword ptr ds:[678BF0C4] ; kernel32.CloseHandle
678AB0EA 33C0 xor eax,eax
678AB0C1这个Call就是计算CRC了,根据附加数据CRC校验码进行比较。
678AB035 56 push esi
678AB036 57 push edi
678AB037 53 push ebx
678AB038 68 486C8C67 push NtrQQ.678C6C48 ; ASCII "RtlComputeCrc32"
678AB03D 68 586C8C67 push NtrQQ.678C6C58 ; UNICODE "ntdll.dll"
678AB042 FF15 30F08B67 call dword ptr ds:[678BF030] ; kernel32.GetModuleHandleW
678AB048 50 push eax
678AB049 FF15 94F08B67 call dword ptr ds:[678BF094] ; apphelp.73425D3D
678AB04F FFD0 call eax
678AB051 50 push eax
678AB052 8D45 E8 lea eax,dword ptr ss:[ebp-18]
678AB055 68 706C8C67 push NtrQQ.678C6C70 ; ASCII "%08X"
678AB05A 50 push eax
678AB05B FF15 98F28B67 call dword ptr ds:[678BF298] ; USER32.wsprintfA
678AB061 83C4 0C add esp,0C
678AB064 FF75 D0 push dword ptr ss:[ebp-30]
678AB067 FF15 C4F08B67 call dword ptr ds:[678BF0C4] ; kernel32.CloseHandle
678AB06D 8D45 E8 lea eax,dword ptr ss:[ebp-18]
678AB070 50 push eax
678AB071 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
678AB074 50 push eax
678AB075 FF15 6CF18B67 call dword ptr ds:[678BF16C] ; kernel32.lstrcmpA
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
还要提醒您一下,上面说到Nop的地方,是通过GetStartupInfo来检测调试器的,后面还有几处检测,不合适会直接调用ZwShutdownSystem重启,调用地方比较多,直接在入口Retn,调试时注意下。
给您发个可用的。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
非常感谢你的解答,怪不得我每次调试的时候,只要一改马上就无法载入了,原来是GetStartupInfo在作怪。
|
|
|