随笔分类 -  pwn从0到1

摘要:动态链接 为什么要动态链接 静态链接使得不同的程序开发者和部门能够相对独立地开发和测试自己的程序模块,从某种意义上来讲大大促进了程序开发的效率,原先限制程序的规模也随之扩大。但是慢慢地静态链接的诸多缺点也逐步暴露出来,比如浪费内存和磁盘空间、模块更新困难等问题,使人们不得不寻找一种更好的方式来组织程 阅读全文
posted @ 2021-02-02 14:52 不想取名字a 阅读(444) 评论(0) 推荐(2)
摘要:过程 过程是软件中一种很重要的抽象。它提供了一种封装代码的方式,用一组指定的参数和一个可选的返回值实现了某种功能。然后,可以在程序中不同的地方调用这个函数,。设计良好的软件用过程作为抽象机制,隐藏某个行为的具体实现,同时又提供清晰简洁的接口定义,说明要计算的是哪些值,过程会对程序状态产生什么样的影响 阅读全文
posted @ 2021-01-31 16:07 不想取名字a 阅读(551) 评论(0) 推荐(0)
摘要:程序编码 假设一个 C 程序,有两个文件 p1.c 和 p2.c。我们用 Unix 命令行来编译这些代码: gcc -Og -o p p1.c p2.c 命令 gcc 就是 GCC C 编译器。编译选项 -Og 告诉编译器使用会生成符合原始 C 代码整体结构得机器代码优化等级。使用较高级别优化代码会 阅读全文
posted @ 2021-01-30 20:12 不想取名字a 阅读(406) 评论(0) 推荐(0)
摘要:#可执行文件格式 现在 PC 平台流行的可执行文件格式主要是 Windows 下的 PE(Portable Executable)和 Linux 下的 ELF(Executable Linktable Format)。目标文件就是源代码编译后但未进行链接的那些中间文件(Windows 下的 .obj 阅读全文
posted @ 2021-01-27 17:45 不想取名字a 阅读(502) 评论(0) 推荐(1)
摘要:Hello world hello world 的代码非常简单,相信大家都不陌生。 #include <stdio.h> int main() { printf("Hello world\n"); } 可一个 “hello world” 程序是如何在电脑上跑起来的呢?不妨思考以下问题: 程序为什么要 阅读全文
posted @ 2021-01-26 14:35 不想取名字a 阅读(418) 评论(0) 推荐(0)
摘要:#前言 工欲善其事,必先利其器。搭建一个良好的 pwn 环境能使 pwn 学习事半功倍。本篇文章介绍下使用 wsl2 搭建 pwn 环境的过程,使用 vmware 搭建 linux pwn 环境过程也是类似的,本文可以供作参考。 #windows 下的工具 ##wsl2 wsl 全称 Windows 阅读全文
posted @ 2020-12-29 00:46 不想取名字a 阅读(8236) 评论(3) 推荐(3)