逆向分析之花指令1

一、 概述

花指令是对立反缀编的无效媒质经过,合格的编码添加了花指令以后的,毁灭静力学分解的加工,在分解中出错。分解失常的的末后会事业本利之和的广泛的便宜行事的权力加法。,使次的框架和算法调查不成领会,很难破解这人次。,相应地经过努力到达某事物病毒或软件守护的专注的。

二、花指令搭配

[]可表演性式花指令

望文生义,可表演性式花指令指的是能合格的运转的但又不改建原始次压力的一组无益的物指令。这类花指令有如次特有的:它可以合格的运转。;不要更改什么自动记录器的值;(3)还击缀编次可以严格意义上的地分解指令。。

拿 … 来说这么样几组花指令就属于该类别:PUSHEAX&POPEAX;NOP:豪猪和鸭嘴兽等。这种类别的花指令结成版式很多,常用于病毒编码的失真引擎,病毒在繁殖时经过失真引擎随机发生一组该类别花指令并拔出到病毒合格的编码中,可以改建病毒的署名,尽心竭力地做失真功能。

[]不成表演式花指令(渣滓指令)

本文次要是就这实地的的。,一组无益的物音节,拔出到原始编码中。这类花指令有如次特有的:无合格的操控;不要更改什么自动记录器的值;(3)还击缀编次可能性失常的地解体这些音节。。

粉底分解的任务规律,最好的当花指令同合格的指令的开端相当多的音节被反缀编器识别成条指令时,分解的末后可以无效地销毁。。从此,拔出的花指令该当是相当多的不详尽的的指令,拔出的不详尽的指令可以随机选择。。正因不成表演花指令有这些特有的,该类花指令才干应用到软件守护中。

卡伦以及对立的事物人指明为了无效地晦涩的静力学差分,确保编码的严格意义上的操控同时举行,花指令不可避免的满足的两个基本特征,即:

1)渣滓档案不可避免的是合法指令的部分的。:

2)次运转时,花指令不可避免的坐下实践不成表演的编码远远地。

三、不成表演花指令的成因为反缀编算法的缺陷

可用于静力学辨析的一般分解算法可区别出来。:通过单独的若干阶段来发展扫描算法与游览递推算法。

通过单独的若干阶段来发展扫描分解算法

通过单独的若干阶段来发展扫描算法P1从次的进入方式点开端到DISAS,那时的扫描总计的编码段。,在分解扫描中尤指不期而遇的每个指令。冯诺依曼扫描下通过单独的若干阶段来发展扫描算法的错误,与档案和编码不成区别,从此,嵌入在编码段做成某事档案被曲解为,相应地终极赢得失常的的分解末后。。

递归式逆按捺算法

通过单独的若干阶段来发展扫描算法的构成,游览递归式算法决议下一步的指令,当不受把持的转变指令时会尤指不期而遇次分解,当尤指不期而遇把持转变命令时,分解开端于。递归式算法的错误是很难控制。。

四、复杂不成表演花指令

    实践训练中不要复杂花指令,不然容易的被使死亡或被以为是病毒。。

以下最类型的版式:

jmp Label1

  db 渣滓档案

Label1:

  ……

解析:

1、Jmp可用于呼叫,ret,弯曲部分和对立的事物掉换

2。渣滓档案通常是一个人多音节的指令操控编码。,拿 … 来说,在TunkCoD1中评价0E8H。,因0E8H是呼叫指令的操控码,从此,当解码0E8H时,将依照4个音节。,即,前4个音节的恶意编码称为目的地址。,相应地事业分解失常的。,完成使安坐恶意编码的专注的。

五、稍复杂的花指令

多切开版式

杂乱的类型版式的需要量跳可能性只会事业DIS,又下面的多功能的次嵌套的需要量漏过晦涩的则能使更多指令的反缀编获益失常的的末后。

插图画家:

  JMP Label1

  Db thunkcode1

Label1:

  ……

  JMP Label2

  Db thunkcode2

Label2:

  ……

多层使凌乱

在下面的表格中,您可以复杂地在跳到目的地址私下暂停全部的音节。,从此,有一种新的需要量晦涩的版式。,多层愚昧无知序列嵌套:

JMP Label1

  Db thunkcode1

Label2:

  ……

  JMP Label3

  Db thunkcode3

Label1:

  …….

  JMP Label2

  Db thunkcode2

Label3:

  ……

发表评论

Close Menu