美文网首页
十六.反汇编

十六.反汇编

作者: mkb2 | 来源:发表于2017-05-20 12:56 被阅读28次
搞懂本质 直接看到了sizeof,然后去看看他里面的东西,就给他一个具体的数字,说明他是一个符号而已

sizeof 就是一个符号,编译器一看到他,就知道是这个符号了,然后给他设置内部的数而已


int c = ++a

bp指针如果加的话,就是找参数,如果减法,就是找到局部变量;

init c = ++a + ++a 看看这句话,结果39

编译器不一样,这就话有可能结果也不一样,实际开发中不要这样写,不安全;


访问结构体属性 比较条件结果表 符号寄存器,存放比较的结果,修改相应的二进制位 Jietu20170520-121738.jpg

switch和if的效率问题

if (a > 0),bp-4,局部变量

8086架构有16个寄存器;
ARM架构有37个寄存器;6个特定的寄存器,其他都叫通用寄存器

ARM寄存器.gif EFLAGS标志寄存器图示01.png
switch函数的反汇编1 switch函数的反汇编2 if语句

在这种基本比较中,我们认为是相同的,但是其他情况就不应了;

switch123 switch1-7

开辟空间,放指令,将来拿来就用,然后保存,cmp的结果都放到哪里,还有要去执行的代码放到内存中,保存内存地址,将来直接用,拿空间换时间;

编译器的优化-有些优化了时间,有些最大优化,有些尽可能优化。。。

相关文章

  • 十六.反汇编

    sizeof 就是一个符号,编译器一看到他,就知道是这个符号了,然后给他设置内部的数而已 bp指针如果加的话,就是...

  • ida学习

    IDA View-A 反汇编窗口(图形视图和文本视图) Hex View-1 十六进制窗口 Struceures ...

  • ida pro 学习记录

    ida pro功能菜单说明 IDA View-A是反汇编窗口,定位要修改的代码段在哪里 HexView-A是十六进...

  • iOS逆向之OC反汇编(下)

    本文主要理解OC对象反汇编,以及block常见类型的反汇编 OC反汇编 创建一个Person类,并在main函数中...

  • 对抗反汇编方法

    1.插入流氓字节,阻止真正的指令被反汇编 线性反汇编和面向代码流的反汇编: 线性反汇编是遍历一个代码段,一次一条指...

  • 一个java 比较迷惑的问题

    反汇编bytecode

  • 第17课 IDA 常用操作

    IDA调式界面 1.反汇编窗口 2.十六进制窗口 3.寄存器窗口 4.模块窗口 5.线程窗口 6.栈窗口 7.输出...

  • 007——逆向之OC反汇编

    block反汇编 全局静态block 反汇编的代码如下: 当看到0x100c121e8 <+12>: adrp ...

  • 计算机病毒分析

    一、ollydbg(od反汇编工具) ollydbg(od反汇编工具是当前逆向工程主流的动态跟踪调试工具,olly...

  • 程序调用过程和堆栈的关系,为什么要传地址而不传值

    bug.c 使用gdb调试,main函数反汇编的代码 swap函数的反汇编代码 在执行到call swap函数之前...

网友评论

      本文标题:十六.反汇编

      本文链接:https://www.haomeiwen.com/subject/hqzuxxtx.html