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文件-逆向工具相关推荐

  1. linux elf 文件查看工具 readelf

    Android在NDK开发工具中提供了readelf,用来帮助开发者查看编译后目标文件的组成结构和具体内容. 常用的有以下几个功能选项: 1)-h或者--file-header 显示在ELF文件头里包 ...

  2. linux elf 文件理解与分析

    https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/ 我们理所当然的使用一些工具.其中一部分就是 linu ...

  3. elf文件格式_Android so(ELF) 文件解析

    Android so(ELF) 文件解析 Android so(ELF) 文件解析 前言 生成 so 文件 相关工具 objdump readelf 整体结构图 头部结构 段表结构 字符串表结构 程序 ...

  4. Android so(ELF) 文件解析

    文章目录 前言 生成 so 文件 相关工具 objdump readelf 整体结构图 头部结构 段表结构 字符串表结构 程序表结构 符号表结构 重定位表结构 其他结构 解析代码 打开 ELF 文件 ...

  5. 【Android 逆向】ELF 文件格式 ( 安装 010 Editor 二进制查看工具的 ELF.bt 插件模板 | 安装 ELF.bt 模板 | 打开 ELF 文件 )

    文章目录 一.搜索并下载 ELF.bt 模板 二.安装 ELF.bt 模板 三.打开 ELF 文件 一.搜索并下载 ELF.bt 模板 进入 010 Editor 工具的插件模板下载页面 http:/ ...

  6. 【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )

    文章目录 一.ELF 文件简介 二.ELF 文件头 三.ELF 文件头标志 四.ELF 文件位数 五.ELF 文件大小端格式 一.ELF 文件简介 在上一篇博客 [Android 逆向]ELF 文件格 ...

  7. 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中创建 Python 程序 | 导入 ELFFile 库 | 解析 ELF 文件 )

    文章目录 一.PyCharm 中创建 Python 程序 二.导入 ELFFile 依赖库 三. 解析 ELF 文件 四. 博客源码 一.PyCharm 中创建 Python 程序 在 PyCharm ...

  8. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )

    文章目录 一.创建 Capstone 反汇编解析器实例对象 二.设置 Cs 汇编解析器显示细节 一.创建 Capstone 反汇编解析器实例对象 使用 Capstone 反汇编框架 , 首先创建 Ca ...

  9. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编框架 | PyCharm 中导入 Capstone 反汇编框架 )

    文章目录 一.Capstone 反汇编框架 二.PyCharm 中导入 Capstone 反汇编框架 一.Capstone 反汇编框架 Android 的 APK 安装文件中 , 可能存在若干 so ...

最新文章

  1. 举个栗子看如何做MySQL 内核深度优化
  2. 分数等级_志愿填报丨填报公办普通高中志愿,分数成绩和等级成绩均需关注
  3. php伪静态后不能访问html,php伪静态后html不能访问怎么办
  4. 民办大学计算机专业教师,干货!民办大学和独立院校教师创新排行榜,这五个高校最亮眼...
  5. JS 判断一个字符串是否包含在一个数组中
  6. BZOJ2654/COGS1764 [2012国家集训队]tree(陈立杰) [生成树,二分]
  7. Python——元组Tuple
  8. 计算机组成原理—浮点数
  9. 小程序 ---- (自定义头部导航)
  10. JAX-WS发布WebService
  11. Windows 新建文本文档快捷键设置
  12. 读《人月神话》的感想(一)——关于组织结构沟通能力优劣的量化
  13. Querydsl使用fetchCount()报错
  14. Calibre电子书简繁转换
  15. 双赛道近四百万奖金,2021全国人工智能大赛来了
  16. 免费logo设计在线生成(不定时更新)
  17. connect() to unix:/home/tmp/myproject.sock failed (2: No such file or directory)
  18. javascript网页特效(一)
  19. 洛谷P4207 [NOI2005]月下柠檬树(计算几何+自适应Simpson法)
  20. 赵小楼《天道》《遥远的救世主》深度解析(77)叶、冯、刘三人用了丁元英,就用了他的一切,没有能力的时候还谈什么缘,攀缘没有对错,起码得先活着

热门文章

  1. 微信小程序资料集(下)
  2. ModuleNotFoundError: No module named xxx 的原因和解决办法(附带新大陆)
  3. 求均值在python_python计算均值
  4. win10没有telnet服务器咋办
  5. linux大量屏蔽恶意ip地址
  6. 兄弟8400cdn耗材_兄弟DCP-L8400CDN驱动
  7. 【数通网络交换基础梳理2】三层设备、网关、ARP表、VLAN、路由表及跨网段路由下一跳转发原理
  8. AJAX jQuery tab,动态加载选显卡
  9. 小朱学英语------day 4 They become millionaires and retired at 31. You can do the same
  10. 自己小组的一篇 CVPR 2023 车道线检测论文