当前位置:网站首页>恶意代码实战分析Lab05-01
恶意代码实战分析Lab05-01
2022-06-13 10:40:00 【王陈锋】
Lab05-01
只用IDA Pro分析在文件Lab05-01.dll中发现的恶意代码。这个实验的目标是给你一个用IDA Pro动手的经验。如果你已经用IDA Pro工作过,你可以选择忽略这些问题,而将精力集中在逆向工程恶意代码上。
内容比较多,后面再更
1.DllMain的地址是什么?
使用IDA打开后,鼠标所在位置
或者点击图中红色区域
然后会出现viewB
然后可以右键点击
便到了dllmain的开头地址。
2.使用Imports窗口并浏览到gethostbyname, 导入函数定位到什么地址?
直接搜索函数名
直接对着函数双击,到原文中查找定位地址。是在.idata
节的0x100163CC
处。
其实上图就已经给出了地址。
3.有多少函数调用了gethostbyname?
在这个viewB窗口中,ctrl+x。Jump to xref to oprand。
或者右键
函数交叉引用,p是引用,r是读取,要先读取,再引用。引用了9次,被5个函数调用。
这里显示了18行,但是并不是18个函数调用了这个gethostbyname。
+后面的是偏移地址。
4.将精力集中在位于0x10001757处的对gethostbyname的调用,你能找出那个DNS请求将被触发吗?
将外部引用窗口关闭,然后按G,直接定位0x10001757跳转过去
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处的子过程中的几百行指令中,一系列使用memecmp来比较字符串的比较。如果对robotwork的字符串比较是成功的(当memcmp返回0),会发生什么?
11.PSLIST导出函数做了什么?
12.使用图模式来绘制出对sub_10004E79的交叉引用图。当进入这个函数时,那个API函数可能被调用?仅仅基于这些API函数,你会如何重命名这个函数?
13.DLLMain直接调用了多少个Windows API? 多少个在深度为2时被调用?
14.在0x10001358处,有一个对Sleep(一个使用一个包含要睡眠的毫秒数的参数的API函数)的调用。顺着代码向后看,如果这段代码执行,这个程序会睡眠多久?
15.在0x10001701处是一个对socket的调用。它的3个参数是什么?
16.使用MSDN页面的socket和IDA Pro中的命名符号常量,你能使参数更加有意义吗?在你应用了修改以后,参数是什么?
17.搜索in指令(opcode 0xED)的使用。这个指令和一个魔术字符串VMXh用来进行VMware检测。这在这个恶意代码中被使用了吗?使用对执行in指令函数的交叉引用,能发现进一步检测VMware的证据吗?
18.将你的光标跳转到0x1001D988处,你发现了什么?
边栏推荐
- Vivo large scale kubernetes cluster automation operation and maintenance practice
- Idea life extension plug-in
- Database system concept (Chapter 17)
- Questions and answers of the labor worker general basic (labor worker) work license in 2022
- Test cases that testers must master
- of_find_compatible_node查找出所有的节点
- Win7 cannot be remote desktop problem
- 软件测试常问,你真的会搭建测试环境吗?
- Brief introduction to memory structure of virtual machine
- How to calculate ASCII code value and how to calculate arccos value
猜你喜欢
低代码开发一个基础模块
检验冗余码是否出错题型解法-摘录
SQL Server创建windows登录账户找不到用户或组
Sunyuchen, head of Grenada delegation, attended the WTO MC12 and emphasized the development of digital economy
Node red series (27): instructions for S7 node of the extension node
Docker部署Mysql
知识图谱入门
Vivo large scale kubernetes cluster automation operation and maintenance practice
【ELM分类】基于粒子群优化卷积神经网络CNN结合极限学习机ELM实现数据分类附matlab代码
Oracle custom data type question
随机推荐
Database system concept (Chapter 17)
of_find_compatible_node查找出所有的节点
IDEA远程调试spark-submit提交的jar
2022年劳务员-通用基础(劳务员)上岗证题目及答案
PyTorch基础(二)-- 张量与梯度
SQL Server创建windows登录账户找不到用户或组
[elm classification] data classification based on particle swarm optimization convolution neural network CNN combined with limit learning machine elm with matlab code
Cynthia项目缺陷管理系统
Chapter I Section I
d编译时生成唯一标识
[tool chain series] Notepad++
What is 400g Ethernet?
D evaluate twice map
记一次水平越权漏洞的利用
Node red series (24): use MySQL nodes in node red to add, delete, modify and query databases
2022 tailings recurrent training question bank and simulated examination
电赛校赛经验-程控风力摆
ADG备库MRP0状态WAIT_FOR_GAP
Redundancy code question type -- the difference between adding 0 after
D generate unique ID at compile time