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

Linux,使用nm命令输出可执行文件符号表

可执行文件符号表(symbol table)记录了某个可执行文件函数名、全局变量、宏定义等符号信息,这些信息对于我们调试十分重要。...目前,我正在DragonOS上开发内核栈traceback程序,因此需要导出内核文件符号表.这个时候就需要用到Linuxnm命令。...nm命令属于GNU binutils功能,能够输出可执行文件符号表。它用法是这样: 用法:nm [选项] [文件] 列举 [文件] 中符号 (默认为 a.out)。...对于不记录符号大小目标文件格式,此选项不起作用,除非使用了--size sort,在这种情况,将显示计算大小 -s, --print-armap 当列出库中成员符号时,同时列出索引。...只有在启用插件支持情况构建了工具链时,此选项才可用 --size-sort 按符号大小排列 --special-syms 显示目标相关具体特殊含义符号。

2.2K30

Linux系统利用可执行文件Capabilities实现权限提升

一、操作目的和应用场景 Capabilities机制是在Linux内核2.2之后引入,原理很简单,就是将之前与超级用户root(UID=0)关联特权细分为不同功能组,Capabilites作为线程...(Linux并不真正区分进程和线程)属性存在,每个功能组都可以独立启用和禁用。...2、 Capabilities管理方法 (1)设置Capability 举个例子,安装wireshark软件后,默认情况,普通用户无法对网卡实施抓包操作。这是因为普通用户不具备相应权限。 ?...(二)利用Capabilities实现权限提升 现在假设管理员对一些可执行文件设置了capabilities。测试人员通过下面的命令查找这些文件: getcap -r / 2>/dev/null ?...在kali linux上提权成功,获取了root shell。 在CentOS 7系统中安装低版本php无法提权: ?

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

LINUXPHP

由于linux系统稳定性,大部分PHP服务器都被部署在linux上,而且像redis等扩展在linux能得到更好支持,所以对于PHP程序员来说,使用linux功底也相当重要,接下来总结一我从一开始在...linux安装配置linux心得。...用过小巧virtual box,在win7安装要改theme主题文件,辛苦装好环境因为未知原因(兼容问题排除后,猜测是BIOS设置问题,可参考)打不开虚拟机而放弃后,终于选择了VM,VM安装linux...说一要注意地方吧:虚拟机配置选择“桥接模式”,这样,虚拟机和主机就在同一个IP段,可以很轻松地互相访问,VM如图: ? 然后是我们经常要遇到问题网络配置、和虚拟之间交互、yum配置。...像mongo等扩展服务器是扩展核心,要在各自官网找到下载地址,用wget命令下载下来,然后解压安装,一般是官方编译好可执行文件,直接复制到目标目录即可。

3.6K80

Linux可执行文件与进程虚拟地址空间

Linux可执行文件与进程虚拟地址空间 一个可执行文件被执行同时也伴随着一个新进程创建。...Linux会为这个进程创建一个新虚拟地址空间,然后会读取可执行文件文件头,建立虚拟地址空间与可执行文件映射关系,然后将CPU指令指针寄存器设置成可执行文件入口地址,然后CPU就会从这里取指令执行...Proc目录下进程虚拟地址空间布局 Linux在装载可执行文件时候,会将这些segment映射到进程地址空间中。映射时候,这里面的segment会对应一个VMA。...当我们在谈到ELF装载时,段专门指segment,而在其他情况,段指的是section。 在实际映射过程中,只发现有代码段映射VMA,有数据段映射VMA,却没有BSS段映射VMA。 ?...可以发现,MemSiz比FileSiz多出了0x20个字节,十六进制20对应十进制是32。再来看一这个ELF可执行文件中BSS段大小。 ? 可以看到,BSS段大小正好是十进制32,。

4.1K30

详解 Linux 可执行文件 ELF 文件内部结构

有了上面汇编语言调用 C 语言基础,我们就可以做到让汇编语言编写 loader 拉起用 C 语言编写内核了,本文我们就来详细了解一编译后可执行文件 — ELF 文件结构,下一篇文章将会介绍如何通过汇编将...在 linux 中,可执行文件、Object文件、动态库文件都是ELF格式文件,他相当于 windows 操作系统中 PE 文件。 通过 readelf 命令可以读取 ELF 文件内容。 3....这里提到了“节”概念,上一篇文章中,我们在汇编中使用了 section 关键字,就是指定了对应代码块 section 类型,linux 支持下面的三种 section: .text — 代码段,用来存放代码...可执行文件, 3....别忘了我们目标,我们需要通过汇编语言编写 loader 程序将在 linux 环境上编译 C 语言内核程序载入到内存并执行,因此,实际上我们只需要知道 ELF 文件需要如何被载入内存,并从哪里开始执行

2.5K20

可执行文件组成

