老文章档案 · 2003 年

指令动态执行加密法

破解教程 · 汇编专区 · 2003-10-16 · 作者:人气: · 出处:赢政天下整理收藏)

概述:

这儿讲述的是用单条指令加密法,再用 int 1 单步中断解下一条指令的第一字节,由于用另外程序解密时无法预知指令长, 所以不能用编程的方法解密,只能用手工一条一条地解。具体实现见注释,这种加密法的麻烦只处就是加密时也要一句一句来。

汇编编程示例:

code segment

assume cs:code,ds:code

org 100h

start:

jmp install

d_ok db 'OK, passed...',0dh,0ah,24h

temp_bx dw ?

off1 dw ?

seg1 dw ?

int1:

mov temp_bx,bx ;save bx

mov bx,sp ;BX=SP=0016h

mov bx,ss:[bx]

xor byte ptr ds:[bx],55h ;decode

mov bx,temp_bx

iret

install:

mov ax,3501h ;保存原 INT 1 中断向量

int 21h

mov off1,bx ;设置新 INT 1 到 offset int1

mov seg1,es

mov ax,2501h

mov dx,offset int1

int 21h

xor byte ptr x1,55h ;这些指令是先把以下

xor byte ptr x2,55h ;的一些指令加密

xor byte ptr x3,55h ;当然,在应用时就不会有这些指令了

xor byte ptr x4,55h

xor byte ptr x5,55h

xor byte ptr x6,55h

xor byte ptr x7,55h

xor byte ptr x8,55h

xor byte ptr x9,55h

pushf

pop ax

or ax,0100h

push ax

popf ;打开单步跟踪

nop ;由于单步跟踪要在执行下一条指令后才激活

x1: ;所以这儿是一条 NOP 指令

mov ah,9

x2:

mov dx,offset d_ok

x3:

int 21h

x4:

pushf

x5:

pop ax ;从 X1 到 X9 的指令要在

x6:

and ax,0feffh ;执行中才由 INT 1 逐句解开

x7:

push ax

x8:

popf

x9:

nop

mov ax,2501h ;把 INT 1 复原

lds dx,dword ptr off1

int 21h

int 20h

(出处:赢政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1998-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史