天象独行 发表于 2020-12-3 09:26

基本语句逆向分析

本帖最后由 天象独行 于 2020-12-3 17:27 编辑

基本语句逆向分析
注释:如果发现图片内容模糊,可以下载附件,附件当中有PDF文档
一;if语句
         特点:有个类似cmp指令来成为条件表达式,然后有J**指令用于向下跳转,且跳转的目的代码当中没有jmp指令。

二;if…else语句

三;if…else if…else语句
         在if…else语句当中else再次嵌套一个if…else语句。
         特点:在j**指令向下跳转,且跳转的目的代码中有jmp指令。

四;switch…case语句
         注释:当switch分支数小于6时会直接使用if…else来实现,当switch分支数大于等于6时编译会进行优化。常见优化方案,将所有跳转的case位置偏移放在一个一维数组的表当中,然后将case的值当成数组下标进行跳转。

五;do循环
         该循环的流程是:先执行语句块,在进行表达式判断,当表达式的值为True,则继续执行语句块。

六;while循环
         While循环的流程是:先进行表达式判断,当表达式结果为True,会继续执行语句块。

七;for循环         
For(表达式1;表达式2;表达式3)
         For循环流程:
         1;计算表达式1
         2;求解表达式2,如果值为True,则执行For语句当中的内嵌语句,然后执行第3步;如果表达式2值为假,则结束循环,转到第5步。
         3;计算表达式3
         4;转会上面第2步执行。
         5;结束循环



wanshiz 发表于 2020-12-3 17:23

感谢分享此件。

芽衣 发表于 2020-12-10 08:53

这么小的字???:sleepy:怎么看

天象独行 发表于 2020-12-10 09:04

芽衣 发表于 2020-12-10 08:53
这么小的字???怎么看

抱歉,确实图片的字小了点,附件我上传了源文件。

Minister 发表于 2020-12-11 21:05

感谢分享,用语言解释语言,易懂通俗{:1_921:}

天象独行 发表于 2020-12-12 21:18

Minister 发表于 2020-12-11 21:05
感谢分享,用语言解释语言,易懂通俗

谢谢您的认同
页: [1]
查看完整版本: 基本语句逆向分析