-
-
[求助]程序退出的原因
-
发表于:
2014-7-9 20:30
4337
-
PEID0.95 查得如下: Nullsoft PiMP Install System *
一个17k的scr程序。双击即退出,拿IDA看到有如下代码
int __stdcall start(int a1, int a2, int a3, int a4)
{
SetLastError(1u);
v4 = GetModuleHandleA("kernel32.dll");
SetLastError(2u);
dword_40400C = (int)GetProcAddress(v4, "LoadLibraryA");
v14 = __readfsdword(48);
if ( *(_DWORD *)(v14 + 100) >= 2u )
{
dword_404008 = (int (__stdcall *)(_DWORD, _DWORD, _DWORD, _DWORD))GetProcAddress(v4, "VirtualAlloc");
dword_404004 = (int (__stdcall *)(_DWORD, _DWORD, _DWORD, _DWORD))GetProcAddress(v4, "VirtualProtect");
..................
}
}
已知现在程序在xp sp2下(OD里看到), *(_DWORD *)(v14 + 100)=1
所以if ( *(_DWORD *)(v14 + 100) >= 2u ) 不成立,程序就退出了。
但是我想问下,为什么会退出呢?(win7下不知等于多少,但也退了)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课