动态链接库本身是一些经过编译的二进制文件,之在运行时才会被连接进主进程。在windows下这些二进制文件被称为动态链接库(dll),而在linux下这些库文件被称为共享对象(so,shared object)。无论哪种平台,这些二进制文件都是通过导出函数名称的方式来呈现它们所包含的函数。这些由链接库导出的函数名称可以被解析成内存中实际的函数的地址。

函数调用约定(calling convention)描述了如何以正确的方式调用某些特定类型的函数,包括了函数参数在栈上的分配顺序、有哪些参数压栈,哪些参数将通过寄存器传入、在函数返回时函数栈的回收方式等。两种最基本的函数调用约定:cdecl和stdcall。cdecl调用约定规定函数的参数列表以从右向左的顺序入栈,并由函数的调用者负责清除栈上的参数。这种调用约定在x86架构上被绝大多数C编译器使用。stdcall调用约定为Win32 API使用。两种调用约定都使用EAX寄存器存放函数返回值。

结构体(structure)和联合体(union)是两种极为重要的数据类型,无论是在微软的Win32 API中,还是linux下的libc库中都被广泛使用。联合体中包含的所有成员变量共享同一个内存地址,通过这种变量存储方式,联合体可以赋予同一个值不同类型的表现形式。

Python灰帽子笔记一相关推荐

  1. Python灰帽子笔记二

    通用寄存器: 寄存器可以被认为是位于CPU上的小型存储器.CPU获取数据的最快方式是直接访问寄存器.在X86指令集中,一个CPU具有8个通用寄存器:EAX,EDX,ECX,ESI,EDI,EBP,ES ...

  2. 读书笔记 《Python灰帽子-黑客与逆向工程师的Python编程之道》

    Python灰帽子-黑客与逆向工程师的Python编程之道 1.调试器原理和设计 调试器 白盒调试器 黑盒调试器 2.寄存器 2.1通用寄存器 EAX(ADD) EDX(DEPOSIT) ECX(Co ...

  3. Python灰帽子--黑客与逆向工程师的Python编程之道 笔记,过程问题解决

    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑电脑端的可以看看目录 跟着学习进度不断更新中....(因为懒,没更新了,也不打算继续更新文章了......) power by <p ...

  4. 电子书推荐--《Python灰帽子》,python黑客编程

    点此在线阅读 <Python灰帽子>是由知名安全机构Immunity Inc的资深黑帽Justin Seitz主笔撰写的一本关于编程语言Python如何被广泛应用于黑客与逆向工程领域的书籍 ...

  5. Python灰帽子环境配置

    关于Python灰帽子里面的python代码运行环境配置,需要安装python2.7.x,自行到http://www.python.org下载. 我配置好环境后,把用到的库和pydbg需要替换的文件, ...

  6. Python灰帽子pdf

    下载地址:网盘下载 内容简介  · · · · · · <Python灰帽子>是由知名安全机构Immunity Inc的资深黑帽Justin Seitz主笔撰写的一本关于编程语言Pytho ...

  7. Python灰帽子——黑客与逆向工程师的Python编程之道

    Python灰帽子--黑客与逆向工程师的Python编程之道 下载地址 https://pan.baidu.com/s/12hlf8ZAXBbGwcael_Ecmrg 扫码下面二维码关注公众号回复 1 ...

  8. python灰帽子学习感想

    Gray Hat Python Python Programming for hackers and reverse engineers Python灰帽子:黑客与逆向project师的Python编 ...

  9. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

最新文章

  1. 解决 EF whereT(func) 查询的一个性能问题
  2. 区块链技术指2.1 区块链技术
  3. 1.4 File类(文件操作类)获取文件属性,创建和删除文件\目录,遍历目录
  4. Mybatis Plus为什么提供BaseMapper和IService两个相似CRUD操作的接口?
  5. PHP数组推入弹出的函数:头进头出array_unshift/array_shift 尾进尾出array_push/array_pop
  6. python opencv2_python opencv2 api
  7. linux 启动 x,(1)linux启动过程
  8. android学习笔记---33_为应用添加多个Activity与参数传递
  9. java项目导出可执行jar包 配置文件 及运行方法
  10. 大数据为什么需要安全分析
  11. nRF52840脱坑指南
  12. libaio-devel下载
  13. 游戏建模赏析:《魔兽世界》伊瑟拉图鉴
  14. 查看mysql是否区分大小写
  15. 浪潮网络交换机快速使用手册
  16. 周末愉快——程序猿的浪漫css画玫瑰礼盒
  17. 移动APP外挂攻防实战
  18. 教你如何解决win10电脑局域网看不到其他共享电脑
  19. 前端学PHP之会话Session
  20. 圆锥曲线万能弦长公式_圆锥曲线的焦点弦长公式

热门文章

  1. describe函数的参数举例详解
  2. 路飞学城Python-Day14
  3. E. Cashback
  4. js使用基础总结(简单封装,事件,foreach 原生js写法)
  5. python爬取网易云某一歌手的音乐评论
  6. mysql导入数据的格式转换_mysql数据库导入导出csv格式实现zblog转换帝国cms教程记录...
  7. 微信小程序+云函数+腾讯云对话机器人API(ChatBot)
  8. 《这一代人的学习》观看笔记
  9. 【微机原理与汇编语言】输出n位十进制数
  10. 恶性淋巴瘤及其实验诊断题库【1】