CPU与进程的执行 前置知识寄存器(register)CPU 芯片内部自带的一排”随身小抽屉”——数量极少(十几个)、速度极快的存储格。CPU 做任何运算,数据都得先搬进寄存器才能动手。寄存器快到什么程度?访问一次寄存器约 1 个时钟周期,而访问内存要 100 多个周期,差了两个数量级。 程序计数器 PC(Program Counter)一个专门记”下一条要执行的指令在哪”的寄存器。它永远指向”接下来该执行哪条指令的 2026-09-27 PWN > 一些基础
程序装载与虚拟内存 前置知识1. 内存(memory)与磁盘(disk)——两个”仓库”的区别 这是理解整节的底层物理事实,先讲: 磁盘(硬盘/SSD):容量大、便宜、但慢(慢几个数量级)。程序文件、数据文件都躺在磁盘上。 内存(RAM):容量小、贵、但快。CPU 只能直接从内存里取指令和数据,不能直接读磁盘——这是硬件铁律。 所以任何程序要跑,第一步必须是”从磁盘搬进内存”。这就是”装载”这件事存在的 2026-09-24 PWN > 一些基础
ELF文件概述 前置文件在磁盘上其实只有两种本质形态:文本文件和二进制文件。 文本文件:里面存的是人能直接读懂的字符,比如 .txt、.c 源码、.md。拿记事本打开,看到的是一行行文字。 二进制文件:里面存的不是字符,而是机器直接能懂的 0 和 1(以及被组织成各种结构的原始数据)。拿记事本打开,看到的是一堆乱码 ^@、� 之类,因为那些字节根本不是给人看的。 一个 C 程序从源码到能运行,要经历几个阶段: 2026-09-23 PWN > 一些基础 #ELF
汇编基础语法 汇编基础语法x86-64汇编核心语法包括:寄存器、寻址方式、指令系统、伪指令 寄存器(CPU数据容器)x86-64有16个通用寄存器(64位):rax, rbx, rcx, rdx, rsi, rdi, rbp, rsp, r8, r9, r10, r11, r12, r13, r14, r15 rsi(源变址)、rdi(目的变址)是 pwn 里很重要的两个——负责传函数的第 1、2 个参数 r8 2026-09-21 PWN > 汇编 #Assembly
ClassLoader基础 ClassLoader介绍ClassLoader翻译过来就是类加载器,普通java开发者用到不多,但是对于框架开发者来说比较常见。理解了ClassLoader的加载机制,有利于编写出更高效的代码。 作用ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载 本文章就是为了学 2026-09-19 WEB > Java #Java #ClassLoader
Java 基础 面向对象类和对象类类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了 比如想造很多自行车,类就会像一个设计图:要多少轮子、有没有车铃、车把手在哪里。 定义类的语法123456[修饰符] class 类名{ 零到多个构造器定义.. 零到多个成员变量.. 零到多个方法} 2026-09-07 WEB > Java #Java
Hello World Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick 2026-06-14