objdump反匯編文件解析

命令使用

objdump可以對可執行文件進行反匯編
其常用參數為:

  • objdump -d <file(s)>: 將代碼段反匯編;
  • objdump -S <file(s)>: 將代碼段反匯編的同時,將反匯編代碼與源代碼交替顯示,編譯時需要使用-g參數,即需要調試信息;
  • objdump -C <file(s)>: 將C++符號名逆向解析
  • objdump -l <file(s)>: 反匯編代碼中插入文件名和行號
  • objdump -j section <file(s)>: 僅反匯編指定的section

反匯編輸出結果解析

有很多個參數,這里先從基本的反匯編開始,即-d參數的輸出

objdump進行反匯編后的輸出結果通常包含多個段,每個段對應于可執行文件或共享庫的不同部分
一些常見段:

  • .text:包含程序的機器碼指令,即可執行代碼.反匯編結果中大部分內容來自于這個段
  • .data:程序的初始化數據.可能包含全局變量和靜態變量
  • .rodata:只讀數據,如常量字符串.這些數據是只讀的,不允許被修改
  • .bss:未初始化的全局和靜態變量.只包含變量的大小和位置信息,不包含實際的數據
  • .plt:過程鏈接表(Procedure Linkage Table),包含用于進行動態鏈接的代碼
  • .got:全局偏移標(Global Offset Table),包含全局變量和函數的地址
  • .eh_frame:異常處理框架信息,用于處理異常可展開棧
  • .comment:包含于目標架構/編譯器版本等相關的注釋信息
  • .fini:包含在程序退出時執行的代碼,用于清理和收尾工作
  • .init:通常包含在程序啟動時執行的代碼,用于初始化和準備運行時環境。

NT:實際的輸出內容會根據目標文件的類型和編譯選項而有所不同.可以使用objdump -h 可執行文件查看更詳細的段信息,其中包含每個段的起始地址\大小等信息
如一個簡單的文件讀取C代碼,編譯后為可執行文件hi,進行反編譯后用objdump -h hi查看段信息為
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164386.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Hadoop技術與應用的習題

第一章測驗 1、下面哪個選項不屬于Google的三駕馬車&#xff1f; A.HDFS B.MapReduce C.BigTable D.GFS 2、下面哪個思想是為了解決PageRank&#xff08;網頁排名&#xff09;的問題&#xff1f; A.GFS B.BigTable C.MapReduce D.YARN 3、GFS 存儲的文件都被分割成固定大小的…

CAN基礎知識

CAN 簡介 CAN 是 Controller Area Network 的縮寫&#xff08;以下稱為 CAN&#xff09;&#xff0c;是 ISO 國際標準化的串行通信 協議。在當前的汽車產業中&#xff0c;出于對安全性、舒適性、方便性、低公害、低成本的要求&#xff0c;各種 各樣的電子控制系統被開發了出來…

簡單的用Python采集股票數據,保存表格后分析歷史數據

前言 字節跳動如果上市&#xff0c;那么鐘老板將成為我國第一個世界首富 趁著現在還沒上市&#xff0c;咱們提前學習一下用Python分析股票歷史數據&#xff0c;抱住粗大腿坐等起飛~ 好了話不多說&#xff0c;我們直接開始正文 準備工作 環境使用 Python 3.10 解釋器Pychar…

如何應用ChatGPT撰寫、修改論文及工作報告,提供寫作能力及優化工作??

如果我想讓gpt從pdf文檔中提取相關關鍵詞的內容&#xff0c;可以怎么做呢&#xff1f;&#xff1f;我們評論區討論 ChatGPT 在論文寫作與編程方面也具備強大的能力。無論是進行代碼生成、錯誤調試還是解決編程難題&#xff0c;ChatGPT都能為您提供實用且高質量的建議和指導&am…

愛上C語言:scanf、gets以及getchar輸入字符串你真的懂了嗎

&#x1f680; 作者&#xff1a;阿輝不一般 &#x1f680; 你說呢&#xff1a;不服輸的你&#xff0c;他們拿什么贏 &#x1f680; 專欄&#xff1a;愛上C語言 &#x1f680;作圖工具&#xff1a;draw.io(免費開源的作圖網站) 如果覺得文章對你有幫助的話&#xff0c;還請點贊…

通過ros系統中websocket中發送sensor_msgs::Image數據給web端顯示

通過ros系統中websocket中發送sensor_msgs::Image數據給web端顯示 #include <ros/ros.h> #include <signal.h> #include <sensor_msgs/Image.h> #include <message_filters/subscriber.h> #include <message_filters/synchronizer.h> #include &…

spring 是如何開啟事務的, 核心原理是什么

文章目錄 spring 是如何開啟事務的核心原理1 基于注解開啟事務2 基于代碼來開啟事務 spring 是如何開啟事務的 核心原理 Spring事務管理的實現有許多細節&#xff0c;如果對整個接口框架有個大體了解會非常有利于我們理解事務&#xff0c;下面通過講解Spring的事務接口來了解…

建行廣東省江門市分行走進農村地區開展反假貨幣宣傳

