静态分析

反病毒引擎扫描

病毒文件特征库:已知恶意代码可识别片段的特征数据库

启发式检测:基于行为与模式匹配的分析

绕过方式:修改代码来改变程序特征,躲避反病毒引擎的检测;使用新型独特的恶意代码来绕过启发式检测

反病毒方式:调用多个反病毒引擎来扫描

哈希值:恶意代码的指纹

可以用来唯一标识恶意代码的方法【哈希不可逆且基本唯一】,也可以用来防止系统等文件被篡改【比较哈希值】

md5deep:用来对文件生成哈希值;或者windows自带certutil也可以

image-20220911230250225.png

image-20220915115528542.png

哈希值用途

  • 作为标签使用
  • 分享恶意代码哈希值
  • 在线搜索文件哈希值,查看是否已被识别

查找字符串

eg:程序访问某个URL,可以搜索该URL字符串

微软Strings程序和findstr结合使用来搜索字符串

image-20220911231857948.png

image-20220922103650216.png

有用的信息:

  • 恶意代码实例名
  • 帮助或命令行选项
  • 用户会话
  • 后门口令
  • 相关URL信息、email
  • 库、函数调用

加壳与混淆恶意代码

混淆程序:隐藏执行过程的代码,加壳程序属于混淆程序中的一类,加壳后恶意程序被压缩,难以分析

文件加壳:

image-20220912073047021.png

可以使用exeinfo或者PEiD来识别文件的壳

PE文件格式

PE:可移植执行文件,windows可执行文件、对象代码、DLL所使用的标准格式【其实是一种数据结构,包含了Windows加载器管理可执行代码所必需的信息】

链接库与函数

导入函数:一个程序所使用的但存储在另一程序中的函数,如通用的代码函数库

  • 静态链接:Windows不常用,复制库的代码会让可执行程序增大很多
  • 运行时链接:需要使用函数时才链接到库
  • 动态链接:程序加载时搜索所需代码库
最后修改:2022 年 11 月 02 日
如果觉得我的文章对你有用,请随意赞赏