Привет, Я в процессе демонстрации программы, и я не могу определить, для чего предназначена эта часть программы. Я понимаю, что eax - это регистр, и push eax помещает его в стек и т. Д., Но что делает push offset aTaskmgr?Нужна помощь, поясняющая следующую программу:
Объяснение было бы очень признателен.
.text:00404867 loc_404867: ; CODE XREF: .text:00404870j
.text:00404867 mov cx, [eax]
.text:0040486A add eax, 2
.text:0040486D test cx, cx
.text:00404870 jnz short loc_404867
.text:00404872 sub eax, edx
.text:00404874 sar eax, 1
.text:00404876 jz loc_404927
.text:0040487C lea ecx, [esp+1389Ch]
.text:00404883 push ecx
.text:00404884 call __wcslwr
.text:00404889 push offset aTaskmgr ; "taskmgr"
.text:0040488E push eax
.text:0040488F call _wcsstr
.text:00404894 add esp, 0Ch
.text:00404897 test eax, eax
.text:00404899 jnz short loc_404917
.text:0040489B lea edx, [esp+1389Ch]
.text:004048A2 push edx
.text:004048A3 call __wcslwr
.text:004048A8 push offset aProcexp ; "procexp"
.text:004048AD push eax
.text:004048AE call _wcsstr
.text:004048B3 add esp, 0Ch
.text:004048B6 test eax, eax
.text:004048B8 jnz short loc_404917
.text:004048BA lea eax, [esp+1389Ch]
.text:004048C1 push eax
.text:004048C2 call __wcslwr
.text:004048C7 push offset aRegedit ; "regedit"
.text:004048CC push eax
.text:004048CD call _wcsstr
.text:004048D2 add esp, 0Ch
.text:004048D5 test eax, eax
.text:004048D7 jnz short loc_404917
.text:004048D9 lea ecx, [esp+1389Ch]
.text:004048E0 push ecx
.text:004048E1 call __wcslwr
.text:004048E6 push offset aMsconfig ; "msconfig"
.text:004048EB push eax
.text:004048EC call _wcsstr
.text:004048F1 add esp, 0Ch
.text:004048F4 test eax, eax
.text:004048F6 jnz short loc_404917
.text:004048F8 lea edx, [esp+1389Ch]
.text:004048FF push edx
.text:00404900 call __wcslwr
.text:00404905 push offset aCmd_exe ; "cmd.exe"
.text:0040490A push eax
.text:0040490B call _wcsstr
.text:00404910 add esp, 0Ch
.text:00404913 test eax, eax
.text:00404915 jz short loc_404920
Благодаря
Похоже, что неприятный код Windows - преобразование целевой строки Unicode в нижний регистр, а затем поиск его для строк, таких как «taskmgr», «regedit» и т. Д. Может быть что-то из сканера вредоносного ПО? –
Ваш дизассемблер был достаточно дружелюбен, чтобы напечатать строку как комментарий. Таким образом, 'push offset aTaskmgr' просто подталкивает адрес строки' taskmgr' в стек, в этом случае в качестве аргумента '_wcsstr'. – Jester