恶意代码分析实战-通过IDA对恶意代码进行静态分析(Lab05-01.dll)

本文章为《恶意代码分析实战》的题目答案解析以及个人的一些理解,将通过一下问题对恶意代码Lab05-01.dll进行分析:

  1. D1lMain的地址是什么?
  2. 使用Imports窗口并浏览到gethostbyname,导入函数定位到什么地址?
  3. 有多少函数调用了gethostbyname?
  4. 将精力集中在位于0x10001757处的对gethostbyname的调用,你能找出哪个DNS请求将被触发吗?
  5. IDA Pro识别了在0x10001656处的子过程中的多少个局部变量?
  6. IDA Pro 识别了在0x10001656处的子过程中的多少个参数?
  7. 使用Strings窗口,来在反汇编中定位字符串\cmd.exe /c。它位于哪?
  8. 在引用\cmd.exe /c的代码所在的区域发生了什么?
  9. 在同样的区域,在0x100101C8处,看起来好像dword_1008E5C4是一个全局变量,它帮助决定
    走哪条路径。那恶意代码是如何设置dword_1008E5C4的呢?(提示:使用dword_1008E5C4的交叉引用。
  10. 在位于0x1000FF58 处的子过程中的几百行指令中,一系列使用memcmp来比较字符串的比较。
    如果对robotwork的字符串比较是成功的`(当memcmp返回0),会发生什么?
  11. PSLIST导出函数做了什么?
  12. 使用图模式来绘制出对sub_10004E79的交叉引用图。当进入这个函数时,哪个API函数可能被
    调用?仅仅基于这些API函数,你会如何重命名这个函数?
  13. D11Main直接调用了多少个Windows API?多少个在深度为2时被调用?
  14. 在ex10001358处,有一个对Sleep(一个使用一个包含要睡眠的毫秒数的参数的API函数)的
    调用。顺着代码向后看,如果这段代码执行,这个程序会睡眠多久?
  15. 在Ox10001701处是一个对socket的调用。它的3个参数是什么?
  16. 使用MSDN页面的socket和 IDA Pro中的命名符号常量,你能使参数更加有意义吗?在你应用
    了修改以后,参数是什么?
  17. 搜索in指令( opcode 0xED)的使用。这个指令和一个魔术字符串 vXh用来进行VMware检测。
    这在这个恶意代码中被使用了吗?使用对执行 in 指令函数的交叉引用,能发现进一步检测VMware的证据吗?
  18. 将你的光标跳转到Ox1001D988处,你发现了什么?
  19. 如果你安装了IDA Python插件(包括IDA Pro的商业版本的插件),运行Lab05-01.py,一个本
    书中随恶意代码提供的IDA Pro Python脚本,(确定光标是在Ox1001D988处。)在你运行这个脚本后发生了什么?
  20. 将光标放在同一位置,你如何将这个数据转成一个单一的ASCII字符串?21.使用一个文本编辑器打开这个脚本。它是如何工作的?

答案解析:

1. DllMain的地址是什么?

1000D02Eh
使用IDA打开文件后会自动跳转到DLLMAIN,或者你可以在左边的functions窗口找到dllmain地址

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值