[問題] GDB 在某些地方無法反組譯

看板LinuxDev作者時間15年前 (2009/03/27 14:52), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
請問一下 如果我想讓 gdb 在任何記憶體位址做 disassemble 無論這個地方是否是一個 function 該怎麼做呢? 因為像是涉及 self modified code 的程式 有些地方打 disas 0xabcdef 之類的 gdb 就會說 No function contains specified address. 謝謝各位了~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.97.25

03/28 22:01, , 1F
會不會是那邊沒辦法disas? 要不要用objdump試試看?
03/28 22:01, 1F

03/30 21:28, , 2F
我想反組譯的地方是 self modified code, 所以恐怕無法用
03/30 21:28, 2F

03/30 21:28, , 3F
objdump.........@@
03/30 21:28, 3F

03/31 23:42, , 4F
ptrace呢? smc 是個很囧的範疇 那不然你就在code裡面把.code
03/31 23:42, 4F

03/31 23:43, , 5F
的mem protect打開 再去偷看 @@" 這樣不知道有沒有辦法....
03/31 23:43, 5F
文章代碼(AID): #19p7U-MW (LinuxDev)