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

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

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

3.4K20

代码

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

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

代码

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

85810

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.1K40

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

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

2.2K20

精妙JS代码搜集

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

1.3K50

轻松带你解决c语言堆、栈、数据代码、bss的疑惑

后面的数据代码、bss,可能你平时没有怎么细心总结,现在你可能还真讲不出他们的区别来,不信的话,读者在看到这里可以先暂定一下,在自己以往写了那么多的代码,仔细回忆看看他们有啥区别,如果不知道也没关系...\n", p2); return 0;   } 输出结果: 三、代码、数据、bss: 编译器在编译程序的时候,将程序中的所有的元素分成了一些组成部分,各部分构成一个,所以说是可执行程序的组成部分...1、什么是代码?        代码就是程序中的可执行部分,直观理解代码就是函数堆叠组成的(就是函数体里面的程序那部分)。 2、什么是数据?      ...;   } 演示结果: 说明:        C语言中使用char *p = "linux";定义字符串时,字符串"linux"实际被分配在代码,也就是说这个"linux"字符串实际上是一个常量字符串而不是变量字符串... c = 0;//这里是bss int array[1000]; char str[] = "linux";        // 第二种方法:定义成全局变量,放在数据  int main(void

1.1K20

8086汇编语言之数据代码以及栈的理解

数据DS+偏移地址BX 数据可以通俗理解为数据容器指针 比如: MOV AX 0220H MOV DS AX MOV BX 0 MOV AX [BX] ;我们发现 DS数据一直都是在给不同地址的容器赋值...代码CS+偏移地址IP 代码可以通俗理解为汇编代码指针 比如: 代码从 MOV AX 0220H 开始,那么代码指向这行代码地址, 如果想要跳过这行代码的执行,那么进行代码偏移 在通过debug...模式配合-u指令查看汇编代码时,可以根据CS进行范围查看: 比如: #以下模拟控制台输出 -r AX=0000 BX=0000........什么是 首先内存并没有分段,的划分来自CPU,来自我们自己对内存的操作。...*16+0x00FA 0xFFFFA=0xFF000*16+0x0FFA 0xFFFFA=0xF0000*16+0xFFFA 的赋值 代码CS 数据DS 栈SS 不能直接赋值, 必须通过通用寄存器中转赋值

2.1K30

从一挖矿病毒代码Linux命令的实际应用

下面就记述下病毒的发现、清理和认识过程,一路下来可以给我们的Linux命令学习提供很多知识点。这里面大部分操作都在生信宝典的Linux系列教程有提及,也是我们常用的提高效率的方式。...SELinux是安全增强型 Linux(Security-Enhanced Linux),它是一个Linux内核模块,也是Linux的一个安全子系统。主要由美国国家安全局开发。...# ps获取运行的进程,grep屏蔽掉自己,然后grep其它挖矿程序,awk获取进程编号,kill -9 强制杀掉 # 如果大家看到自己电脑有这些程序,也都清除下,都是病毒 # 源代码有近百个病毒进程的清除...echo $1,$2 http_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} $1` # 网页返回代码是否为...echo "don't kill" fi done } 调用函数 kill_miner_proc kill_sus_proc 定时执行,免密登录 下面这段代码比较长

6.5K120

10奇葩的代码注释

码个蛋(codeegg)第 609 次推文 程序员作为一种“异类”,虽然他们平时给人们的留下的印象并不太好,觉得他们只会写代码。...但是有的时候不得不佩服他们天马行空的想象力,他们可能会利用注释让你噗嗤一笑,下面我们来看看那些奇葩搞笑的代码注释吧。 1 能用代码注释画出这么形象的佛祖,看来真的是下了一番功夫。...2 能用代码去注释这么多羊,写着写着就真的该睡着了 (~﹃~)~zZ ? 3 连佛祖都因抵抗不了bug而倒在墙边,这bug该真的是无力解决了吧。 ? 4 程序员的寿命只有五岁么?...9 最后一竟然是拉丁文,查了才知道意思是“你们进来的人,丢开一切希望吧”,完美契合图案。 ? 10 这个嘛,你们懂的 ? ?

47520
领券