日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

arm裸机【5】 --- 反汇编介绍

發布時間:2023/12/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arm裸机【5】 --- 反汇编介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    • 1、反匯編工具objdump的使用簡介
      • 反匯編的原理&為什么要反匯編
      • 反匯編文件的格式和看法
    • 2、初識指令地址
    • 3、展望:反匯編工具幫助我們分析鏈接腳本

1、反匯編工具objdump的使用簡介

反匯編的原理&為什么要反匯編

arm-linux-objdump -D led.elf > led_elf.disobjdump是gcc工具鏈中的反匯編工具,作用是由編譯鏈接好的elf格式的可執行程序反過來得到匯編源代碼-D表示反匯編 > 左邊的是elf的可執行程序(反匯編時的原材料),>右邊的是反匯編生成的反匯編程序

反匯編的原因有以下:
1.逆向破解。
2.調試程序時,反匯編代碼可以幫助我們理解程序(我們學習時使用objdump主要目的是這個),尤其是在理解鏈接腳本、鏈接地址等概念時。
3. 把C語言源代碼編譯鏈接生成的可執行程序反匯編后得到對應的匯編代碼,可以幫助我們理解C語言和匯編語言之間的對應關系。非常有助于深入理解C語言。

反匯編文件的格式和看法

(匯編 assembly 反匯編 dissembly)
標號地址、標號名字、指令地址、指令機器碼、指令機器碼反匯編到的指令
擴展:ARM匯編中用地址池方式來實現非法立即數

2、初識指令地址

下載燒錄執行的bin文件,內部其實是一條一條的指令機器碼。這些指令每一條都有一個指令地址,這個地址是連接的時候ld給指定的(ld根據我們寫的鏈接腳本來指定)

3、展望:反匯編工具幫助我們分析鏈接腳本

反匯編的時候得到的指令地址是鏈接器考慮了鏈接腳本之后得到的地址,而我們寫代碼時通過指定連接腳本來讓鏈接器給我們鏈接合適的地址。
但是有時候我們寫的鏈接腳本有誤(或者我們不知道這個鏈接腳本會怎么樣),這時候可以通過看反匯編文件來分析這個鏈接腳本的效果,看是不是我們想要的,如果不是可以改了再看。

總結

以上是生活随笔為你收集整理的arm裸机【5】 --- 反汇编介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。