disassembly

    2熱度

    1回答

    我用C寫了一個基本的 「Hello World」 程序: #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } 然後,我編譯它在MSVC在命令行這樣的: cl hello.c /Fd:hello.pdb /Zi /MD /link /NODEFAULTLIB:LIBCMT.LI

    0熱度

    1回答

    我已經安裝了libc6和libc6-dbg包。我想要做的是顯示與源交錯的ld.so的反彙編。我也有放置在chroot glibc的源,在精確的位置到達作爲調試符號顯示由DW_AT_comp_dir。 有人能告訴我 - 如果可能的話 - 如何輸出ld.so庫的源交錯拆卸嗎?我知道我可以使用objdump -S,但我怎麼點它以獨立的調試符號文件可用?

    0熱度

    1回答

    我想解決一些內聯SSE2程序集的總線錯誤。源代碼有一個使用5個指針的宏,我懷疑其中一個沒有對齊。 我在源代碼行設置了一個斷點。但是當我執行disass時,它會從函數的頂部反彙編,而不是調試器停止的地方。有數百條裝配線,所以它對我沒有什麼幫助。按ENTER響應「按ENTER鍵繼續」的響應時間爲30到40次,響應速度很快。 我嘗試了一個disass $pc,但是它從函數的頂部進行了dsassemble

    0熱度

    1回答

    我試圖理解IDA試圖用這條線做什麼。我正在學習反編譯。我自己取得了一些進展,但我卡住了。我根本無法弄清楚這一點。 sub_1ED08(((unsigned __int8)haystack[19] << 8) | (unsigned __int8)haystack[20]); 草堆[19]是char「1」和乾草堆[20]是字母U. 此外,在反編譯我已經變量此函數返回(其僅存儲功能參數作爲數。 i

    2熱度

    1回答

    在我的一個(FWIW,ARM)調試會話期間,我注意到GDB和objdump -S的源交錯反彙編輸出在一個有趣的方面有所不同:objdump似乎是跳過單個/一組指令和顯示生成這些指令的源代碼行(指令順序)。另一方面,GDB反彙編似乎跳過源代碼行,並列出從該源代碼行生成的所有彙編指令(源訂單)。 對於-O0代碼,兩個程序的輸出看起來都是一樣的。但是,對於優化的代碼,GDB的反彙編更有幫助,因爲它將所有

    0熱度

    1回答

    當我在Linux服務器(在大學)上運行objdump -d <program name>我得到如下: [email protected]:~/Downloads/buflab-handout$ objdump -d bufbomb objdump: bufbomb: File truncated 這是怎麼回事?

    0熱度

    1回答

    如何獲取dis.dis()在代碼中輸出的信息?具體而言,我想獲取當前函數的返回值分配給的變量的名稱。 例 import sys, dis def test(): dis.dis(sys._getframe(1).f_code) var = test() 輸出 1 0 LOAD_CONST 0 (0) 3 LOAD_CONST 1 (None)

    0熱度

    1回答

    如何從交叉編譯的二進制生成彙編?使用 編譯命令是: arm-none-linux-gnueabi-gcc test.c -o test 我怎樣才能拆卸二進制test? 我用: objdump -d test -m arm 但它說: test: file format elf32-little objdump: can't use supplied machine arm 任何幫助

    2熱度

    3回答

    我在寫一個ARMv7反彙編程序。 在ARM參考手冊中清楚地描述了在ARM和Thumb模式之間切換的方式,但您如何知道程序啓動的模式? 我使用的Xcode在默認情況下編譯成拇指,所以我知道我所有的自己的節目將在拇指啓動,除非我強迫編譯到ARM模式。但是,我希望能夠執行任意的mach-o可執行文件,並在代碼的開頭找到指令集模式。 在mach-o頭文件中是否有某處指定了入口點處的指令集?

    0熱度

    1回答

    我怎麼會得到在 0x14(%esp,%ebx,4) 在GDB 價值? 我試圖p/x 0x14(%esp,%ebx,4)並且得到錯誤 A syntax error in expression, near `%esp,%ebx,4)'