㈠ 怎樣將BIOS ROM中的內容反匯編成匯編指令
需要自己買個燒解器,插上flash,讀出來,存成bin文件,然後用反匯編器進行反匯編即可。
linux下用nasm就可以了,如果是windows系統,建議使用ida之類的軟體進行反匯編。
㈡ 如何利用A反匯編
在開始---運行中輸入CMD進入命令行操作附界面,輸入DEBUG *.exe回車
然後輸入命令參數a就可以了
㈢ 反匯編過程中,如何將指令刪除
nop嘛。
㈣ 用debug命令中的 -u反匯編後這一列表示的是什麼
第三列 8D163200 B409這是機器碼
b409的意思就是mov ah,09
cd 21 就是int 21
u的意思是反匯編,就是把機器碼翻譯成匯編語言
㈤ 已經由debug命令得到反匯編代碼。試問:怎麼編寫源程序(匯編程序就行)才能如圖的反匯編代碼!
你的問題不夠完整,缺少數據段中定義的兩個變數(地址分別是0000和0003)。
這兩個變數的值需要你自己查看內存中數據區補上。我這里暫時用?處理成未被初始化的數據。
datasg segment
var_x DB ?, ?, ? ;根據代碼分析,這里有2個位元組類型的變數,每個變數有3個數據單元
var_y DB ?, ?, ?
datasg ends
codesg segment
assume cs:codesg, ds:datasg
start:
mov ax, datasg ;反匯編中的18A0是段載入時動態定位的值
mov ds, ax
mov si, offset var_x ;這里有一個變數,有效地址為0000H
mov di, offset var_y ;這是另一個變數,有效地址為0003H
mov cx, 3
again: ;這個地址就是000EH,後面LOOP轉向的目標地址
mov al, [si]
sub al, 7
and al, 0fh
mov [di], al
inc di
inc si
loop again ; 目標地址值是000EH
mov ah, 4ch
int 21h
codesg ends
end start
㈥ 反匯編命令的代號是什麼,它的主要功能是什麼
在DEBUG中的命令是u
功能是把機器指令轉換成匯編指令
㈦ 在線求答案反匯編AND指令
意思是只保留bit[2]
汗,大家在討論什麽。。。
摟主,這個 操作好像單句不能被替換,至少我不知道
問下,你下一句應該是個跳轉吧??如果是你可以用移位的方式,把bit[2]移到對應的標志寄存器比如
SHR AL, 3
這樣你的CF寄存器中就是bit[2]的值了,然後檢查它就好了
換種方式思考吧~~
㈧ 什麼軟體能將C語言的執行文件反匯編為匯編源代碼
可以使用Linux下的objmp命令來反匯編。
常用命令:
objmp -x obj:以某種分類信息的形式把目標文件的數據組成輸出;<可查到該文件的的所有動態庫>
objmp -t obj:輸出目標文件的符號表
objmp -h obj:輸出目標文件的所有段概括
objmp -j ./text/.data -S obj:輸出指定段的信息(反匯編源代碼)
objmp -S obj:輸出目標文件的符號表,當gcc -g時列印更明顯
objmp -j .text -Sl stack1 | more
-S 盡可能反匯編出源代碼,尤其當編譯的時候指定了-g這種調試參數時,效果比較明顯。隱含了-d參數。
-l 用文件名和行號標注相應的目標代碼,僅僅和-d、-D或者-r一起使用
使用-ld和使用-d的區別不是很大,在源碼級調試的時候有用,要求編譯時使用了-g之類的調試編譯選項。
-j name 僅僅顯示指定section的信息