小白入门pwn笔记 CPU与进程的执行

news2024/12/26 11:04:25

1.回顾

存储在磁盘中的叫映射内存的时候叫

内存中的根据读写执行的权限不同在内存中映像为不同的

段视图用于进程的内存区域的rwx权限划分

节视图用于ELF文件编译链接时与在磁盘上储存时的文件结构的组织。

2.代码在内存重的映射关系

不可写的数据一般会被放在代码段、可读的被放在数据段。

#include<stdio.h>
int glb;
// 全局变量,并没有初始化,(被存在Bss中),所以在磁盘中并不占用空间,运行的时候可能会占用内存空间。
char *str = "hello world!";
// 在源代码中写死了,只读不可写不可执行。str在data段、内容在Text段
int sum(int x, int y)
{
    int t = x + y;
}
//sum函数,被编译后还是数据,只不过这个数据是机器码,代码也是数据放在Text段。
//sum中的t局部变量放在程序执行栈中。Stack
//x,y具体占用内存空间是不一定的,跟指令集有关,x86和amd64
//x86   占用stack空间
//amd64  占用cpu寄存器空间


int main()
//main函数也是函数放到Text中以机器码的形式存放。
{
    sum(1, 2);//函数调用,存在栈中(Stack)
    void *ptr = malloc(0x100);//局部变量,放栈中,malloc申请空间。放到heap(堆)中
    read(0, ptr, 0x100); // input "deadbeef"    
    //这个字符串会被写入到heap中
    return 0;
    //到此程序结束
}

3.大端序 小端序

大端序与小端序

下图中地址高低是上高下低

下图中地址是上底下高

4.进程的执行过程

cpu中有一组寄存器,reg。

CPU与内存沟通的渠道是地址总线,数据总线,指令。CPU向内存发送访存指令。

为什么cpu要有寄存器?

距离cpu最近的存储器速度越快,容量越小,价格越贵,

直接嵌套在cpu中的存储器:寄存器reg

PC:(amd64 - rip)保存当前内存中的代码段正在执行的代码地址。

它所指向的指令会被传送到cpu中执行。

大致执行过程:

内存把一条一条的代码和数据给cpu,cpu把指令执行完后把所需要的数据返回给内存。

5.寄存器

其中,r开头的寄存器,表示64位,8比特。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt OpenGL(三十六)——Qt OpenGL 核心模式-绘制雷达坐标系

提示:本系列文章的索引目录在下面文章的链接里(点击下面可以跳转查看): Qt OpenGL 核心模式版本文章目录 Qt OpenGL(三十六)——Qt OpenGL 核心模式-绘制雷达坐标系 一、场景 在日常的项目中,我们很多时候会遇到,绘制雷达扫描图的情况,比如,你的项目是给下面的雷达…

unidbg-boot-server使用并打包jar调用

其实线上使用可以多种方式,比如pom引入spring boot自己去写一个接口实现; 但如果并发不是很高,可以使用synchronized关键字进行,若对并发有要求,建议直接使用 unidbg-boot-server开源项目; 从github下拉,https://github.com/anjia0532/unidbg-boot-server 常见问题:…

Neo-reGeorg测试

1、前言 趁着春节刚开工不太忙&#xff0c;把以前的坑填一下。 主要是针对反向代理、隧道工具进行学习和测试。 之前测试过FRP&#xff0c;HTTPTunnel&#xff0c;NPS&#xff0c;都比较简单&#xff0c;而且上面工具也可以用在普通需求下使用。 reGeorg和Neo-reGeorg非常适合…

常用RTOS详细说明

鸿蒙OS HarmonyOS是一款面向全场景的开源分布式操作系统&#xff0c;是华为自主研发的操作系统。 鸿蒙OS实现模块化耦合&#xff0c;可应用在不同的设备上。 鸿蒙OS架构分为三层&#xff1a; 第一层是内核第二层是基础服务第三层是程序框架 。 鸿蒙OS底层三部分组成&#x…

《U型理论》速读

文章目录书籍信息概览踏上发现的旅程大火带来的启示踏上 U 型之旅学习和变革的4个层次组织的盲点社会的盲点科学的哲学基础关于界点下载观察感知自然流现结晶塑造原型运行社会场域理论的 21 个命题个人行动谈话行动自然流现的原则和实践&#xff1a;引领深刻的创新和变革视觉记…

Windows Server 2016搭建DNS服务

1&#xff1a;搭建DNS服务的目的是为了解析vCenter,当初安装时候没有用DNS解析&#xff0c;主机名是localhost无法安装vTPM虚拟Windows 11。 2&#xff1a;准备一台Windows Server 2016的主机&#xff0c;设置好固定IP地址,DNS就是本机的IP地址。 3&#xff1a;在服务器管理中…

Maven知识点-关于dependencyManagement和pluginManagement

前言 dependencyManagement和pluginManagement如何使用以及什么意思&#xff1f;我想懂点Maven的应该都明白&#xff0c;无非是依赖和插件的管理&#xff08;版本&#xff09;&#xff0c;一般多用于Maven项目的继承和聚合模式中。 这里不是讲解dependencyManagement和plugin…

