软件安全分析--二进制逆向分析
本文最后更新于:2024年7月25日 下午
虚拟机要点
- 主要的东西都在文档下
- PETools 修改二进制文件
- BinarySecureit 课程内容
- 在mscode中编译使用
反汇编和反编译
用到IDAPro 在文档Tools下,可直接搜索ida
- 多窗口
- 右键+text可以在左边显示地址
- 在编译视图下按F5反编译
- ctrl+g跳转
- ctrl+f查找
内存读写监控需要用到pin
- pin -t MemoryTrace.dll – target.exe
- 插桩分析,输出的内容在trace.out下
- 根据trance拿到的地址,再给MemoryHook
动态方式注入代码
- 用IDA和hook
静态方式注入
- 用PETools
- 打开exe,打开section
- 先修改.rodata节的大小
- 再添加.new节
IDA python (必做)
- 为IDA编写python脚本
- 输出exe文件中所有的函数名以及起始地址和结束地址
- 两种模式
- 命令行方式
- 输入命令时log文件和脚本文件要打引号
- 命令行方式
- 为IDA编写python脚本
pin (选做)
- 编译
- 文档/Tools/Pin/source/mypintool/用vs打开
- 编译之前要修改MyPinTool.vcproj,找到PlatformToolTest,把所有的110改成143
- 然后点击绿三角就可以开始编译了
- 也可以直接build,这个东西没法运行,因为它生成的东西是一个动态库
- 生成的东西在release/debug下的*.dll文件
- pintool用法
- pin -t <已生成的dll文件 *.dll> – <target *.exe>
- 然后会在执行目录下生成一个trace.out
- 编译
模糊测试技术
基本概念
- 流程
- 初始化
- 测试用例筛选
- 对筛选出的测试用例进行变异
- 执行这些测试用例,获取对应反馈信息
软件安全分析--二进制逆向分析
http://server.killuayz.top/2023/05/26/secure-binary-reverse-analysis/