大家好,又见面了,我是你们朋友全栈君。 在 ADS ,可执行文件有两种,一种是.axf 文件,带有调试信息,可供 AXD 调试工具使用.另一种是.bin 文件,可执行二进制代码文件。...我们重点是讲描.bin 文件组成。 我们把可执行文件分为两种情况:分别为存放态和运行态。 1. 存放态 存放态是指可执行文件通过 fromelf 产生后,在存储介质(flash 或磁盘)上分布....可执行文件存放态如下: +————-+———– | .bss | +————-+– 数据段 | .data | +————-+———– | .rodata | | |...运行态 可执行文件通过装载过程, 搬入到 RAM 中运行, 这时候可执行文件就变成运行态。...在 ADS 对可执行代 码各段有另一个名称: | … | +————-+———– | .bss | ZI 段 +————-+– 数据段 | .data | RW

58720

Linuxfree命令

一、简介 free命令是最经常使用命令之一,用于查看内存使用情况。 free命令可以显示Linux系统中空闲、已用物理内存及swap内存,及被内核使用buffer。...输出简介 Mem 行(第二行)是内存使用情况。...Swap 行(第三行)是交换空间使用情况。 total 列显示系统总可用物理内存和交换空间大小。 used 列显示已经被使用物理内存和交换空间。...shared 列显示被共享使用物理内存大小。 buff/cache 列显示被 buffer 和 cache 使用物理内存大小。 available 列显示还可以被应用程序使用物理内存大小。...请注意,这只是一个很理想计算方式,实际中数据往往有较大误差 周期性查看怎么办? 使用 free -s 10 ,这里 10 代表间隔10秒查看 ``

13110

Linux Pgrep 命令

本文讲述 Linux pgrep命令基础知识。 pgrep是一个命令行工具,它允许你基于给定条件来查找正在运行程序进程 ID。它可以是进程名字全称或者一部分,进程运行者,或者其他属性。...这个pgrep命令是procps(或者procps-ng)软件包一部分,它基本上在所有的 Linux 发行版上都预装了。...如果没有发现匹配,输出将是空: 1039 2257 6850 31279 当至少有一个进程匹配了所给名字时,这个命令返回0.否则,返回退出错误码1。这在 shell 脚本中很有用处。...如果你想发送信号给匹配进程,使用pkill。这个命令是pkill封装,并且使用了同样选项和匹配样式。 pgrep会在每一行打印一个匹配进程。-d选项允许你指定一个分隔符。...2257 ssh-agent 6850 ssh 31279 ssh-agent 如果你想严格按照搜索样式准确匹配进程,你需要使用: pgrep '^ssh$' -l 输出: 6850 ssh 默认情况

7.5K50

Linux Stat 命令

FILE... stat接受一个或者多个输入FILE,和一系列选项,用来控制命令行为和输出结果。...安全内容 Access - 文件最后被访问时间 Modify - 文件内容最后被修改时间 Change - 文件属性或者内容最后被修改时间 Birth - 文件创建时间(Linux 下不支持)...显示关于文件系统信息 为了获取文件归属文件系统相关信息,而不是获取文件本身信息,我们使用-f,(--file-system)选项: stat -f file.txt 这个命令输出看起来是这样:...用户可用剩余块数 Inodes: Total - 文件系统上总节点数 Free - 文件系统上剩余节点数 间接(跟进)软连接 默认情况,stat 不会跟进软连接。...总结 stat命令打印了文件和文件系统信息。 在 Linux ,还有其他几个命令可以显示文件信息。ls就是最有用一个,但是它只显示stat信息中一部分。

4.3K10

Linux^M困惑

我们有时在Windows编辑文件,放到了Linux环境中,打开文件,可能发现每行结尾多了一个“^M”,导致一些在Windows能执行解析程序,放到了Linux中,执行就会报错,问题就出在这个"^M...在Linux中vim是无法显示\r,因为ascii中对应不是Linux标准acsii字符,其实其对应ASCII码十进制形式是13(无显示形式),对应八进制形式是15(显示为^M)。...对这个问题解决可能有很多种, 1. 在Windows使用文本工具进行转换win-->linux,例如notepad++、UltraEdit直接进行转换。 2....在Linux,可以用dos2unix file,将文件转换格式。 3. 在Linux,可以用cat file | tr -d "\r" > new_file,进行替换。 4....在Linux,可以用sed 's/^M//old_file > new_file,进行替换。

1.8K30

Linux文件权限

-rw-r--r-- 符号 描述 -/d/l 开头-表示这是一个文件,开头d表示这个是一个目录,l表示这是一个软件链接 rw- 表示所有者对于这个文件权限 r-- 表示所属组对于这个文件权限 r...linux用..../是相同作用)。只要存在权限都可以执行该文件。 需要注意是./hello是需要文件x权限,而sh hello是不需要可执行权限。...复制代码 chgrp [组名] [文件名] 修改文件为该组所属, 修改文件所属组权限。 默认权限 umask umask命令表示查看默认权限。...文件默认不能建立可执行文件,必须手动赋予可执行文件。 文件默认权限最大为666 默认权限需要换算成字母在相减 简历文件以后默认权限,为666减去umask值。

6.2K40
领券