恶意代码分析方法(一)

1.哈希值

工具:MD5deeep
哈希是一种用来唯一标识恶意代码的常用方法,我们可以通过文件哈希值来判定开发者的程序是否被修改

2.查找字符串

帮助了解程序功能属性

3.动态链接函数

工具:DependencyWallker,用于查看动态链接函数
根据调用的DLL模块中的函数推测功能
ps:一些windows api允许程序员导入不在程序文件头中的链结函数,其中两个最常见的是LoadLibrary和GetProcAddress。LdGetProcAddress和LdrLoadDll也会被使用,当这些函数使用时,无法静态分析出程序调用了那些函数。

常见dll模块

user32.dll

是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息
包含图形界面操作,可能为图形化界面

gdi32.dll

gdi32.dll是Windows GDI图形用户界面相关程序,包含的函数用来绘制图像和显示文字

kernel32.dll

控制着系统的内存管理、数据的输入输出操作和中断处理
打开和操作进程(OpenProcess,OpenCurrentProcess,GetProcessHeap)
对文件进行操作(Readfile,Creatfile,Writefile)
搜索目录下的文件(FindFirstFile,FindLastFile)

Advapi32.dll

程序使用了注册表,搜索注册表键值的字符串

SetWindowsHookEx函数用于记录键盘输入内容,包含该函数可能有键盘记录功能

PE文件头与分节

工具:PEview
Resource Hacker查看资源

.text 包含CPU执行指令 可执行,包含代码
.rada 包含导入与导出函数信息
.data 包含程序全局数据
.rsrc 包含可执行文件所使用的资源

猜你喜欢

转载自blog.csdn.net/shannow_123/article/details/87981322