+

来自「一套关于加解密的文件」· 代码 · 共 39 行

TXT
39
字号

Anti-debug
用指令预取反跟踪
概述:
 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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?