|
概述: 用‘花指令'来进行静态加密是很有效的,这会使解密者无法一眼看到全部指令,杜绝了先把程序打印下来再慢慢分析的做法。我们知道,一条指令的长度是不等长的,假使有一条指令为 3 字节长,然后你从它的第二个字节开始反汇编,你照样会看到一条面目全非的指令,‘花指令'就是在指令流中插入很多‘垃圾',使静态反汇编无法进行,如何实现你把以下程序编译出来用 Debug 的 U 指令看一下,跟踪一下就能理解了。 汇编编程示例: XX1 MACRO local _next1 jmp short _next1 db 0e8h _next1: ENDM ;-------------------------------------- XX2 MACRO local _next2 jmp short _next2 db 0e9h _next2: ENDM ;-------------------------------------- XX3 MACRO local _next3 jmp short _next3 db 09ah db 0e8h _next3: ENDM ;-------------------------------------- XX4 MACRO local _next4 jmp short _next4 db 09ah db 0e8h _next4: ENDM ;-------------------------------------- .286 CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H start: db 20 dup (90h) xx3 mov ax,0201h xx3 mov bx,0200h xx3 mov cx,0001h xx3 mov dx,0080h xx2 int 13h xx2 int 20h CODE ENDS END START
|