跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

20145120《计算机病毒》动静态分析结合 - 20199107hxx

精选回复

发布于

20145120《计算机病毒》动静态分析结合

用各种工具对9-3.exe分析,并回答问题

1 该程序导入了哪些DLL

用PEid查看导入表(或PEexplore),导入了KERNEL32,NETAPI,DLL1,DLL2等4个dll
d1hfnnmjd3n3586.png

js0fmio0kda3587.png

用IDA分析,因为动态导入会用到loadLibrary函数,查看该函数交叉引用,可见导入了DLL3,USER32等两个dll
zh412bj3d2j3588.png

5tkvige0yk53589.png

rgswbrmab1v3591.png

2 三个DLL要求的基地址分别是多少?

用PEid查看,或用IDA查看,三个都是10000000h
tp5swnbgebh3592.png

xsg4arau1k53593.png

3 当时用OD调试该程序时,实际分配的基地址分别是多少?

用OD调试9-3.exe,dll1,dll2直接加载,地址如图10000000,003D0000
dnadyq0sd5x3594.png

用IDA查看,在00401041处调用loadLibrary加载dll3,OD跳转至此,在下面设置断点并运行后可看到地址如图00440000
nfjmnobooyp3595.png

4 当该程序调用DLL1.dll中的一个导入函数时,这个导入函数做了什么?

这个 函数是DLLPrint,该函数输出了dword_10008030的值,查看交叉引用可知,这是当前的该进程的进程号
g0ids5qiqgi3596.png

yiwap5cugzd3597.png

5 当该程序调用writefile函数时,文件名是什么?

writefile函数调用了dll2中dll2print和returnJ函数,returnJ的返回值其实就是dword_1000B078,该值由dll2print获得,1000B078保存的是temp.txt文件的句柄,所以文件名就是temp.txt
45darl5krph3598.png

edna2bfmyc23600.png

v1txqo3t0p13601.png

44wohdrawjl3602.png

6 当该程序调用NetScheduleJpbAdd创建一个Job时,从哪里得到第二个参数值?

该参数要从dll3GetStructure函数取得,是一个结构体,用IDA查看,其值从dword_1000B0A0获得,查看交叉引用,可发现改结构体赋值数据
oeifbtcoutj3603.png

i1amgq1hpjy3604.png

7 该程序打印的三块数据中,三个dll的数据分别是什么?

第一个神秘数据是该进程的进程号,第二个神秘数据是temp.txt的句柄,前面有体现

第三个神秘数据是保存一条ping指令字符串ping www.malwareanalysisbook的地址

用IDA打开dll3,查看dll3Print函数可见,要输出的是wideCharStr的内容
uuakiy1irkh3605.png

8 如何将dll2.dll加载到IDA中,使其与OD中加载的地址匹配?

将dll2拖到IDA中,勾选manual load,输入地址3D0000,中间一路yes即可
f5d5m0kgfly3606.png

00qjxea1d5p3607.png

taj0urg05jc3609.png

参考资料

动静结合分析效果好

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。