文章目录

  • 一、PyCharm 中进行断点调试
  • 二、ELFFile 实例对象分析

一、PyCharm 中进行断点调试


在上一篇博客 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中创建 Python 程序 | 导入 ELFFile 库 | 解析 ELF 文件 ) 中 , 使用 Python 解析 ELF 文件 , 重点是了解 ELFFile 对象的结构 , 下面开始使用断点调试 , 查看具体的 ELFFile 对象细节 ;

解析 ELF 文件代码如下 :

# coding=utf-8
# 解析 elf 文件需要导入的依赖库
#   安装 pyelftools 库
from elftools.elf.elffile import ELFFiledef main():# 要解析的动态库路径elf_path = r'libwtcrypto.so'# 打开 elf 文件file = open(elf_path, 'rb')# 创建 ELFFile 对象 , 该对象是核心对象elf_file = ELFFile(file)# 打印 elf 文件头print(elf_file.header)# 打印 程序头入口 个数print(elf_file.num_segments())# 打印 节区头入口 个数print(elf_file.num_sections())# 遍历打印 程序头入口for segment in elf_file.iter_segments():print(segment.header)print(segment.header['p_align'])# 遍历打印 节区头入口for section in elf_file.iter_sections():print('name:', section.name)print('header', section.header)# 关闭文件file.close()passif __name__ == '__main__':main()

在创建 ELFFile 对象的后面一行加上断点 ;

右键点击 __main__ 函数左侧的 运行按钮 , 选择 " Debug ‘main’ " 选项 ;

程序运行后 , 会自动进入 Debug 面板 ;

二、ELFFile 实例对象分析


打开右侧的 elf_file 变量 , 即可查看 ELFFile 对象的内部字段值 ;

header 是文件头信息 ;

stream 是对应的文件 ;

structs 是 ELF 文件的一些标志 ,

【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )相关推荐

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

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

  2. pycharm怎么编写python代码_如何设置PyCharm中的Python代码模版(推荐)

    在MacOs运行的PyCharm中,执行python文件,如果不指定python文件字符编码会报错: SyntaxError: Non-ASCII character '\xe6' in file / ...

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

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

  4. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★

    文章目录 一.完整代码示例 二.执行结果 三.博客资源 一.完整代码示例 使用 Python 解析 ELF 文件完整代码示例 : # coding=utf-8 # 解析 elf 文件需要导入的依赖库 ...

  5. 【Android 逆向】APK 文件格式 ( Android 应用安装 | Zip 文件格式 | 使用 Python 代码提取 APK 文件 )

    文章目录 一.Android 应用安装 二.APK 文件格式 三.使用 Python 提取 APK 文件 一.Android 应用安装 APK 是 Android 应用的安装文件 , 现在也有 AAB ...

  6. Python语言解析xml文件

    python语言解析xml文件的常用的有两种方式: 通过MiniDom库解析xml文件 通过ElementTree库解析xml文件 MiniDom方式解析xml xml文件以data.xml为例,具体 ...

  7. python如何解析PDF文件

    python如何解析PDF文件 python中读取pdf的方法:使用python第三方库pdfminerk3k 1.使用pdfminer库 pdfminer是一个主流的分析pdf的库.如果是pytho ...

  8. 【Android 逆向】ART 脱壳 ( DexClassLoader 脱壳 | exec_utils.cc 中执行 Dex 编译为 Oat 文件的 Exec 和 ExecAndReturnC函数 )

    文章目录 前言 一.exec_utils.cc#Exec 函数分析 二.exec_utils.cc#ExecAndReturnCode 函数分析 前言 在上一篇博客 [Android 逆向]ART 脱 ...

  9. 密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析

    ⾮极⼤值抑制(Non-Maximum Suppression)原理 ⾮极⼤值抑制,顾名思义,找出极⼤值,抑制⾮极⼤值.这种思路和算法在各个领域中应⽤⼴泛,⽐如边缘检测算法canny算⼦中就使⽤了该⽅法 ...

最新文章

  1. 如何使用Python的进度条?
  2. SQL查找是否存在,别再count了,很耗费时间的
  3. Linux中设置vim自动在运算符号两边加上空格
  4. Android之判断时间戳是不是今天
  5. js pug 代码_pug模版学习(一)
  6. 神经网络与深度学习——TensorFlow2.0实战(笔记)(三)(python运算符和表达式)
  7. Ubuntu redmine 安装
  8. Pyqt之模态与无模态对话框(Modal and Modeless)
  9. 学术资源不定期分享-【钱学森《工程控制论》英文原版】
  10. 变形监测与数据处理复习总结
  11. 【学习笔记】常见的激励函数和损失函数
  12. DBCP连接池配置优化分析
  13. 【老九学堂】【Java】详解常见的53个关键字
  14. 汉字转拼音工具JPinyin的介绍和使用示例
  15. 计算机word铁路试题,计算机word试题含答案
  16. arange和range
  17. 图解计算机中的数值范围和浮点数运算
  18. 尚硅谷web前端工程师1000集学习笔记11
  19. 小程序---搜索框实现
  20. 修改 oracle 字符 zhs,修改Oracle数据库的字符集(UTF8→ZHS16GBK)

热门文章

  1. 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
  2. 数据库 - mysql内置功能
  3. Java学习---RMI 技术分析[Hessian]
  4. 拉力赛 (Standard IO)
  5. WPF后台操作前台元素之查找对象
  6. TinyXml高速入门(一)
  7. windows 中 Eclipse 打开当前文件所在文件夹
  8. 共享一个对Reflector 反编译支持中文的修正FileGenerator文件
  9. React篇-报错信息:warning: Can't call setState (or forceUpdate) on an unmounted component.
  10. Pandas数据处理实战:福布斯全球上市企业排行榜数据整理