ELF文件-逆向工具
1、ELF文件内容解析
readelf: 可解析ELF文件的所有内容;
strings: 查看ELF文件中的字符串;
file : 查看ELF文件的信息;
nm : 查看ELF文件中的符号信息;
ldd : 查看ELF文件所依赖的库文件;
2、objdump
用于对ELF文件进行反汇编;
objdump -d ;反汇编部分可执行的二进制代码;
objdump -D ;反汇编全部的可执行的二进制代码;
objdump -S ;尽量把可执行的二进制代码反汇编成源码;
3、hexdump
以十六进制格式查看ELF格式的二进制可执行文件的内容;
hexdump -C elf_file_name
4、od
以指定的进制格式查看ELF格式的二进制可执行文件的内容;默认是八进制;
od -t x4 ;-t指定格式化的字节单元单位;
;x4-每4个字节为一个单元格式化成十六进制,
;x2-每2个字节为一个单元格式化成十六进制,
;x1-以1个字节为一个单元格式化成十六进制;
-t x2 等价于 -x
-A选项指定进制格式:x-十六进制, d-十进制,o-八进制;
如果使用-t指定了十六进制格式,则-A选项就不是必须的了;
5、xxd
以十六进制格式查看ELF格式的二进制可执行文件的内容;
xxd ;以小写的十六进制格式显示;
xxd -u ;以大写的十六进制格式显示;
xxd -s +10 ;以ELF文件头处的第1个字节为参照,从第10个字节处开始显示;
xxd -s -10 ;以ELF文件尾处的第1个字节为参照,从第10个字节处开始显示;
6、编辑ELF文件
使用vi/vim与命令xxd配合完成;
STEP1:使用vi/vim以二进制模式打开ELF文件;
vi -b binary_file
vim -b binary_file
STEP2:在vi/vim的命令模式下输入如下内容,把二进制内容转换成16进制格式显示:
:%!xxd -u
STEP3:按照vi/vim正常的编辑方法来修改以十六进制格式显示的二进制内容;
STEP4:编辑完成之后,在vi/vim的命令模式下输入以下内容,把十六进制格式显示的内容转换回原始的二进制格式:
:%!xxd -r
STEP5:在vi/vim的命令模式下输入以下内容,保存二进制格式的ELF文件:
:wq
---备注---
% :表示当前文件中显示的所有行;
!xxd:表示执行外部命令xxd;
格式"%!xxd"表示把当前文件中的所有行传递给外部命令xxd;
7、动态调试工具
ltrace: 跟踪ELF文件或进程对库函数的调用(library_function_call);
strace: 跟踪ELF文件或进程对系统调用的调用(system_call);
gdb : 对一个程序进行调试;使用gcc编译该程序时需加上选项-g,让编译器增加一些调试信息;
strip : 删除程序中的调试信息;这些调试信息是编译该程序时,gcc编译器的-g选项添加的;
splint: 查看一个程序中对未赋值变量的引用、未使用的函数参数,等情况;(静态检测)
lsof : 查看一个进程打开的文件;
fuser : 查看正在访问指定的file、filesystem或socket的所有进程的信息;即:查看都有哪些进程正在访问指定的file、filesystem或socket;
如果没有找到任何进程,fuser返回非零值;如果找到至少一个进程,则fuser返回0;
-k:该选项会向所有这些进程发送SIGKILL信号,以kill掉所有正在访问指定file、filesystem或socket的所有进程;
-i:在kill掉fuser命令找到的这些进程之前进行必要的提示信息;
fuser命令显示的是pid,并且在每个pid后面附加一个字母,用以表示访问方式:
c: 以目录方式访问;
e: 以可执行文件方式访问;
f: 以打开文件方式访问,默认不显示;
F: 以写的方式打开文件进行访问;
r: 以root目录的方式访问;
m: 以mmap文件或共享库的方式访问;
/proc : proc文件系统中包含进程的所有信息;
转载自:http://bdxnote.blog.163.com/blog/static/8444235201532911597959/
ELF文件-逆向工具相关推荐
- linux elf 文件查看工具 readelf
Android在NDK开发工具中提供了readelf,用来帮助开发者查看编译后目标文件的组成结构和具体内容. 常用的有以下几个功能选项: 1)-h或者--file-header 显示在ELF文件头里包 ...
- linux elf 文件理解与分析
https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/ 我们理所当然的使用一些工具.其中一部分就是 linu ...
- elf文件格式_Android so(ELF) 文件解析
Android so(ELF) 文件解析 Android so(ELF) 文件解析 前言 生成 so 文件 相关工具 objdump readelf 整体结构图 头部结构 段表结构 字符串表结构 程序 ...
- Android so(ELF) 文件解析
文章目录 前言 生成 so 文件 相关工具 objdump readelf 整体结构图 头部结构 段表结构 字符串表结构 程序表结构 符号表结构 重定位表结构 其他结构 解析代码 打开 ELF 文件 ...
- 【Android 逆向】ELF 文件格式 ( 安装 010 Editor 二进制查看工具的 ELF.bt 插件模板 | 安装 ELF.bt 模板 | 打开 ELF 文件 )
文章目录 一.搜索并下载 ELF.bt 模板 二.安装 ELF.bt 模板 三.打开 ELF 文件 一.搜索并下载 ELF.bt 模板 进入 010 Editor 工具的插件模板下载页面 http:/ ...
- 【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )
文章目录 一.ELF 文件简介 二.ELF 文件头 三.ELF 文件头标志 四.ELF 文件位数 五.ELF 文件大小端格式 一.ELF 文件简介 在上一篇博客 [Android 逆向]ELF 文件格 ...
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中创建 Python 程序 | 导入 ELFFile 库 | 解析 ELF 文件 )
文章目录 一.PyCharm 中创建 Python 程序 二.导入 ELFFile 依赖库 三. 解析 ELF 文件 四. 博客源码 一.PyCharm 中创建 Python 程序 在 PyCharm ...
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
文章目录 一.创建 Capstone 反汇编解析器实例对象 二.设置 Cs 汇编解析器显示细节 一.创建 Capstone 反汇编解析器实例对象 使用 Capstone 反汇编框架 , 首先创建 Ca ...
- 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编框架 | PyCharm 中导入 Capstone 反汇编框架 )
文章目录 一.Capstone 反汇编框架 二.PyCharm 中导入 Capstone 反汇编框架 一.Capstone 反汇编框架 Android 的 APK 安装文件中 , 可能存在若干 so ...
最新文章
- 举个栗子看如何做MySQL 内核深度优化
- 分数等级_志愿填报丨填报公办普通高中志愿,分数成绩和等级成绩均需关注
- php伪静态后不能访问html,php伪静态后html不能访问怎么办
- 民办大学计算机专业教师,干货!民办大学和独立院校教师创新排行榜,这五个高校最亮眼...
- JS 判断一个字符串是否包含在一个数组中
- BZOJ2654/COGS1764 [2012国家集训队]tree(陈立杰) [生成树,二分]
- Python——元组Tuple
- 计算机组成原理—浮点数
- 小程序 ---- (自定义头部导航)
- JAX-WS发布WebService
- Windows 新建文本文档快捷键设置
- 读《人月神话》的感想(一)——关于组织结构沟通能力优劣的量化
- Querydsl使用fetchCount()报错
- Calibre电子书简繁转换
- 双赛道近四百万奖金,2021全国人工智能大赛来了
- 免费logo设计在线生成(不定时更新)
- connect() to unix:/home/tmp/myproject.sock failed (2: No such file or directory)
- javascript网页特效(一)
- 洛谷P4207 [NOI2005]月下柠檬树(计算几何+自适应Simpson法)
- 赵小楼《天道》《遥远的救世主》深度解析(77)叶、冯、刘三人用了丁元英,就用了他的一切,没有能力的时候还谈什么缘,攀缘没有对错,起码得先活着
热门文章
- 微信小程序资料集(下)
- ModuleNotFoundError: No module named xxx 的原因和解决办法(附带新大陆)
- 求均值在python_python计算均值
- win10没有telnet服务器咋办
- linux大量屏蔽恶意ip地址
- 兄弟8400cdn耗材_兄弟DCP-L8400CDN驱动
- 【数通网络交换基础梳理2】三层设备、网关、ARP表、VLAN、路由表及跨网段路由下一跳转发原理
- AJAX jQuery tab,动态加载选显卡
- 小朱学英语------day 4 They become millionaires and retired at 31. You can do the same
- 自己小组的一篇 CVPR 2023 车道线检测论文