数据软件分析(一)——静态分析

2023-11-17

基于恶意科学的数据软件分析

将学习本书的过程作记录分享。

数据科学是一个不断增长的算法工具集合,可以让我们通过使用统计学、数学和巧妙的统计数据可视化技术来理解和预测数据。一般来说,数据科学有三个组成部分:机器学习、数据挖掘和数据可视化。

第一章 恶意软件静态分析基础

静态分析:是对程序文件的反汇编代码、图形图像、可打印字符串和其他磁盘资源进行分析,是一种不需要实际运行程序的逆向工程。

简单来说,就是仅仅通过来分析程序文件。

1.1 windows可移植可执行文件(PE)

文件格式:

  • PE头:定义了程序的一般属性,如二进制代码、图像、压缩数据和其他程序属性。包括了时间戳字段(攻击者可能伪造,但有时候会忘记伪造)。

  • 可选头:定义了PE文件中程序入口点的位置。即告诉了逆向工程师从哪里开始进行逆向工程。

  • 节头:描述了PR文件中包含的数据节。

    • .text节:可执行的x86代码节。(每个PE程序的节头至少包含一个)
    • .idata节:导入节,包含导入地址表IAT。指出了程序所调用的库,很可能泄露恶意软件的高级功能。
    • 数据节:包括.rsrc.、.data和.rdata等节,存储程序使用的鼠标光标图像、按钮图标、音频和其他媒体等。
  • .reloc节

1.2 用python的pefile解析PE文件格式
import pefile
pe = pefile.PE("ircbot.exe")

#打印 PE文件的各个节
for section in pe.sections:
print(section.Name)
1.3 检查恶意软件的图片

使用wrestool从二进制文件中提取图像

