linux下常用的小工具

1、file

分析文件的结构、位数

关键信息是ELF 32位可执行文件,还是动态链接

2、ldd

ldd - print shared object dependencies

列举出任何可执行文件所需的动态库

3、xxd

xxd - make a hexdump or do the reverse.

4、objdump

 objdump - display information from object files.

显示与目标文件相关的信息

5、checksec

checksec -- Check for various security options of binary

用于检查程序,如架构、开启的保护等

可直接安装也可以通过安装相关软件附带安装

RELRO: RELocation Read-Only, 重定向只读,可以防止GOT表被修改,这里没有开启这个保护,所以我们可以通过修改GOT表,来替换函数原本的功能。
Stack: 栈溢出检查,用Canary金丝雀值是否变化来检测,Canary found表示开启。
NX: No Execute,栈不可执行,windows上的DEP。
PIE: position-independent executables, 位置无关的可执行文件,也就是常说的ASLR(Address space layout randomization) 地址随机化, 程序每次启动基址都随机,所以一旦开启这个,就要想办法得到程序基址。

6、strings

strings - print the strings of printable characters in files.

列出程序中所使用的字符串

7、elfsymbol

查看调用函数,查看函数的plt地址

8、strace

strace - trace system calls and signals

原文地址:https://www.cnblogs.com/keepcuriosity/p/9702933.html

时间: 2024-10-07 21:42:42

linux下常用的小工具的相关文章

Linux下常用的系统性能查看分析工具

Linux中,很多很全面显示系统当前运行状态,负载,I/O等信息的工具,帮助管理员实时了解系统运行动态,以及排除故障. ps命令:显示进程状态,快照方式显示. 进程分为两类:一类是用户通过终端启动的进程,一类是与终端无关的进程,多为守护进程. ps命令支持两种风格的命令:SysV风格 BDS风格.带横线的是SysV风格. ps命令选项:     a  :与终端有关的进程     x  : 与终端无关的进程     u  : 显示是哪个用户启动的       -e : 显示所有进程     -f 

Linux下常用系统分析工具总结(转)

1.1 top top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具. Top常用的可选参数和其对应的含义如下: (1)-c:显示完整的命令: (2)-d:屏幕刷新间隔时间: (3)-i<时间>:设置间隔时间: (4)-u<用户名>:指定用户名: (5)-p<进程号>:指定进程: (6)-n<次数>:循环显示的次数. top执行起来的效果如下: Paste_Image.png 前五行是系统整体的统计信息.第一行

linux下常用的截图、录屏工具

录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可以输入一下命令直接安装: DebianLINUX 的用户可以用命令"sudo apt-get install recordmydesktop gtk-recordmydesktop"安装该软件,其他用户 则需到以下网站下载http://sourceforge.net/projects/re

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

【one day one linux】linux下的软件包管理工具

Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版.2004年4月30日,Red Hat

linux下的数据备份工具rsync讲解

linux下的数据备份工具 rsync(remote sync 远程同步) 名词解释: sync(Synchronize,即"同步")为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的所有数据(也即预定将通过低级I/O系统调用写入存储介质的数据)写入存储介质(如硬盘). sync 是一个linux同步命令,含义为迫使缓冲块数据立即写盘并更新超级块.在linux系统中,为了加快数据的读取速度,默认情况下,某些数据将不会直接写 入硬盘,而是先暂存内存中,如果一个数据被重复写,这

linux下的python管理工具

刚开始同步系统的接触python和linux,在昊妹妹的指引下学习了使用python管理工具,希望能够通过不断熟练来学习 1.记录之前先复习以下linux下常用目录 ./  表示当前目录 ~/ 表示home目录 文件夹or文件前加 . 表示隐藏文件夹or文件,ls命令无法查看隐藏文件,需要带参数-a 2.python管理包 python管理工具比较常见的有esay_install和pip,pip好像普遍认为好一点,所以我们用pip,网上找到一段比较两者的 pip was originally w

Linux下常用调试工具总结

kdump+crash使用: kdump是linux下分析内核崩溃原因的工具.系统崩溃时,kdump用于转储运行内存,捕获当前运行信息,将此时内存中所有运行状态和数据信息收集到一个dump core文件中(一般是在var/crash中的vmcore),以便后续分析.(ps:虚拟机中设置的crash memory为256M,过大或过小都不行) crash是用于分析kdump生成的core文件的工具.crash常用的指令: (1)log:显示内核消息缓存区 (2)bt:显示内核崩溃前的堆栈信息(可以

浅析 Linux 下的 arm 交叉编译工具

什么是交叉编译工具 http://elinux.org/Toolchains 要解释交叉编译工具,我们首先要理解三个基本概念: 编译平台:是指该编译器是在哪个平台编译出来的 编译主机:编译器运行在哪个平台 目标平台:编译器为哪个平台产生代码 比如我们在 Ubuntu(Linux) 下编译 arm 开发板的程序,那么: 编译平台就是 X86,该编译器在 x86上运行 编译主机就是这台运行 Ubuntu Linux 的电脑 目标平台就是 arm 开发板 所以通常所指的交叉编译,就是在该平台编译生成在