objdump

    13熱度

    1回答

    在現代linux中,幾乎所有對象都被剝離並分成兩部分(兩個文件)。首先是可執行文件本身,其次是調試符號,從原始ELF中剝離出來。這些文件與 objcopy --only-keep-debug original.elf binary.dbg mv original.elf binary objcopy --strip-debug binary 創建我該如何合併binary和binary.db

    2熱度

    2回答

    我正在AT91SAM9263開發板上進行嵌入式開發,並遇到一個奇怪的問題。它正在運行Debian Linux內核2.6.18.4,並使用arm-linux-gcc 3.4.6進行交叉編譯,並使用uClibc-0.9.28作爲C庫。我正在調試一個內核設備驅動程序,並且一個特定的函數沒有出現在System.map文件中。可以理解的是,我可以不在它上面設置一個斷點。奇怪的是,如果我闖入它的調用函數,我不

    0熱度

    1回答

    我在編譯一個大項目。這個項目使用共享庫,特別是使用共享庫。 我想確定一個給定的函數,系統在哪個共享庫中找到它。 在這裏,納米輸出: $ nm -DC ~/bin/app | grep potrf U dpotrf_ 如預期的,dpotrf_被undifined。 這裏的結果與objdump的: $ objdump -TR ~bin/app | grep potrf 00000

    2熱度

    2回答

    使用objdump來理解二進制文件,我意識到我在ASM語法中不夠流利。以下概念是什麼意思? xor %al,-0x1(%edx,%ecx,1) 雖然你在它 - 我應該爲了找到這樣的觀念,文檔搜索?

    10熱度

    4回答

    我有一個目標文件,正試圖對其進行反彙編。當我使用: objdump -d example.o 我得到了代碼的組件的elf64-x86-64的文件格式。 我想把這個反彙編成ARM,我該如何去做這件事?

    9熱度

    2回答

    我試圖構建通過調用objdump -d返回的程序集結果的控制流圖。目前最好的方法是將結果的每一行放入一個鏈表中,並將每行的內存地址,操作碼和操作數分開。我通過依賴objdump結果的常規性質(內存地址從表示每行的字符串中的字符2到字符7)將它們分開。 一旦完成,我開始實際的CFG指令。 CFG中的每個節點都有一個起始和結束內存地址,一個指向前一個基本塊的指針,以及指向任何子基本塊的指針。然後通過o

    3熱度

    1回答

    我想顯示特定功能的機器碼。例如,在Linux中我會輸入: objdump -D x.out | grep -A20 main.: 在Windows中等效的是什麼?

    20熱度

    3回答

    是否有對二進制源文件的引用?我試圖在二進制文件上運行字符串,並找不到任何對所列源文件的引用...

    1熱度

    2回答

    從Linux中的可執行文件中讀取信息時,遇到問題。 的信息如下: 804a0ea: 04 08 add $0x8, %al ... 804a0f4: a6 cmpsb %es:(%edi),%ds:(%esi) 我有兩個問題: 是什麼地址804a0ea和804a0f4是什麼意思?進程地址空間中的虛擬地址? 這是什麼意思?我如何獲得地址804a0f0的指令? 在此先感謝。圍

    49熱度

    3回答

    在下面的彙編代碼我甩了使用objdump: lea 0x0(%esi,%eiz,1),%esi 什麼是註冊%eiz?前面的代碼是什麼意思?