花指令
花指令就是在正常的代码流程之中,通过内联汇编或者插入机器码的方式去干扰指令执行的顺序,从而影响反汇编引擎的工作来导致反汇编工具没有办法很好的识别出正确的代码
去除花指令常规步骤
1、jnz/jz是条件跳转指令(jz表示如果是0就跳转,jnz表示如果不是0就跳转)
2、loc_+1就是跳过一个字节的指令去执行下面的内容
loc_后面应该是data,由于花指令执行错误,所以应该将call一行转为data
点击call,并且按D键转为data
将转入data那一行数据的后面数据进行数据分析,选中数据并右键选择Analyze selected area
这两条就是垃圾指令
将0E8hpatch掉,nop为90(90表示没用的不要的东西)
将90h分析出来就是nop,这样整个函数就连在了一起
选中红色部分,按P转化成函数,再F5进行反编译得到main函数