"花指令"加密法


概述:

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





(C) Copyright by LuoYunBin's Win32 ASM Page,http://asm.yeah.net