【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
生活随笔
收集整理的這篇文章主要介紹了
【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、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 实例对象分析 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【错误记录】PyCharm 中从 Git
- 下一篇: 【Android 逆向】使用 Pytho