ITEEDU

"花指令"加密法

概述:

用‘花指令’来进行静态加密是很有效的,这会使解密者无法一眼看到全部指令,杜绝了先把程序打印下来再慢慢分析的做法。我们知道,一条指令的长度是不等长的,假使有一条指令为 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