人民對美好生活的向往&#xff0c;涉及方方面面&#xff0c;小至“錢袋子”安全。建行廣東省江門市分行落實當地監管部門部署&#xff0c;積極扛起維護國家金融安全的重要政治責任&#xff0c;深入農村地區開展反假貨幣宣傳工作&#xff0c;助力構建農村反假貨幣工作長效機制。…

Hyper-V系列:windows11開啟系統自帶安卓虛擬機并安裝apk包

本文記錄了Windows11系統下開啟系統自帶的安卓虛擬機,并通過安裝包安裝自定義應用的過程。開啟系統自帶的安卓虛擬機流程為:開啟Hyper-V、安裝Windows11子系統;安裝apk安裝包的流程為:安裝adb調試工具、開啟子系統的開發者模式、安裝apk應用包。 一. 開啟Hyper-V Hyper-V…

[BJDCTF2020]The mystery of ip1

提示 ssti模板注入head頭x-forwarded-for 每一次做題的最開始流程都大致因該是 信息收集找可以操控的地方 查看hint頁面的源代碼又發現它提示說 ####你知道為什么會知道你的ip嗎 查看flag頁面 從剛才給我的提示以及他這里顯示的我的ip&#xff0c;大概找到了我可操作的可控點 …

【Vue】創建第一個實例

步驟&#xff1a; 1.創建容器 2.引包 3.創建實例 4.添加配置項 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--準備容器 --> <di…

【C語言:深入理解指針二】

文章目錄 1. 二級指針2. 指針數組3. 字符指針變量4. 數組指針變量5. 二維數組傳參的本質6. 函數指針變量7. 函數指針數組8. 轉移表9. 回調函數10. qsort函數的使用與模擬實現 1. 二級指針 我們知道&#xff0c;指針變量也是變量&#xff0c;它也有自己的地址&#xff0c;使用什…

【面試】jvm中堆是分配對象存儲的唯一選擇嗎

目錄 一、說明二、逃逸分析2.1 說明2.2 參數設置 一、說明 1.在《深入理解Java虛擬機》中關于Java堆內存有這樣一段描述:隨著JIT編譯期的發展與逃逸分析技術逐漸成熟&#xff0c;棧上分配、標量替換優化技術將會導致一些微妙的變化&#xff0c;所有的對象都分配到堆上也漸漸變得…

牛客 最小公配數 golang版實現

題目請參考: HJ108 求最小公倍數 題解: 在大的數的倍數里面去找最小的能整除另外一個數的數&#xff0c;就是最小公倍數&#xff0c;按照大的來找&#xff0c;循環次數能夠降到很少&#xff0c;提升效率 golang實現: package mainimport ("fmt" )func main() {a : …

CSDN最新最全python+pytest接口自動化(12)-自動化用例編寫思路 (使用pytest編寫一個測試腳本)

經過之前的學習鋪墊&#xff0c;我們嘗試著利用pytest框架編寫一條接口自動化測試用例&#xff0c;來厘清接口自動化用例編寫的思路。 我們在百度搜索天氣查詢&#xff0c;會出現如下圖所示結果&#xff1a; 接下來&#xff0c;我們以該天氣查詢接口為例&#xff0c;編寫接口測…

JVM 之 class文件詳解

目錄 一. 前言 二. class文件結構 2.1. 文件格式 2.2. 魔數與版本號 2.3. 常量池 2.4. 訪問標志 2.5. 類索引、父類索引和接口索引集合 2.6. 字段表集合 2.7. 方法表集合 2.8. 屬性表集合 2.8.1. Code 屬性表 2.8.2. Exceptions 屬性 2.8.3. LineNumberTable 屬性…

R語言數據縮放-1到1

目錄 普通scale -1到1限定范圍scale 普通scale R語言實戰&#xff1a;scale&#xff08;&#xff09;函數 - 知乎 (zhihu.com) scale(x, center TRUE, scale TRUE) 過程&#xff1a; 對每個變量&#xff08;列&#xff09;計算平均值&#xff08;mean&#xff09;和標準…

QT中樣式表常見屬性與顏色的設置與應用

常見樣式表屬性 在Qt中的樣式表(QSS)中,有一些特定的英文單詞和關鍵字用于指定不同的樣式屬性。以下是常見的一些英文單詞和關鍵字: 顏色(Colors): color: 文本顏色 background-color: 背景顏色 border-color: 邊框顏色 字體(Fonts): font: 字體 font-family: 字體…

任意文件下載漏洞(CVE-2021-44983)

簡介 CVE-2021-44983是Taocms內容管理系統中的一個安全漏洞&#xff0c;可以追溯到版本3.0.1。該漏洞主要源于在登錄后臺后&#xff0c;文件管理欄存在任意文件下載漏洞。簡言之&#xff0c;這個漏洞可能讓攻擊者通過特定的請求下載系統中的任意文件&#xff0c;包括但不限于敏…

python3實現grep命令

由于windows上面沒有類似linux上面的grep命令&#xff0c;所以下面的python腳本來代替其能力。 grep.py import argparse import reif __name__ __main__:arg_parser argparse.ArgumentParser()arg_parser.add_argument("grep")arg_parser.add_argument("fil…