文章目录
一、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 ELFFile def 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() pass if __name__ == '__main__': main()
在创建 ELFFile 对象的后面一行加上断点 ;
右键点击 __main__ 函数左侧的 运行按钮 , 选择 " Debug ‘main’ " 选项 ;
程序运行后 , 会自动进入 Debug 面板 ;