恶意代码分析-第一章-静态基础分析

之前分析

反病毒引擎扫描:https://www.virustotal.com/#/home/upload

哈希值识别:

查找字符串:strings

检查壳:

动态链接函数:

常见DLL

Kernel32.dll:这是一个很常见的DLL,它包含核心系统功能,如访问和操作内存、文件和硬件等等。

OpenProcess,GetcurrentProcess和GetProcessHeap:打开操作进程

Readfile,createfile,writefile:文件操作

FindFirstFile和FindNextFile:搜索目录下的所有文件

winexec:执行其他程序,恶意代码创建一个新进程,需要进一步分析这个新进程

LoadResourec:从PE文件装载资源到内存中

GetWindowsDirectory:用这个函数来确定将恶意代码安装到哪个目录下

Advapi32.dll:这个DLL提供了对核心Windows组件的访问,比如服务管理器和注册表。

User32.dll:这个DLL中包含了所有用户界面组件,如按钮、滚动条以及控制和响应用户操作的组件。

RegisterClassEx,Setwindowtext和showwindow:图形化操作界面

SetWindowsHookEx:间谍软件函数,键盘记录器

RegisterHotKey:注册热键

RegOpenKeyExA/RegSetValueExA:往注册表中插入信息

Gdi32.dll:这个DLL中包含了图形显示和操作的函数。

Advapi32.dll:注册表操作

CreateService:创建一个服务

Ntdll.dll:这个DLL是Windows内核的接口。可执行文件通常不直接导入这个函数,而是由Kernel32.dll间接导入,如果一个可执行程序导入了这个文件,这意味着作者企图使用那些不是正常提供给Windows程序使用的函数。一些如隐藏功能和操作进程等任务会使用这个接口。

Wsock32.dll和Ws2_32.dll:这两个是联网DLL,访问其中任何一个DLL的程序非常可能会连接网络,或是执行网络相关的任务。

Winnet.dll:这个DLL包含了更高层次的网络函数,实现了如FTP、HTTP和NTP等协议。

InternetOpen和InternetOpenURL:联网操作

URLDownloadToFile:网络函数

Register

WinINet.dll:InternetOpenA:初始化对WinINet库的使用,设置用于HTTP通信的User-Agent字段

InternetOpenUrlA:使用一个完整的FTP或者HTTP的URL,来打开一个句柄

InternetReadFile:用于从InternetOpenUrlA打开的句柄中读取数据

InternetCloseHandle:用于关闭这些已打开的文件句柄

函数名约定

1.一些以Ex为后缀的函数名(例如CreateWindowEx),是微软在更新一个函数。

2.名字后面会包含一个A或者一个W,如CreateDirectoryW,以A结尾的输入参数类型为ASCII字符串,而以W结尾的输入参数以宽字符字符串。当你在微软的文档中搜索这个函数时,你需要记得丢掉后缀的A或者W

加壳和混淆代码通常会包含LoadLibrary和GetProcAddress函数,用来加载和使用其他函数功能

PEview分析PE文件

Subsystem:指出是控制台程序还是图形界面程序

当节中的虚拟大小比实际大小大的多,则可能有壳。

小结:导入函数

导出函数

时间戳

分节

子系统

资源

猜你喜欢

转载自blog.csdn.net/m0_37809075/article/details/81238790