• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此

权威指南-第50章 混淆技术

核心原理 云涯 5年前 (2019-08-12) 1783次浏览 0个评论

代码混淆技术是一种用于阻碍逆向工程分析人员解析程序代码的指令处理技术

0x1 字符串变换

在逆向工程中字符串经常会起到路标的作用,一些编程人员会着手解决这个问题,会采用一些变换手法,让他人不能直接通过IDA或者16进制编辑器直接搜索到字符串。

0x2 可执行代码

在正常执行的指令序列中插入一些虽然可以被执行的但是没有任何作用的指令,本身就是一种代码混淆技术。

  • 插入垃圾代码
  • 多个指令组合代替原来的一个指令

mov op1,op2  —–>  push op2,pop op1

  • 始终执行或者从来不会执行的代码

在跳转下添加代码,这样的代码会永远被跳过,但是可以混淆静态汇编工具。

另一种是不会改变核心寄存器,然后就增加他们之间的信息传递来混淆分析人员。

  •  把指令序列搞乱

通过跳转指令将原本有顺序的指令变成无顺序的指令,但是程序还可以正常执行。

  • 使用间接指针

云涯历险记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:权威指南-第50章 混淆技术
喜欢 (0)

您必须 登录 才能发表评论!