mkdir images
wrestool -x fakepdfmalware.exe -output=images
icotool -x -o images images/*.ico

先创建一个目录来保存所提取的图像,接着使用icotool提取并将Adobe中图像格式中所有资源转换到.png图形。

1.4检查恶意软件的字符串
strings 文件路径 | less
strings 文件名 > 文件.txt

将文件中所有最小长度为4字节的可打印字符串逐行打印到终端上。

可以使用 - n 选项更改最小字符串长度。

strings -n 10 文件名

总结

本章对静态恶意软件分析有了一定的认识,了解了定义Windows操作系统.exe和.dll文件的PE文件格式,还了解了如何使用python库pefile解析实际场景中的恶意软件ircbot.exe二进制文件。以及学习了图像分析和字符串分析等静态分析技术。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据软件分析(一)——静态分析 的相关文章

  • 2022-04-30 Unity核心2——Sprite

    文章目录 一 Single 图片编辑 二 Multiple 图片编辑 三 Polygon 多边形编辑 四 Sprite Renderer 精灵渲染器 五 Sprite Creator 精灵创造者 六 Sprite Mask 精灵遮罩 七 S

随机推荐

  • Python语言基础—注释的作用及分类

    系列文章目录 Python语言基础 注释的作用及分类 Python语言基础 常用运算符总结 Python语言基础 定义变量与数据类型 Python语言基础 if判断和循环总结 Python语言基础 理解面向对象 Python语言基础 集合的
  • 学习之-Spring Cache缓存框架应用本地缓存

    此文章用于个人学习记录 原文地址 https zhuanlan zhihu com p 452315531 如果想了解springCache与redis的交互请看其他文章 缓存是web项目不可或缺的一部分 通过缓存能够降低服务器数据库压力
  • AIX logging

    复杂度2 5 机密度3 5 最后更新2021 05 15 AIX有很多log 不同的东西 程序 会log到不同的地方 这是有历史的操作系统无法避免的问题 太杂 太乱 有了新机制又要学 旧log又没法简单放弃或者改变 经由alog管理 查看
  • 假设在一个32位little endian的机器上运行下面的程序,结果是多少?

    假设在一个32位little endian的机器上运行下面的程序 结果是多少 假设在一个 32 位 little endian 的机器上运行下面的程序 结果是多少 include
  • 【每日进步一点点】C语言刷题技巧及训练1

    恭喜你发现宝藏 这里是刹那芳间 很高兴为您服务 C语言编程题 相信很多同学学校的C语言考试是上机做编程题叭 不要慌 这里将带你进行一个初步的入门 进行一些简单的编程题练习 Anyway 请一定要去多多实践 上机操作 还有 望具备空杯心态 这
  • React(五)- React组件的组合使用

    React 五 React组件的组合使用 一 Todo案例 1 1 组件的具体实现 1 1 1 Header 1 1 2 List 1 1 3 Item 1 1 4 Footer 1 2 父类App组件的实现 二 Todo案例的总结 Rea
  • opencv形态学操作

    连通性 在图像中 最 的单位是像素 每个像素周围有8个邻接像素 常 的邻接关系有3 种 4邻接 8邻接和D邻接 分别如下图所示 4邻接 像素p x y 的4邻域是 x 1 y x 1 y x y 1 x y 1 N p 表示像素p的4邻接
  • GRE隧道实验

    AR1 interface GigabitEthernet0 0 0 进入接口 ip address 10 1 12 1 255 255 255 0 ospf enable 200 area 0 0 0 200 AR2 interface
  • vue中使用百度webgl地图以及踩坑记录

    前言 在公司项目中 之前使用的是vue baidu map库 功能上使用暂无太大问题 最近需要在项目基础上添加一个大屏数据页面 并涉及到换肤功能 就是在换肤这里遇到了一些坑 使用个性化主题之后 出现 地图加载卡顿 白色方块 图层缩放最大等级
  • Windows使用模拟器启动AOSP源码编译的镜像

    正常情况下 源码编译后可直接执行emulator 启动编译好的镜像 但是如果使用的是server版的ubuntu系统 没有图形界面 或者WSL编译的源码 以及我当前情况 AMD CPU Hyper V ubuntu intel CPU好像没
  • 多线程之创建工作者线程和用户界面线程区别

    转帖 部分原创 1 工作者线程倾向于琐碎的处理 与它不同的是 用户界面线程具有自己的界面而且实际上类似于运行其他应用程序 创建线程而不是其他应用程序的好处是线程可与应用程序共享程序空间 这样可以简化线程与应用程序共享数据的功能 2 典型情况
  • 房产小程序需要加入哪些功能才能让用户喜欢?

    对于我们中国人来说 买房子可是一件大事 在以前大家购买房子需要到楼盘所在地了解 而现在互联网高速发展 人们足不出户通过微信小程序就可以了解各个地区的楼盘信息 这样确实节省下来不少时间 不过不是所有房产小程序都会让用户们喜欢 小程序需要加入合
  • Linux配置了环境变量JAVA仍然是openjdk

    问题描述 不使用openjdk 使用jdk 下载完后 也配置了环境变量 反复检查 etc profile bashrc 均没有错误 但是java version仍旧是openjdk 解决方案 需要删除 usr bin下的java文件
  • 趣图:太真实,程序员调 Bug 的写照

    点击上方公众号快速关注 不错过趣图 程序员调 Bug 的样子 非常真实 动图原作者是 我的邻居全是猫 网友评论 中国有圣人 哈哈哈 太形象了 最后干脆撂挑子不干了 破罐破摔了 她叫小明 所以发明回溯这个超能力的这个公司应该每年花一天专门纪念
  • GPT时代,是否还愿意将你的代码开源呢?

    日常 只是偶发的想法 仅供讨论 GPT是生成式AI 生成式的前提也是基于大量的学习资源 如果你的代码开源或者进入到大模型的学习库 GPT的能力可以迅速学习并掌握你的代码 GPT可以将你的代码提供给其他人 这个过程基本没有任何成本 也无需遵循
  • 安卓实现登录与注册界面

    使用Intent与Bundle传递数据 登录界面login xml 1 使用Relativelayout相对布局
  • canvas绘制随机颜色的柱形图

  • mysql修改表的编码为utf-8,解决插入中文乱码

    在创建mysql的表中如果没有指定编码默认为Iatin1 这个时候插入中文就会报错 需要修改表的编码为utf 8 修改表的编码的sql语句为在Alter table emp convert to character set utf8 这样就
  • Error: Rpmdb checksum is invalid: pkg checksums

    从字面意思判断是rpm库校验失败或者损坏 yum clean all yum makecache 搞定 经查询 RUN rpm rebuilddb命令可以一条条修复rpm 还是我的方法好
  • 数据软件分析(一)——静态分析

    基于恶意科学的数据软件分析 将学习本书的过程作记录分享 数据科学是一个不断增长的算法工具集合 可以让我们通过使用统计学 数学和巧妙的统计数据可视化技术来理解和预测数据 一般来说 数据科学有三个组成部分 机器学习 数据挖掘和数据可视化 第一章