恶意代码分析实战Lab1-3
Lab1-3
分析Lab1.3.exe文件
目录
3.有没有任何导入函数能够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么?
4.有哪些基于主机或基于网络的迹象,可以被用来确定被这个恶意代码所感染的机器?
2. 是否有这个文件被加壳或混淆的任何迹象?
利用PEiD进行分析
程序利用FSG1.0进行加壳操作
利用ollybdg进行手动脱壳
在尝试了一番之后,我发现这个脱完壳后还得进行修复,就搁置在这里。
我又换了另一种脱壳方式,基于ollybdg的自动化脱壳,软件里面有自带的功能,很好,不用进行修复。
3.有没有任何导入函数能够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么?
查看导入表
好家伙,没见过的玩意。网上搜了话,也不是很懂。
VariantInit函数
Initializes a variant to VT_EMPTY
他的作用很简单,就是初期化为VT_EMPTY。其实这个VariantClear ()已经做了,如果如果调用了它,就可以不用VariantInit()了。
SysAllocString
是分配内存的. 一般用在 接口的 返回 BSTR 参数,不需要释放的. 释放 是 调用者要处理的。
CoCreateInstance
用指定的类标识符创建一个Com对象,用指定的类标识符创建一个未初始化的对象。当在本机中只创建一个对象时,可以调用CoCreateInstance;在远程系统中创建一个对象时,可以调用CoCreateInstanceEx;创建多个同一CLSID的对象时, 可以参考 CoGetClassObject 函数。
OleInitialize
它的作用是在当前单元(apartment)初始化组件对象模型(COM)库,将当前的并发模式标识为STA(single-thread apartment——单线程单元),并启用一些特别用于OLE技术的额外功能。除了CoGetMalloc和内存分配函数,应用程序必须在调用COM库函数之前初始化COM库
OleUninitialize
OleInitialize是一个Windows API函数。它的作用是在当前单元(apartment)初始化组件对象模型(COM)库,将当前的并发模式标识为STA(single-thread apartment——单线程单元),并启用一些特别用于OLE技术的额外功能。除了CoGetMalloc和内存分配函数,应用程序必须在调用COM库函数之前初始化COM库。
4.有哪些基于主机或基于网络的迹象,可以被用来确定被这个恶意代码所感染的机器?
将文件导入IDA,字符串里面没有发现关于网络的
然后对其names窗口进行分析,发现一个跟网址差不多的字符串。
双击跳转过去,发现了网址