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

│10 0004 BF 000Cr mov di,offset m │
│11 0007 F9 stc │
│12 0008 FC cld │
│13 0009 B0 88 mov al,88h │
│ ; заменить код операции следующей│
│ ; команды на mov byte ptr m, al. │
│14 000B AA stosb │
│15 000C 3A 06 000Cr m: cmp al,byte ptr m │
│16 0010 73 06 jnc norm_ex │
│17 0012 BA 0024r mov dx,offset trace │
│ ; выполнение с трассировкой,│
│ ; если бит CF остался │
│18 0015 EB 04 90 jmp exit ; установленным. │
│19 0018 norm_ex: │
│20 0018 BA 002Fr mov dx,offset norm │
│21 001B exit: │
│22 001B B4 09 mov ah,9 │
│23 001D CD 21 int 21h │
│24 001F B8 4C00 mov ax,4C00h │
│25 0022 CD 21 int 21h │
│26 │
│27 0024 trace db 'Tracing!',0Ah,0Dh,'$' │
│28 0024 │
│29 002F norm db 'Normal exit.',0Ah,0Dh,'$' │
│30 │
│31 │
│32 003E sample2 endp │
│33 003E code ends │
│34 end sample2 │
└────────────────────────────────────────────────────────────┘
рис. 4.4

ОПРЕДЕЛЕНИЕ РЕЖИМА ТРАССИРОВКИ
(3 вариант)
┌────────────────────────────────────────────────────────────┐
│ 1 0000 code segment para public │
│ 2 assume cs:code,ds:code │
│ 3 │
│ 4 0000 sample3 proc │
│ 5 │
│ 6 0000 0E push cs │
│ 7 0001 0E push cs │
│ 8 0002 1F pop ds │
│ 9 0003 17 pop ss │
│10 0004 9C pushf │
│11 0005 58 pop ax │
│12 0006 F6 C4 01 test ah,1 ; бит TF установлен ? │
│13 0009 74 06 jz norm_ex ; нет - уйти на norm_ex│
│ ; да - вып-ие с трассировкой│
│14 000B BA 001Dr mov dx,offset trace │