逆向课程第三讲逆向中的优化方式,以及加减乘
一丶为什么要熟悉优化方式
熟悉优化方式,可以在看高级代码的时候浮现出汇编代码,以及做逆向对抗的时候,了解汇编代码混淆
优化和混淆是相反的...优化: 指的是汇编代码越少越好,让程序更快的执行
混淆: 一条汇编代码变为多条汇编代码,影响逆向人员的破解能力,但是软件的效率大大降低
二丶加减乘的常见的几种优化方式
优化方式分为:
1.常量折叠
2...程序很简单,
常量+常量
变量+常量
变量+变量
首先常量加常量在优化中的汇编代码表现形式
我们定位入口点,查看下反汇编
自己的程序为了快速定位入口点,所以加个int 3断点,触发异常即可.
?...对应的汇编代码:
PS看的是Debug版本,Release版本直接都常量折叠了,push的都是常量
?...可以看出都是有符号的相乘,不带幂的相乘
3.窥孔优化
窥孔优化,上面我们说了,变量+常量,那么变量没有修改的前提下,可以用常量代替的,
变为了常量+常量
但是优化方式是这样的
首先先看看你的变量+常量是否可以常量传播