首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何读取Linux进程中的代码和数据

Linux下的程序的文件格式是ELF,里面分了各种,有代码、数据、等。当运行这个程序时,系统也会给这个进程创建虚拟内存,然后把ELF中的数据分别加载到内存中的对应位置。...本文整理了用cpp程序读取内存中的代码和rodata数据的方法。...这个文件的前三列分别是代码、rodata数据、和普通数据,可以看到代码的权限是读和执行,rodata数据是只读,普通数据可读写。...用程序读取内存的代码和rodata数据 以tcpdump程序为例,用程序读取代码和radata的过程如下: 1.查看tcpdump的进程ID。...2.运行自己写的程序,分别输入进程PID和代码的地址。

3.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    代码

    本文主要:如何制作Visual Studio 代码代码作用,和如何使用。 我们有时候会打出很多重复的代码,只是结构一样。...在之前,我就知道了有代码,但是实在复杂,好在最近时间多,仔细看了一下。 代码片段是小块可重用的代码,可使用上下文菜单命令或热键组合将其插入代码文件中。...代码使用很简单,在类中,如果我们需要输入try-catch,我们可以按 try tab tab ?...导入代码方法 ? ? ? 我们可以把之前写的代码导入到代码,这里使用的是 ps tab ?...kind 代码必须插入位置,方法,类中,请看https://msdn.microsoft.com/zh-cn/library/ms171418.aspx 下面是一些常用的代码,直接复制就可以使用 ps

    55320

    代码

    本文主要:如何制作Visual Studio 代码代码作用,和如何使用。 我们有时候会打出很多重复的代码,只是结构一样。...在之前,我就知道了有代码,但是实在复杂,好在最近时间多,仔细看了一下。 代码片段是小块可重用的代码,可使用上下文菜单命令或热键组合将其插入代码文件中。...代码使用很简单,在类中,如果我们需要输入try-catch,我们可以按 try tab tab ?...导入代码方法 ? ? ? 我们可以把之前写的代码导入到代码,这里使用的是 ps tab ?...kind 代码必须插入位置,方法,类中,请看https://msdn.microsoft.com/zh-cn/library/ms171418.aspx 下面是一些常用的代码,直接复制就可以使用 ps

    87310

    Linux从头学03:如何告诉 CPU,代码、数据、栈在内存中什么位置?

    就拿学习 Linux 操作系统来说,作为一个长期的学习计划,不太可能一上来就阅读最新的 Linux 5.13 版本的代码。...代码:用来存放代码的基地址放在寄存器 CS 中,指令指针寄存器 IP 用来表示下一条指令在中的偏移地址; 数据:用来存放程序处理的数据,的基地址存放在寄存器 DS 中。...在 Linux 2.6 代码中,由于 Linux 把整个 4 GB 的地址空间当做一个“扁平”的结果来处理(的基地址是 0x0000_0000,偏移地址的最大值是 4GB),因此虚拟地址(逻辑地址)在数值上等于线性地址...这张图的意思是:在 Linux 2.6 中,用户代码的开始地址是 0,最大范围是 4 GB;用户数据的开始地址是 0,最大范围也是 4 GB;内核的数据代码也是如此。 ?...; 其他代码 addr3 ends end start 以上就是一个汇编代码的基本程序结构,我们给它安排了 3 个

    2.2K40

    通过B站API在网站中添加一统计粉丝量代码

    今天注意到我当前用的这个主题(来自Xingr大佬),其中主页的来访人数统计代码因为被我乱改而破坏了,一直显示为0,总让它摆在那里不美观,直接删掉更不美观。...正好想到前天研究的B站api,干脆做个粉丝量统计代码,说干就干。...vmid= + 你的UID号 访问这个地址后返回一串json代码,这里仍以我的为例,如下: {"code":0,"message":"0","ttl":1,"data":{"mid":35199034,...whisper": 0, "black": 0, "follower": 516 } } 我们想要的数据为data中的follower值,也就是粉丝数,接下来开始写统计代码...json值解码并将结果赋给arr变量: $arr = json_decode($data,true); 这样就得到了解码后的值,因为我们需要的是data中follower的值,所以最后只要在任意处置入以下代码就能输出

    89420

    GOTlinux系统中实现代码动态加载的作用和其他的说明

    上图显示的代码也叫“函数桩”,每个系统函数都对应一这样的代码。为何要用“桩”来描述这些代码呢,因为这些指令都做了相同的工作,首先他们都将一个数值压入堆栈,这个数值对应该段代码的序号。...4003f0这个位置其实对应一代码的起始地址,这段代码的作用是从.got.plt里面取出一个数值作为下一步跳转的地址,然后通过Jmp跳转到取出地址所在位置,将程序控制权交给那里的代码。...由于.text设置为不可写,如果可写,那么就可能让人直接修改其中代码指令了。.got.plt属于数据,因此里面的数据可以修改,绕这个弯的目的就是防止代码被他人直接修改。...除了.got.plt外,还需要理解的是.got,后者的作用主要在于访问共享代码库到处的变量。两者区别在于.got.plt包含了代码,而.got会直接包含共享库到处的变量地址而不是包含代码。...这些告诉链接器代码的哪些地方需要进行重定向,以及告诉链接器如何修改需要重定向的代码,我们可以使用命令readelf —relocs a.out来查看ELF文件的重定向: ?

    2.3K20

    Excel统计各学校各分数的人数​

    Excel统计各学校各分数的人数 【问题】有一次考试中,我想统计各学校、各分数之间的人数 如下 ===成绩表=== ===想统计=== 【解决方法】Excel数据透视表 1.选中数据区域===插入...在这个图中列是“单位”行是“分数”数据区域是:每一个分数的个数的人数的统计图,不是我们想要的。...5.接下来我们把鼠标放在“分数”标签处右击===出现菜单===选中创建组>>> 6.在出现“组合”的对话框中 “起始于为10”“终止于为100”“步长为10”===确定 我们要求的按分数统计的图表就完成了...,各学校,各分数的人数统计好了,我们可以复制到其他地方进行再整理。...数据透视表有一个好处,你可以任意调整,如:在组合的对话框中,你可以根据你实际的需要进行调整,如:“5分为一个” ======好了,今天学习到此======

    1.1K20

    精妙JS代码搜集

    待到时技(时间+技术)成熟,再去感觉他们的源代码,看一看它们是怎么办到的,览一览大牛们的“奇技淫巧”。...CSS布局调试代码片段 在浏览器控制台运行此段代码(当然也只能在控制台运用),会给页面里所有的 DOM 元素添加一个 1px 的描边(outline),方便我们在调试 CSS 过程中分析、排查问题。...当然这样的工具使用Chrome一些插件也易办到,但直接撸起如此代码,能够领悟到很多知识。...: 这段代码是 Github 上的 140 bytes 活动中的代码,简单分析下这段 JS 代码,作者使用了不少技巧: 首先是需要选择页面上的所有元素,这里使用了只能在console调试工具中使用的$$...参考文章从一行CSS调试代码中学到的JavaScript知识

    1.3K50
    领券