当前位置: 首页 > news >正文

reserve学习笔记(花指令)

这是闲来无事逛博客时看到的一篇相关文章,觉得挺有意思。

定义

首先花指令其实就是没有用的指令(垃圾指令),它穿插在真正的代码中,会导致反编译时出现问题,从而会影响我们的静态分析

分类以及讲解 

花指令分为两种,其中一种为可执行花指令,另一种为不可执行花指令。

可执行花指令:顾名思义,就是该指令可以执行,但是执行后的结果是没有意义的,不会对寄存器的值产生任何影响,它仅仅是为了增加逆向工程师的工作量。

不可执行花指令:在可执行的代码中插入看似正常的代码,然而这些代码是永远不会被执行的,他会干扰反编译器的运行

垃圾数据必须是某个合法指令的一部分,简单来说,花指令不能是完全随机的乱码,而是要看起来像是正常的指令片段。这是因为反编译器和反汇编器在分析代码时,会按照指令的格式去解析字节。如果花指令是随机的乱码,它们很容易就能识别出来并忽略掉。但如果花指令看起来像是合法指令的一部分,反编译器就会被误导,尝试去解析这些无意义的代码,从而出错。

程序运行时,花指令必须位于实际不可执行的代码路径,这意味着花指令插入的位置很重要。它必须是在程序正常运行时永远不会被执行的代码路径上。换句话说,这些花指令虽然存在,但在程序真正运行时,它们不会被CPU执行,不会影响程序的正常功能。

原理

1. 反汇编算法的两种类型
(1)线性扫描算法
想象你有一本书,书里全是用机器语言写的代码。线性扫描算法就像是从书的第一页开始,逐字逐句地读下去,把每个字节都当作指令来解析。
工作原理:从程序的入口点(也就是程序开始的地方)开始,一条指令一条指令地反汇编,就像按顺序读书一样。
问题:在计算机的世界里,代码和数据是混在一起的(这就是冯·诺依曼体系结构的特点)。线性扫描算法不会区分哪些是代码,哪些是数据,所以它可能会把数据误当作指令来解析。这就像是把书里的标点符号也当作句子来读,结果就会乱七八糟,得到错误的反汇编结果。
(2)递归下降算法
递归下降算法则更聪明一些。它不仅会按顺序读代码,还会关注代码的逻辑结构,也就是“控制流”。控制流可以理解为程序运行时的路径,比如程序可能会根据条件跳到不同的地方执行。
工作原理:它从程序的入口点开始,遇到正常的指令就按顺序反汇编。但如果遇到“跳转”指令(比如“如果条件满足,跳到第10行执行”),它就会跳到那个位置,从那里开始继续反汇编。这样可以更好地理解程序的逻辑结构。
问题:递归下降算法依赖于程序的控制流,但如果有人故意在代码中插入一些虚假的控制流(比如构造一些看起来像是跳转指令,但实际上不会被执行的指令),它就会被误导,从而反汇编出错。
2. 花指令如何利用这些缺陷
(1)针对线性扫描算法
花指令可以插入一些看似是指令,但实际上不是指令的数据。因为线性扫描算法不会区分代码和数据,所以它会把这些花指令当作正常的指令来解析,结果就会出错。这就像是在书里故意插入一些乱码,让按顺序读的人看不懂。
(2)针对递归下降算法
花指令可以构造一些虚假的控制流。比如插入一些永远不会被执行的跳转指令,或者构造一些看起来像是条件分支但实际上没有意义的代码。递归下降算法会试图解析这些虚假的控制流,从而被误导,最终得到错误的反汇编结果。

关于一些简单的花指令的构造,我还没太搞清楚,下一篇博客再讲解吧

相关文章:

  • W3电力线载波通信技术
  • 项目删除了,为什么vscode中的git还是存在未提交记录,应该怎么删除掉
  • 系统安全应用
  • 系统安全及应用深度笔记
  • Android13 以太网(YT8531)
  • MetaERP:开启企业数字化管理新时代
  • 2025年渗透测试面试题总结-各厂商二面试题01(题目+回答)
  • 智能呼叫中心系统的功能
  • 设计模式-面试题
  • 用Caffeine和自定义注解+AOP优雅实现本地防抖接口限流
  • 基于RT-Thread的STM32F4开发第五讲——软件模拟I2C
  • spring boot 注解 @bean
  • 解决 uv run 时 ModuleNotFoundError: No module named ‘anthropic‘ 的完整指南
  • HTTPS、SSL证书是啥?网站“安全小锁”的入门科普
  • megatron——EP并行
  • 【idea 报错:java: 非法字符: ‘\ufeff‘】
  • Node.js 实战八:服务部署方案对比与实践
  • [IMX] 05.串口 - UART
  • 数据可视化热图工具:Python实现CSV/XLS导入与EXE打包
  • Python在自动驾驶数据清洗中的应用
  • 北美票房|华纳又赢了,《死神来了6》开画远超预期
  • 莱布雷希特专栏:古典乐坛边缘人
  • 深一度|上座率连创纪录撬动文旅,中超可否复制大连模式
  • 一周人物|收藏家瓦尔特捐出藏品,女性艺术家“对话”摄影
  • 这个死亡率第一的“老年病”,正悄悄逼近年轻人
  • 中国驻美大使:远离故土的子弹库帛书正随民族复兴踏上归途