"С.П.Расторгуев, А.Е.Долгин "Как защитить информацию" (пособие по борьбе с хакерами)" - читать интересную книгу автора

рис. 4.2

ОПРЕДЕЛЕНИЕ РЕЖИМА ТРАССИРОВКИ
(1 вариант)
┌────────────────────────────────────────────────────────────┐
│ 1 0000 code segment para public │
│ 2 assume cs:code,ds:code │
│ 3 │
│ 4 0000 sample1 proc │
│ 5 │
│ 6 0000 0E push cs │
│ 7 0001 1F pop ds │
│ 8 0002 C6 06 0008r 00 mov byte ptr m+1,0 ; изменение │
│ ; смещения в команде JMP │
│ 9 0007 EB 06 m: jmp short norm_ex │
│10 0009 BA 001Br mov dx,offset trace ; выполнение с│
│ ; трассировкой│
│11 000C EB 04 90 jmp exit │
│12 000F norm_ex: ; выполнение без│
│ ; трассировки │
│13 000F BA 0026r mov dx,offset norm │
│14 0012 exit: │
│15 0012 B4 09 mov ah,9 │
│16 0014 CD 21 int 21h │
│17 0016 B8 4C00 mov ax,4C00h │
│18 0019 CD 21 int 21h │
│19 │
│20 001B trace db 'Tracing!',0Ah,0Dh,'$' │
│21 │
│22 0026 norm db 'Normal exit.',0Ah,0Dh,'$' │
│23 │
│24 │
│25 0035 sample1 endp │
│26 0035 code ends │
│27 end sample │
└────────────────────────────────────────────────────────────┘
рис. 4.3

ОПРЕДЕЛЕНИЕ РЕЖИМА ТРАССИРОВКИ
(2 вариант)
┌────────────────────────────────────────────────────────────┐
│ 1 0000 code segment para public │
│ 2 assume cs:code,ds:code │
│ 3 │
│ 4 0000 sample2 proc │
│ 5 │
│ 6 0000 0E push cs │
│ 7 0001 0E push cs │
│ 8 0002 07 pop es │
│ 9 0003 1F pop ds │