zoukankan      html  css  js  c++  java
  • 《IDA Pro 代码破解解密》笔记一

    博客地址:http://blog.csdn.net/qq1084283172/article/details/53158970


    return 0;  C语言返回0语句的汇编形式


    Intel-32汇编:

    leave
    xor eax, eax
    ret

    AT&T汇编:

    leave
    xorl %eax, %eax
    ret

    从汇编的结果可以看出,返回0的C语言语句,在编译器生成的汇编语句中并没有包含常量,这是编译器优化的结果,它认为复制零的操作比执行异或的运算更耗资源。


    操作码与Shellcode:Shellcode其实是一系列的操作码,一般保存在C字符串数组里,,称它为shellcode主要是因为这一系列的操作码是执行shell(例如:/bin/sh或cmd.exe)所必须的指令。




    Windows汇编语言中常用寄存器的介绍:





    汇编语言中栈结构的学习:






    汇编语言中堆结构的学习:




    常用的汇编语言指令:











    注意:jmp指令和call指令的区别(下面这2个指令真的很重要,要理解透彻)


    jmp指令只是单纯的代码执行的跳转,call指令在执行的时候会先将保存下一条将要执行的地址即先保存CS:EIP的值,然后再进行代码执行流程的跳转



    注意 ret指令的执行步骤


    ret指令在执行的时候,会先获取栈帧中保存的CS和EIP的值,恢复和设置CS和EIP的值,使程序的流程得以正常继续下去。



    简单的做个笔记,本来打算打字敲一下笔记的,后来觉得太费时间了,直接截图了--方便。感觉这些知识点是逆向工程学习的基础,工作一段时间了,很多东西都没接触了,快忘了,简短的记录一下。




    书籍参考:

    《IDA Pro 代码破解解密》







  • 相关阅读:
    IE hasLayout详解
    seajs引入jquery
    jquery实现轮播插件
    CSS视觉格式化模型
    js事件冒泡和事件捕获详解
    你尽力了么===BY cloudsky
    前向否定界定符 python正则表达式不匹配某个字符串 以及无捕获组和命名组(转)
    php safe mode bypass all <转>
    WAF指纹探测及识别技术<freebuf>
    linux集群管理<转>
  • 原文地址:https://www.cnblogs.com/csnd/p/11800667.html
Copyright © 2011-2022 走看看