首页 > 其他分享 >pwn第一课

pwn第一课

时间:2024-04-25 20:35:45浏览次数:14  
标签:可执行文件 gcc 操作系统 CPU 第一课 test pwn 链接

硬件基础

  • 计算机低速I/O部件由南桥芯片收集信号连接北桥,北桥通过总线和CPU通信
  • 操作系统负责提供抽象接口和管理硬件资源
    • 操作系统通过多任务系统对CPU进行管理
    • 操作系统使用分页模式对内存进行管理
    • 操作系统读写I/O端口来实现对磁盘进行管理
  • CPU通过MMU(memory management unit)使虚拟地址映射到物理地址

可执行文件编译过程

  1. 预处理阶段:主要将#开头的库源码导入,删除注释,添加行号和文件名标识
    该步骤的命令为: gcc -E test.c -o test.i
  2. 编译阶段: 将C语言代码进行分析,编译为汇编语言assembly
    该步骤的命令为: gcc -S test.i -o test.s
  3. 汇编阶段:将汇编语言转换为机械代码
    该步骤的命令为: gcc -c test.s -o test.o
  4. 链接阶段: 将可执行文件所依赖库进行链接,并生成可执行文件,分为静态链接动态链接
    该步骤的命令为: gcc test.o -o test
    默认使用的是动态链接,若要使用静态连接则使用参数-static: gcc test.o -o test -static

标签:可执行文件,gcc,操作系统,CPU,第一课,test,pwn,链接
From: https://www.cnblogs.com/Junglezt/p/18157610

相关文章

  • pwn知识——劫持__malloc_hook(在加入tcache以后)
    导论动调是最好的导师!malloc_hook函数解析malloc_hook是malloc的钩子函数,在执行malloc时,会先检测__malloc_hook的值,如果malloc_hook的值存在,则执行该地址(值里边表现为十六进制,可以成为地址),也就是说,如果我们成功劫持malloc_hook以后并修改它的值为one_gadget,我们就能getshell并......
  • pwn知识——(x86)格式化字符串中利用fini_array及拓展
    导言这类题型还是我复现CISCN_2019_西南的PWN1的时候遇见的,算是涨知识了前置知识我们都知道,在程序中最先调用的不是main,也不是__libc_start_main,而是_start,我们来看一下再x86下的_start.text:08048420public_start.text:08048420_start......
  • HTML代码第一课
    HTML可以用记事本来写代码,但是为了符合浏览器W3C规范,我们写代码都会用到专业的开发工具。写前端代码可以用Hbuilder和VisualStudio等等开发工具。不管是哪种开发工具,HTML的写法规范都是一样的,都包含以下基本格式:1.<DOCTYPEhtml>2. <html>3. <head>4. <metacharset="......
  • 做re不小心噶了然后转生成为pwn高手
    ret2text一个简单的栈溢出栈溢出指的是程序向栈中某个变量中写入的字节数超过了这个变量本身所申请的字节数,因而导致与其相邻的栈中的变量的值被改变。这种问题是一种特定的缓冲区溢出漏洞,类似的还有堆溢出,bss段溢出等溢出方式。栈溢出漏洞轻则可以使程序崩溃,重则可以使攻击者......
  • 一种新的姿势:程序try/catch抛出异常之绕过canary pwn121
    一种新的姿势:程序try/catch抛出异常之绕过canary我前面发了不少关于绕过canary的姿势,先总结一下,现在绕过canary的姿势有泄露,爆破,格式化字符串绕过,多线程劫持TLS绕过,stack_smashing,今天介绍一种新的姿势,就是程序处理异常时,如果异常被上一个函数的catch捕获,那么上个函数的rbp就会......
  • 攻防世界 Level0 PWN
    查壳[*]'\level'Arch:amd64-64-littleRELRO:NoRELROStack:NocanaryfoundNX:NXenabledPIE:NoPIE(0x400000)ida//mainint__cdeclmain(intargc,constchar**argv,constchar**envp){writ......
  • 攻防世界 Hello_pwn
    先查壳,只开了NX[*]'\hellopwn'Arch:amd64-64-littleRELRO:PartialRELROStack:NocanaryfoundNX:NXenabledPIE:NoPIE(0x400000) 放进IDA反编译。__int64__fastcallmain(inta1,char**a2,char**a3){......
  • PWN出题小记
    记录一下PWN出题的源码、环境部署。PWN题环境部署图方便的话可以使用pwn_deploy_chroot这个项目。如何安全快速地部署多道ctfpwn比赛题目也可以自己写dockerfile拉取镜像。将题目名命名为pwn,与Dockerfile、ctf.xinetd、start.sh三个文件放在同一目录下,下面提供相......
  • PWN环境搭建
    序环境安装总能捣鼓半天,同样的坑重复踩,干脆记录下来,方便后续回看。VMware安装Ubuntu18虚拟机安装包地址如下,先直接down下来,存在一个方便找的地方。https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/18.04/ubuntu-18.04.6-desktop-amd64.iso然后安装教程如下,特别要提......
  • 格式化字符串走过的坑 pwn109
    格式化字符串走过的坑pwn109今天做的一道题有一个坑我调试半天终于打通了,格式化字符串的坑,确实不少,东西也比较多容易忘记,怎么说呢,功夫在平时,经验少了老规矩先看一下保护FullRELRO意味着got不能修改也就是不能通过格式化字符串漏洞来改got表,但是nx保护关闭了,也就是我们可以通......