disassembly

    9熱度

    3回答

    文章可以找到here。 我正在閱讀粉碎堆棧,發現自己被卡在example3.c上。 0x80004a3 <main+19>: call 0x8000470 <function> 0x80004a8 <main+24>: addl $0xc,%esp 0x80004ab <main+27>: movl $0x1,0xfffffffc(%ebp) 0x80004b2 <main+34>: mov

    11熱度

    4回答

    是否有可能獲得可執行文件的完整反彙編(可用作彙編程序的輸入)? 當我使用otool -tV a.out時,我只能看到文本部分。其他部分如數據不可見。 當我使用gdb時,反彙編命令需要開始和結束地址。但是我不知道如何找出二進制文件的開始和結束地址(比如a.out)。 我試圖反彙編一個可執行文件,修補程序與彙編代碼,然後重新組裝它。 這可能嗎? 如果能找出二進制文件中所有部分的名字,它也會有所幫助。

    1熱度

    1回答

    我有一位客戶報告我們的產品中使用混合代碼的假定資源泄漏。所以我想調試一下,看看究竟發生了什麼。我一直在經歷像Visual Studio崩潰之類的奇怪現象,在逐步執行代碼期間凍結,調試器僅在具有不良退出代碼的隨機點停止。 我把它縮小到導致它的非託管函數,它是一個從另一個線程開始的函數。我一直認爲自己有導致它的確切代碼行,但問題的位置似乎在不斷變化。所以我到了問題的大致位置,並逐行逐句逐句通過彙編代碼

    0熱度

    1回答

    我有兩個c程序文件temp1.c和temp2.c。我爲這個temp1.o和temp2.o編譯並生成了dot o文件。之後,我通過組合這兩個dot o文件生成了final.o和final.a。現在這兩個靜態庫工作正常。 現在nm報告final.a顯示所有文件名和符號。但nm報告final.o不顯示文件名,它只顯示符號。 如何獲取我用於創建final.o的文件名列表。

    1熱度

    1回答

    我想修改文本格式的「.d​​ex」文件的字節代碼,然後再次將文本彙編到dex文件。必須確保最終的「.apk」可用。 我想知道一些工具,而不是自己製作一個彙編程序。

    0熱度

    1回答

    是否有人知道如何使用Sun Studio編譯器插入可識別的代碼序列,而沒有可怕的搞錯優化? 我想查看一下Sun Studio(12.1)編譯器在很多實例中用一些代碼所做的工作,並且正在尋找一種方法來標記生成的代碼, op指令,所以我可以找到我的代碼片段。我使用的第一個嘗試: asm volatile ("nop ; nop ; nop ") ; // ... <stuff I want to l

    6熱度

    1回答

    我正在研究一個涉及編譯後的c語言的「炸彈」的家庭作業項目,我必須進行反向工程,才能拿出5個字符串來解除炸彈的五個「階段」。我現在被困在第3階段,試圖翻譯由gdb爲該函數生成的程序集(x86,AT & T語法,我相信)。到目前爲止,我能弄清楚的是,它試圖將一串六位數字作爲用戶輸入,並根據一些標準來判斷它們,但這正是我失去它的地方。該函數如下(我試圖在其旁邊的僞代碼翻譯)。 0x08048816 <p

    0熱度

    1回答

    基本上,我用objdump -D來卸載目標文件和ELF文件。我認爲兩者之間的主要區別在於。 我看到目標文件(單個段)中的指令的地址以開頭。因此,連續地址是,將偏移一定的值,可能取決於對應於該特定指令的操作碼的長度。 Disassembly of section .text: 00000000 <main>: 0: 8d 4c 24 04 lea 0x4(%esp),%ecx 4: 83

    0熱度

    1回答

    movl $ 0x14,0x4(%rax,%rdx,1) meas%rax +%rdx * 1 + 0x4 = $ 0x14(20) 但: MOV爲0x0(,%RAX,8),%RAX 其基部段語域 這是什麼instuction MEAS

    0熱度

    2回答

    我知道這裏有一個循環,但我無法弄清楚發生了什麼。更確切地說,前三行發生了什麼? 0x08048d45 <phase_2+42>: lea -0x14(%ebp),%ebx 0x08048d48 <phase_2+45>: mov -0x8(%ebx),%eax 0x08048d4b <phase_2+48>: add -0x4(%ebx),%eax 0x08048d4e <phase_