| 站点地图 | 联系我
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | 书签 | ASP.Net书签 | 上善若水 厚德载物
 现在位置 :: 主页 >> 资料中心 >> ROOT / CODE / ASM/ASM32 /
 

"花指令"加密法

来源(null)

"花指令"加密法

--------------------------------------------------------------------------------

概述:

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


Link: http://www.asm32.net/article_details.aspx?id=1564


浏览次数 454 发布时间 2006/8/2 12:19:32 从属分类 ASM/ASM32 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | 书签 | ASP.Net书签 | 京ICP备09029108号-1