資訊安全:組合語言 Debug 工具簡介

Ping-Lun Liao
4 min readJul 24, 2020

--

若您覺得文章寫得不錯,請點選網誌上的廣告,來支持小編,謝謝。
此文章的測試環境為 Virtualbox 虛擬機上的 Windows XP Pro版本。此篇文章是以 MS Dos 的 Debug 工具來撰寫組合語言。
MS DOS Debug 軟體介紹
MS DOS 下的 DEBUG 為可以檢視記憶體內容、直接存取記憶體內容、撰寫簡易組合語言程式以及程式除錯等功能的工具程式。執行方式為【 開啟命令提示字元(Command Prompt)

C:\DOCUME~1\admin>debug -? assemble A [address] compare C range address dump D [range] enter E address [list] fill F range list go G [=address] [addresses] hex H value1 value2 input I port load L [address] [drive] [firstsector] [number] move M range address name N [pathname] [arglist] output O port byte proceed P [=address] [number] quit Q register R [register] search S range list trace T [=address] [value] unassemble U [range] write W [address] [drive] [firstsector] [number] allocate expanded memory XA [#pages] deallocate expanded memory XD [handle] map expanded memory pages XM [Lpage] [Ppage] [handle] display expanded memory status XS

以上為用 Debug 程式輸出 “Hello World” 字串。

接著做簡易加法的範例(此範例來自於: https://www.codeproject.com/Articles/37762/How-To-Use-Debug):

執行結果:

現在讀者可以使用 x86 assembly language(x86 組合語言)來實作看看,可參考此影片
x86 Assembly: Hello World!。當然可以用線上的 IDE: https://www.tutorialspoint.com/compile_assembly_online.php

簡短回顧如何使用 MS- Dos Debug 撰寫組合語言的程式:

Originally published at https://yunlinsong.blogspot.com.

--

--

No responses yet