PCB丝印的字符有哪些作用?

PCB字符也就是行业内常说的“丝印”PCB丝印在一般的PCB板子都可以看到&#xff0c;那么PCB丝印有那些作用呢。 1、大家都知道各种各样的电子元器件数不胜数&#xff0c;那么如何区分PCB这个焊盘是贴什么电子元器件的呢&#xff1f;实际上就是通过PCB板子上的丝印字符去判断每一…

package.json配置详解

npm 介绍 npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用;许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用;允许用户将自己编写的包或命令行…

【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程

目录 一、Harbor 介绍 二、Harbor 的优势 三、Harbor 部署安装 3.1 部署环境 3.2 为 Harbor 自签发证书 3.3 安装 Harbor 3.4 设置开机自启 四、Harbor 图像化界面使用说明 4.1 修改本地 hosts 文件 4.2 访问 harbor 4.3 创建项目 五、测试使用 harbor 私有镜像仓库…

form 表单只有一个input 时,回车自动提交表单造成页面刷新效果

现象&#xff1a;el-form 中仅有一个input&#xff0c;input上设置了回车响应事件&#xff0c;首次按回车键后&#xff0c;页面刷新&#xff0c;再次按回车才执行了响应事件 <el-form ref"form" submit.native.prevent><el-form-item><el-input keyu…

C#学习记录——【实例】C#实现OPC Client

最近学习测试用C#开发OPC客户端连接OPC服务器&#xff0c;防止遗忘&#xff0c;记录学习测试结果。 1、OPC基础知识 1.1、OPC概述 OPC是Object Linking and Embedding&#xff08;OLE&#xff09;for Process Control 的缩写&#xff0c;它是微软公司的对象链接和嵌入技术在…

【JavaEE】认识HTTP协议

✨哈喽&#xff0c;进来的小伙伴们&#xff0c;你们好耶&#xff01;✨ &#x1f6f0;️&#x1f6f0;️系列专栏:【JavaEE】 ✈️✈️本篇内容:认识HTTP协议、请求。 &#x1f680;&#x1f680;代码存放仓库github&#xff1a;JavaEE仓库&#xff01; ⛵⛵作者简介&#xff1…

Golang 提取视频中音频,存为MP3格式 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供将视频中音频提取出来存为mp3格式&#xff0c;一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装&#xff0c;可以参考我的另一篇文章&#xff1a;windows ffmpeg安装部署_阿良的博…

Delphi复制HID、ID门禁卡源码

T5557卡是美国Atmel公司生产的多功能非接触式射频芯片卡&#xff0c;属于125KHz的低频卡&#xff0c;在国内有广大的应用市场&#xff0c;如很多酒店的门禁卡都是使用T5557卡。该芯片共有330bit(比特)的EPROM(分布为10个区块, 每个区块33bit)。0页的块0是被保留用于设置T5557操…

模电学习3. MCU接三极管开关电路简单分析

模电学习3. MCU接三极管开关电路简单分析一、说明二、使用NPN型三极管工作状态分析1. 饱和状态基本要求2. 计算限流电阻R23. IbI_bIb​4. 计算 RbR_bRb​5. 下拉电阻三、使用PNP型三极管工作状态分析1. 示例原理图2. IO输出低电平3. IO输出高电平一、说明 本文演示了一个使用M…

adb调试工具-笔记

adb调试工具adb工具可以在电脑通过终端命令操作安卓手机/模拟器命令&#xff1a;adb shell dumpsys window windows | findstr mFocusedApp该命令是查找程序的包名和界面名让我们打开夜神模拟器&#xff0c;并打开设置界面然后在电脑打开命令行&#xff0c;输入上述查询命令传送…

小红书数据分析网站:2023年如何产出爆文(纯干货分享)

导语&#xff1a; 不懂小红书最近火热的赛道、总是错过爆款打造的节奏……2023年了&#xff0c;相信不少人会发现关于小红书营销种草投放&#xff0c;入门容易&#xff0c;做好难。本文将借助第三方工具为品牌锚定赛道&#xff0c;寻找新风向。 1、行业流量大盘 —— 实时掌握…

Android 进程保活(一)

最近公司项目需求&#xff0c;需要给应用加入进程保活。 这里简述一下需求&#xff0c;由于App应用对接了蓝牙接收实时数据&#xff0c;并且数据量很大&#xff1b; 用户在操作App获取实时数据的时候&#xff0c;不可能一直看着手机屏幕&#xff0c; 这时候手机一般会有黑屏或者…

freertos学习之路1-裸机和rtos的区别

写在最前 由于工作需要&#xff0c;需要开始学习freertos的相关知识&#xff0c;本专题主要记录freertos的相关内容 参考&#xff1a; https://www.bilibili.com/video/BV19g411p7UT 正点原子视频 1. 裸机和rtos的多任务处理 试想一种场景&#xff0c;我们正在打游戏&#xff0…