LXH

打工打工打工

ASLR-PIC-PIE

如何生成动态库

来自《深入理解计算机系统》 写在前面 ELF可重定位目标文件的格式 ELF(executable and linkable format) 常见的文件类型包括:可执行文件、共享库.so、目标文件.o和core文件 动态链接共享库 共享库.so是一个目标模块,在运行或加载时,可以加载到任意的内存位置,并和内存中的程序链接,整个过程称为 动态链接 ASLR ad...

ELF标准格式与延迟绑定

GOT和PLT都是啥

来自《深入理解计算机系统》 写在前面 ELF可重定位目标文件的格式 ELF(executable and linkable format) 常见的文件类型包括:可执行文件、共享库.so、目标文件.o和core文件 格式 全称 所属平台 常见系统 ELF ...

动态链接共享库

动态链接与静态链接

来自《深入理解计算机系统》 写在前面 ELF-64可重定位目标文件的格式 ELF(executable and linkable format) 常见的文件类型包括:可执行文件、共享库.so、目标文件.o和core文件 动态链接共享库 共享库 Shared Library 共享库的存在合理性: 静态库需要定期的维护和更新 动态链接的存在合理性: ...

CPP内存结构

堆栈及编译过程

变量与常量 常量 包括整型常量、实型常量、字符常量、字符串常量、符号常量1 与常变量相比,常量是没有名字的不变量 变量 有名字的、具有特定属性的存储单元 静态变量 由static修饰 常变...

ROP

return-oriented-programming 返回导向编程技术

溢出漏洞 缓冲区溢出 栈溢出 安全技术 ASLR PIE SSP Stack smashing protection 编译器级,在编译时执行 在栈的基址指针和返回地址的前面加上一个伪随机数,栈cookies或canaries,作为函数序言(function prologue)的一部分,在程序返回前比较该值是否一致 DEP Data Execution Prevent...

CPU 内存管理

Computer System Basis

===================== 系统相关 进制转换 1B = 8 bits、 1字节 = 8 比特 16进制(0x00–0xFF)对应10进制(0–$2^4^ * 2^4^ -1$ 即255) 对应二进制(2^8^ ,即1字节) $\Rightarrow$ 在地址转换中(如,0x002400D0),两位16进制对应1字节,八位16进制对应4字节。4字节 = $2^2 *...

vscode 远程SSH开发

vscode配置远程访问服务器

三番四次回顾,每次换新的主机都要重新鼓捣一遍 vscode 安装插件 marp插件 vscode制作ppt 安装插件后,只需要在新建md文件的最前面输入以下声明即可 --- marp: true --- ppt页面分隔 可以在文中用---进行页面分割 也可以设置全局指令headingDivide...

markdown技巧整理

个人常用的 md 文件

持续更新,平时会用到的markdown编辑指令 怎么让MD更美观 基本 标题 #、粗体 ** **、斜体 * *、删除线 ~~ ~~、分割线 ---、超链接 []() 引用 >、列表 - / 1. 、代码块 脚注 [^1] / [^1]:、待办事项 [ ] / [x] Markdown 进阶语法: ...

Git指令整理

不适合阅读的整理的一些个人常用的 Git 指令

随便整理的一些自用的Git指令 GitHub创建仓库提示代码 echo "# 项目名" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:qiubaiying/项目名.git git push -u orig...