簡體   English   中英

獲取操作碼的簡便方法

[英]easy way to get opcodes

我知道如何從可執行文件中獲取操作碼和相應的匯編語法; 但是有一種簡單的方法可以單獨獲取特定匯編指令的操作碼,而無需使用相同的程序編寫程序,然后手動鏈接並加載它並對可執行文件執行objdump?

有沒有一種簡單的方法來查找特定指令的相應操作碼?

您可以使用gdb(GNU Debugger)的x / bx命令。

我在這里做了一個教程:

http://aimbots.net/tutorials/9276-how-get-op-codes.html

http://aimbots.net/threads/9276-How-to-get-OP-codes

我前一段時間問了一個類似的問題( DOS調試就像32位x86程序集的程序 )。

有人很友好地為我提供了一個自動化腳本來完成這項工作。 您可以點擊提問鏈接,或參考他們在下面提供給我的腳本......

opcode() {
  echo $* > tmp.S && nasm tmp.S -o tmp.o && od -x tmp.o
  rm -f tmp.o tmp.S
}

希望這可以幫助。

X86操作碼和指令參考包含32位和64位x86處理器上的一組指令參考表及其相應的操作碼。

對於x86,您可以在英特爾手冊( 第1部分(AM)第2部分(新西蘭) )中查找它們。 不,我不知道為什么手冊分為兩部分。

我不確定你為什么要操作碼。 但是如果它用於漏洞利用開發,你可能已經有了metasploit,它帶有一個非常有用的ruby腳本,名為nasm_shell.rb(在tools目錄中)。

您鍵入的每一行都以正確操作碼的ascii十六進制表示形式出現。

如果它出於某種其他目的或者您不希望某些重量級工具包(如metasploit)因任何原因而閑置,您可以拔出腳本並安裝其依賴項。 它使用Rex並假設安裝了nasm。

如果你想調整它,你需要的實際代碼只是函數shell.run中的幾行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM