x64(学习笔记) - 1(函数逆向)

要点

  • 在x64默认下不使用rbp寻址,使用rsp寻址

  • 在x64下栈是静态的栈,函数开头会默认开辟好所有的栈
    20200825172443

  • 栈帧 - 栈顶 到 栈底的高度

  • x64中栈帧是静态的,默认就开辟好了

  • 在x64中 修改rsp 可能是 sub 也可能是 lea

  • 在x64中 堆栈回溯 需要计算rsp 来回溯堆栈

  • 在x64中 ret 一般都没有参数 因为栈是静态默认开辟好的

  • 48位有效地址有多少有效内存呢?2^48=40000G

x64(学习笔记) - 1(汇编)

要点

  1. 在x64中对32位的寄存器(比如eax,ebx)操作的时候(xor and mov 等)会影响64位的寄存器 。在x64中 mov eax,0x1 和 mov rax,0x1 俩个汇编的相等的 —零拓展
  2. x64寻址和x32寻址不一样 call offset =call goto address - rip
  3. x64中 没有pushad pushaq 有 pushfq(eflags); push cs, push ds 也没有了

:D 一言句子获取中...