Глава 13 Программа Debug

Глава 13

Программа Debug

Следующей возможностью, которую хотелось бы описать, является способ создания программ Win32 с помощью стандартного отладчика командной строки debug.exe.

Но сначала хотелось бы пояснить, зачем вообще упоминается этот отладчик. Согласитесь, существуют компьютеры общего пользования, на которые пользователь не имеет права ничего устанавливать. На них нет привода компакт-дисков, дисковода, Интернета или нельзя скачивать из Интернета файлы. В общем, администраторы сделали так, чтобы нельзя было устанавливать свои файлы, в том числе вирусы, перехватчики клавиатуры, троянские кони. Но уже стало стандартом, что программа debug.exe входит в поставку Windows и о ней теперь знает все меньше и меньше администраторов…

Это был тонкий намек администраторам подобных общественных компьютеров.

ПРИМЕЧАНИЕ

Отладчик debug.exe входит в стандартную поставку всех версий Windows (находится в каталоге %systemroot%system32) и предназначен для отладки DOS-приложений на языке «Ассемблер» или машинном языке.

 Итак, запустим командную строку и введем название команды — debug.exe. После этого мы попадем в среду программы, о чем можно узнать из появившегося приветствия в виде горизонтального курсора.

Теперь посмотрим на сам код простенькой программы Win32, вызывающей стандартное окно приветствия.

ПРИМЕЧАНИЕ

Данный код был взят из статьи журнала «Ваш компьютер» за 2003 год. 

Листинг 13.1. Программа Win32 типа Hello, World!

f 0 400 0

f1000 1200 0

a0

db4d,5a

а 3с db40

а 40

db 50,45,0,0

dw 14c,1

а 54

dw e0,10f,10b

а 68 dw 10d0

a 74

dw 0,40,1000,0,200,0

dw 4,0,0,0,4

a 90

dw 2000,0,200,0,0,0,2

a b4 dw 10

a c0

dw 1090,0,3c

a 140

dw 1000,0,1000,0,200,0,200,0

a 15c

dw 20,e000

a 1010

db 54,68,69,73,20,54,69,74,6c,65,3f

a 1020

db 54,68,69,73,20,4d,65,73,73,61,67,65,3f

a 1040

db 55,53,45,52,33,32,2e,64,6c,6c

a 1050

db 4b,45,52,4e,45,4c,33,32,2e,64,6c,6c

a 1060

db 0,0,4d,65,73,73,61,67,65,42,6f,78,41

а 1070

db 0,0,45,78,69,74,50,72,6f,63,65,73,73

а 1080

dw 1060,0,0,0,1070,0,0,0

а 1000

dw 1060,0,0,0,1070,0,0,0

а 1090

dw 1080,0,0,0,0,0,1040,0,1000,0

dw 1088,0,0,0,0,0,1050,0,1008,0

a 10d0

db 6a,24

db 68,10,10,40,0

db 68,20,10,40,0

db 6a,0

db ff,15,0,10,40,0

db 6a,0

db ff,15,8,10,40,0

m 1000 1200 200

m 0 400 100

n «путь и имя создаваемого файла.bin»

r cx 400 w

q

Вот и весь код программы, написанной на машинном языке и вызывающей окно, отображенное на рис. 13.1. 

Рис. 13.1 Результат выполнения программы