|
概述: CPU 的执行时并不是执行到哪一句再到内存中去取那一句,而是先读入到 CPU 的 Cache 中,如果指令已经到了 Cache 中,再将它修改也没有用了,如果用跟踪程序的话,CPU 的 Cache 中就不会是跟正常执行时的指令相同,所以可以改动下几条指令,当然是故意改错,如果没有跟踪,程序还回照常执行,有跟踪的话,那就... 汇编编程示例: code segment assume cs:code,ds:code org 100h start: jmp install d1 db 'OK, passed ...',0dh,0ah,24h install: mov word ptr _code,20cdh _code: nop ;如果跟踪一下,就会发现下一条指令是 INT 20H,返回 DOS 了 nop mov si,offset _code1 mov di,si cld mov ax,20cdh stosw lodsw _code1: nop nop mov ah,9 ;now ax=20cdh mov dx,offset d1 int 21h int 20h code ends end start
|