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

│ popf │
│ . . . │
│ МОДИФИКАЦИЯ │
│е) перехода │
│ mov word ptr cs:m+1,1234h ; адрес 1234h вписать вместо│
│ . . . ; 0000 у оператора безуслов-│
│ m: jmp 0000h ; ного перехода │
│ . . . │
│ж) вызываемой подпрограммы │
│ mov word ptr cs:m+1,es ; изменить сегмент п/п │
│ mov word ptr cs:m+3,5678h ; и адрес 0000 на 5678h │
│ . . . │
│ m: call far 0000h │
│ . . . │
│з) косвенного перехода │
│ mov bx,1234h │
│ jmp dword ptr cs:[bx] │
│ . . . │
│и) косвенного вызова подпрограммы │
│ les si,dword ptr cs:subr │
│ call word ptr es:[si] │
│ . . . │
│к) команды │
│ and byte ptr cs:m,0EFh ; обнулить 4-й бит по адресу m│
│ . . . │
│ m: push ax ; команда преобразуется в INC AX │
│ . . . │
└────────────────────────────────────────────────────────────┘
рис. 4.1

Фрагмент пакета COPYLOCK
(использование конвейера шины данных микропроцессора)
┌────────────────────────────────────────────────────────────┐
│ . . . . . │
│cs:07FF mov cx,40Eh │
│cs:0802 mov di,08A6h │
│cs:0805 call subr │
│ . . . . . │
│;===================================== │
│; Затирание участка памяти. │
│ subr proc near │
│cs:0D63 pushf │
│cs:0D64 cld │
│cs:0D65 mov ax,ds │
│cs:0D67 mov es,ax │
│cs:0D69 rep stosw │
│cs:0D6B popf │
│cs:0D6C retn │
│ subr endp │
└────────────────────────────────────────────────────────────┘