首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实用恶意软件分析- 7_01,无端推送

实用恶意软件分析- 7_01,无端推送
EN

Stack Overflow用户
提问于 2016-05-04 18:35:17
回答 1查看 388关注 0票数 1

在阅读“实用恶意软件分析”这本书时,我正在做7_01练习。以下是代码和答案的链接- https://jmprsp.wordpress.com/2016/03/03/practical-malware-analysis-analyzing-malicious-windows-programs-lab-7-01/

有两个命令,我不能真正理解它们在main函数中的作用(代码复制自IDA):

代码语言:javascript
复制
ServiceStartTable= SERVICE_TABLE_ENTRYA ptr -10h
var_8= dword ptr -8
var_4= dword ptr -4
argc= dword ptr 4
argv= dword ptr 8
envp= dword ptr 0Ch

sub esp, 16

lea eax, [esp+10h+ServiceStartTable]

mov [esp+10h+ServiceStartTable.lpServiceName], offset aMalservice

push eax

mov [esp+14h+ServiceStartTable.lpServiceProc], offset second_function

mov [esp+14h+var_8], 0

mov [esp+14h+var_4], 0

call ds:StartServiceCtrlDispatcherA

push 0

push 0

call second_function

add esp, 24

retn

second_function是上面链接中显示的函数sub_401040,它没有获得任何参数,也没有理由两次推送0。有谁能解释一下这个吗?如果让我猜测,我会说编译器将这些推放在那里是出于某种原因,但我不知道为什么

EN

回答 1

Stack Overflow用户

发布于 2018-01-31 23:28:22

我认为,这个应用程序必须作为服务运行,但您可以通过设置指向主函数sub_401040的指令指针来强制它运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37025265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档