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

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

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

1 该程序导入了哪些DLL

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

885218-20170530170334633-1226737316.png

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

885218-20170530170356977-2061809952.png

885218-20170530170404961-1781699683.png

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

用PEid查看,或用IDA查看,三个都是10000000h
885218-20170530170414196-505151937.png

885218-20170530170423133-761507167.png

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

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

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

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

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

885218-20170530170522414-1196980152.png

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

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

885218-20170530170610243-238652772.png

885218-20170530170617618-1705303607.png

885218-20170530170657039-166253674.png

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

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

885218-20170530170756243-50236431.png

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

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

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

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

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

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

885218-20170530171426211-1011625475.png

885218-20170530171443102-323174805.png

参考资料

动静结合分析效果好

转载于:https://www.cnblogs.com/20145120hxx/p/6920828.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【标题】"语音识别的一个matlab程序"是一个与语音处理和模式识别技术相关的项目,它使用MATLAB编程语言实现。MATLAB是MathWorks公司开发的一种数值计算和数据可视化环境,广泛应用于工程、科学和数学领域,尤其在信号处理和机器学习方面有很强的功能。 【描述】提到的"在一个网站看到,大家分享一下"表明这是一个社区共享的资源,可能来源于一个在线论坛或编程交流平台。这样的共享行为旨在促进技术交流和学习,让其他对语音识别感兴趣的用户能够参考、学习和改进代码。 【标签】"语音识别"是这个项目的关键词,意味着该程序涉及将人类语音转化为文本或命令的过程。语音识别技术的核心是将音频信号转换为可理解的数据,这通常包括预处理、特征提取、模型训练和匹配等步骤。 在提供的【压缩包子文件的文件名称列表】中,我们可以推断出这个MATLAB程序的组成部分: 1. `demo.m`:通常是演示脚本,用于展示程序的主要功能和用法,用户可以通过运行这个文件快速了解程序的工作原理。 2. `.p` 文件(melfb.p, mfcc.p, vqlbg.p, disteu.p, test.p, blockFrames.p, train.p):这些是MATLAB的编译函数文件,可能包含特定的算法实现,如梅尔频率倒谱系数(MFCC)提取、声学建模、距离计算、训练和测试等功能。例如: - `melfb.p` 可能实现了梅尔滤波器组,用于对语音信号进行频谱分析。 - `mfcc.p` 可能负责MFCC的计算,这是语音识别中常用的特征提取方法。 - `train.p` 和 `test.p` 可能分别对应模型的训练和测试过程。 3. `Read Me.txt`:通常包含关于如何使用、配置和运行程序的说明和指导。 4. `www.pudn.com.txt`:可能指向源文件的下载地址或发布者的信息,PUDN(太平洋下载网)是一个提供各类资源下载的网站。 这个MATLAB程序可能涵盖了语音识别的完整流程,包括预处理、特征提取、模型训练和评估。通过运行`demo.m`,用户可以体验整个识别过程,并可根据源代码深入了解语音识别的实现细节。对于学习和研究语音识别技术的人来说,这是一个宝贵的实践资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值