建设中......

免杀修改特征码需要掌握的汇编知识

上一篇 / 下一篇  2007-05-09 03:34:38 / 个人分类:免杀破解

!|OVp({NrM0一.机械码,又称机器码★黑基空间★T c:[ LF9ymE@v8t

i ^Y+c:b+qyq0Ultraedit打开,编辑exe文件时你会看到许许多多的由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成的数码,这些数码就是机器码。修改程序时必须通过修改机器码来修改exe文件。

!Uo5g!roBi r$?.u5wcw0

%uG] H+EN0二.需要熟练掌握的全部汇编知识

6A$f ^upnG1rS0★黑基空间★ow?+y6OR{ F

不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了。

UM]M#x*Y hA9`/a0★黑基空间★wE3n'D9u7H\+I

cmp a,b 比较a与b。

?1Fup8jf0★黑基空间★$O)i4p,ja#N]

mov a,b 把b的值送给a。★黑基空间★jYI)I~ j

★黑基空间★d+kdbx oF

ret 返回主程序。

{,O%L/h]m)I0★黑基空间★AQ7@XO/H+g%F\

nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面。★黑基空间★7D6K(Ke1Y+]}f:q

,Q3TSBq3sSUH0(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)★黑基空间★&V"? SV,Yf D#w

★黑基空间★?;U6X/K2J-z{vEh

call 调用子程序。

|Y,~ TI,L%dX0

K|eqH0je 或jz 若相等则跳(机器码74 或0F84)。★黑基空间★(r[!C"s n

★黑基空间★%II^k*r T

jne或jnz 若不相等则跳(机器码75或0F85)。

K:R0@Bz:wVM0★黑基空间★dP` c-k#H.H

jmp 无条件跳(机器码EB)。★黑基空间★c$H~2c'a ] C

★黑基空间★8m[E;Cw0u

jb 若小于则跳。★黑基空间★rx Uj:uvG

AnW2SZI&B9r2S0ja 若大于则跳。★黑基空间★;T1VM4kw[#R

}#A@o'y E-N)ma0jg 若大于则跳。

!s"K!{lQ-l0

0L?;F;P;pL#[0jge 若大于等于则跳。★黑基空间★~%QV6xI*nY

★黑基空间★2W y[3Bi"l0L)lxw$k

jl 若小于则跳。★黑基空间★SP(sb2}"D%z

/I?b#[g0jle 若小于等于则跳。

E7[Q+\B@+q[0

'G$b8i9U1{b;w[}?\0pop 出栈。★黑基空间★3q~Q:B6?(ll

★黑基空间★6S1Tj(H0X5M({!UO P

push 压栈。

B-Og7LX0★黑基空间★a)E#we2a

三.常见修改(机器码)★黑基空间★(wi$dE{}c

★黑基空间★"I-o:mPtL+h}&O

★黑基空间★mbZr`*S
74=>75 74=>90 74=>EB★黑基空间★:j#WxG5H
75=>74 75=>90 75=>EB★黑基空间★;{9uO%S#E[~(_D

S@o6E+c(v0jnz->nop★黑基空间★'\PKN*@B pI9A
75->90(相应的机器码修改)

i| YI G%s@0★黑基空间★6yX!C6cgE b

jnz -> jmp★黑基空间★0]T}o ?z$? m'm{jt
75 -> EB(相应的机器码修改)

eH_"l:F"V0★黑基空间★$uSOPM8z|2ub*m*kH

jnz -> jz★黑基空间★ze9L#N F(}z+XF
75->74 (正常) 0F 85 -> 0F 84(特殊情况下,有时,相应的机器码修改)
b%k1w5lQj0 

-?9Lw-k1@~LqHBy0

|`*_`!?!y r`0四.两种不同情况的不同修改方法

1?Wf,I4o;r0

({ O V8ns01.修改为Jmp★黑基空间★]G f'V7S TT+q)q*e}v

n9l_$}$bH/Q [0je(jne,jz,jnz) =>jmp相应的机器码EB(出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息:★黑基空间★0y1pu{9~:f C

,I,o/E1wmQrXG+h0
1v,e#U:G,V"?@0xxxxxxxxxxxx 出错信息,例如:注册码不对,sorry,未注册版不★黑基空间★ sII _a~E
能...,"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in★黑基空间★4[V'}@Lh
Shareware/Demo"等 (我们希望把它跳过,不让它出现)★黑基空间★\(|xr/z4c
...
*C3ZRnik0O0...★黑基空间★8iZ LU*\q J9s#P
xxxxxxxxxxxx 正确路线所在★黑基空间★,Aw8_ z&sW
 ★黑基空间★1ajrx*Jnkl

B2HT%t+K02.修改为Nop

$TZ!HlBET#U#H@ l0★黑基空间★o2ne4N0v| Ye

je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处:★黑基空间★F&@K7T X8U:h+W6s%t

★黑基空间★LoG(q2N7w'Hv

★黑基空间★ M0Hv6Kb0AA2F
xxxxxxxxxxxx 正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳★黑基空间★9pBw2sl)|
过,让它出现,程序一定要顺利来到这里)
_)o1v+fV0...
["r8E2s]'t4R,I0...★黑基空间★@2~5Ua(d%O
xxxxxxxxxxxx 出错信息(我们希望不要跳到这里,不让它出现)它们在存贮器和寄存器、寄存器和输入★黑基空间★*qD!j4j.M1{1b3J"m
输出端口之间传送数据。
N5Wb}&[$~wE)V1S#{0 ★黑基空间★7v-nuN,f4u t1V%g,G.^a

★黑基空间★3Q @U3A:b||

1. 通用数据传送指令

;G;^3|MQb1j:W0★黑基空间★yzc!y-mv2M

MOV 传送字或字节。

+D&X%R9v'}p0

$Y*ER9g Y${/?E0MOVSX 先符号扩展,再传送。★黑基空间★3~y-e5L Ds@

★黑基空间★C9o NG+{

MOVZX 先零扩展,再传送。★黑基空间★R7Y`#GC1T(i

★黑基空间★,c(?FB.]L

PUSH 把字压入堆栈。★黑基空间★2AN%[z Z+Rr!Ep

%B kj1xcI&?y;~p0POP 把字弹出堆栈。

[%f[6E&}Wkm$k0

\,k#_t)pg8@2i.U B0PUSHA 把AX、CX、DX、BX、SP、BP、SI、DI依次压入堆栈。★黑基空间★)YT]C"t,@o

★黑基空间★ssg hZ&v su

POPA 把DI、SI、BP、SP、BX、DX、CX、AX依次弹出堆栈。★黑基空间★ `N:C@`F.[9z2h

★黑基空间★dv*s8l+Gwl'i

PUSHAD 把EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI依次压入堆栈。★黑基空间★4R"mr7EII

c}3d q3u9n$~;| g6o0POPAD 把EDI、ESI、EBP、ESP、EBX、EDX、ECX、EAX依次弹出堆栈。

%c3\WN5q"aJB r0★黑基空间★'[0I(A0oe

BSWAP 交换32位寄存器里字节的顺序。

9S wqu~2R0

Jj&E2w?0XCHG 交换字或字节( 至少有一个操作数为寄存器、段寄存器不可作为操作数)。

rJ2|7WH'i K0

#?oh8B(B7g?0CMPXCHG 比较并交换操作数(第二个操作数必须为累加器AL/AX/EAX)。★黑基空间★Y'Q'R%|Ak

★黑基空间★5u*N1GG X%s!J-dSW/z

XADD 先交换再累加(结果在第一个操作数里)。

?9s;s7F5M0

U l/X/R Pe]0XLAT 字节查表转换。★黑基空间★"PSd-e b@KA

★黑基空间★C@(R j.t8Q

── BX 指向一张 256 字节的表的起点,AL为表的索引值(0-255,即0-FFH); 返回AL为查表结果。([BX+AL]->AL)

k6^:}:l8hX3@e\0

fq @'I+s.ZcW"U02. 输入输出端口传送指令

u8CWm)f0★黑基空间★+U/_3`6]6dY

IN I/O端口输入。(语法:IN 累加器, {端口号│DX})★黑基空间★8r:RRG tB

G"R7~0Z*T#}0OUT I/O端口输出。(语法:OUT {端口号│DX},累加器)★黑基空间★ M(D J fz

★黑基空间★G5c6my @0S

输入输出端口由立即方式指定时,其范围是0-255; 由寄存器DX指定时,其范围是0-65535。

7y/twcF%gQ{ v%z7F0

H-a Q?7v6rE)H03. 目的地址传送指令★黑基空间★h9IcITf'[$w

★黑基空间★0q;^1l!tg

LEA 装入有效地址。★黑基空间★Ak1Nvvx+y!I6c

p0H8Ne|$q0例: LEA DX,string;把偏移地址存到DX。★黑基空间★_1te yA;i

HC.euFuU,uM0LDS 传送目标指针,把指针内容装入DS。

p3|*B,g1tp0

P&n"DjF0例: LDS SI,string;把段地址:偏移地址存到DS:SI。★黑基空间★TSR^9UN td;w

★黑基空间★-K t'y;Li

LES 传送目标指针,把指针内容装入ES。★黑基空间★ZU~pK J@ }P?

7iA(W%B"U0例: LES DI,string;把段地址:偏移地址存到ESI。★黑基空间★C'{Qj9G\-E#t1R

gI}}p wS,n9~y a0LFS 传送目标指针,把指针内容装入FS。

3nA^UO Ld@t0★黑基空间★:{s%d+c:t%A

例: LFS DI,string;把段地址:偏移地址存到FSI。

5H2Z1`(N4d U"P0★黑基空间★1j7n/l:O'~{ ?%y

LGS 传送目标指针,把指针内容装入GS。

b*RVX9|4J!r} K z0

7U9A;s6c%qP0例: LGS DI,string;把段地址:偏移地址存到GSI。★黑基空间★'VUC#d^jXI

★黑基空间★#udFL'n5q/J]

LSS 传送目标指针,把指针内容装入SS。

$U$GO-V'Kf*gXi&q0★黑基空间★c4]F'H\z}f E3v

例: LSS DI,string;把段地址:偏移地址存到SSI。

6o4M^g6s%|*q%O0

n+P[2I7F6D04. 标志传送指令★黑基空间★1R#n&W#sy

★黑基空间★9NOA\&Hg9ia&D

LAHF 标志寄存器传送,把标志装入AH。★黑基空间★ h2f h\d1t

9yU \g\k0SAHF 标志寄存器传送,把AH内容装入标志寄存器。★黑基空间★c0c4LTD.~c4G/K|

★黑基空间★V#{*@!B:H`,] On9D

PUSHF 标志入栈。

c)c e8vY#IgGk0

B-W9MRqz0POPF 标志出栈。★黑基空间★+H0[#Q pn R$D

Z@!p1B'W0PUSHD 32位标志入栈。

9}z4Y-b(uB0

TNhqe;Ii0POPD 32位标志出栈。

.f*pWk*|!F?P)M(F0

8g1qe#\7k0二、算术运算指令★黑基空间★*oZ wv ~A,a|

sC eIk0gz-j0ADD 加法。

l%D ms[nI9yS0

7^ k^1eeI'o0ADC 带进位加法。★黑基空间★2nTZMaoaZ2K

★黑基空间★@4o1G9[-X5@ y\+e v

INC 加 1。★黑基空间★gjP5j~nl F

8V7X;i W:^uB0AAA 加法的ASCII码调整。

_ L kJ*BZc0B^-C+Po0

Fu[8`{0DAA 加法的十进制调整。★黑基空间★8I5S3`"U:Xj"o_

★黑基空间★e3h9|o l&o3~B_

SUB 减法。

"TFDLk?MU}0★黑基空间★4M}9D H'YY8T

SBB 带借位减法。★黑基空间★(f4i-F{7uv IJ

★黑基空间★:D1n6yG)fv}

DEC 减 1。★黑基空间★ lb qNTJ6_!E

★黑基空间★8n9Y0b0A4o;y

NEC 求反(以0减之)。★黑基空间★q[@s;C4qi,q

`$ee,R_)P0CMP 比较。(两操作数作减法,仅修改标志位,不回送结果)。

i$mYE!Vr0

2h;E]|f u$`0AAS 减法的ASCII码调整。

4`9ZH7i} ]:qeR0★黑基空间★z~J;`5u7mn W%[

DAS 减法的十进制调整。

4kxG.I;K)hc0

PX He+u ]Ro/@}7UU0MUL 无符号乘法。

8Ci*Zk"nh/V0★黑基空间★o1Lh;HZ&nL*d

IMUL 整数乘法。★黑基空间★+J;lS%^l,Ai

★黑基空间★-vQ8B8Tw)l(Y

以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),★黑基空间★3k ~)T3I$xt3F Io

-bet&[6xY*X2Q0AAM 乘法的ASCII码调整。★黑基空间★L,Sz%YFDF

6F&PU4R MSG0DIV 无符号除法。

j8oc[?,]0★黑基空间★ Y1BAUXs.@J zd

IDIV 整数除法。

*phG c[-kM.qP0

b2HDii#t)b)w0以上两条,结果回送:★黑基空间★(o&u$V0k.~~ac"b~a~~

7~ Uj2xG0商回送AL,余数回送AH,(字节运算);

{7U H*Q/GL [;W0kA0

;E!Vb@Y?j0或 商回送AX,余数回送DX,(字运算)。

Zxjfk4s Rop0

HV,V5Bj u0AAD 除法的ASCII码调整。★黑基空间★2O8SD%R O[

6z`d$Y$}TOma0CBW 字节转换为字。(把AL中字节的符号扩展到AH中去)★黑基空间★ Fw @F\i%q

★黑基空间★5T8xe8ZvAi D2S

CWD 字转换为双字。(把AX中的字的符号扩展到DX中去)

p7TM,uD$h6}T3W6u0

xD;J p1m"u%_I0CWDE 字转换为双字。(把AX中的字符号扩展到EAX中去)

}5F:ahi8a+O.BY0

d+N k'{%RnDl0a0CDQ 双字扩展。(把EAX中的字的符号扩展到EDX中去)

a4c E@@NN0★黑基空间★9Y&fU i8~6@ k^

三、逻辑运算指令

RB y%`LR#cN L0★黑基空间★{/Ri Yu0t:X!`

AND 与运算。

8kkC.|B:T0★黑基空间★Je'_dCSE#`~

OR 或运算。★黑基空间★5a*o+|X'h \e;J

★黑基空间★2qZ/t'C,g5o7J-j

XOR 异或运算。★黑基空间★P*C?Iw^C

R7~W]LP5`M#h$Y0NOT 取反。★黑基空间★ N*Fk_9@L

in-w.} }0] cfh0TEST 测试。(两操作数作与运算,仅修改标志位,不回送结果)。

Elk.{8W0★黑基空间★'rizv\:V\G.D(l`

SHL 逻辑左移。

)T^2LEtBnHH2y~j0

2U.G S/oXfV0SAL 算术左移。(=SHL)

7s6[P9Z,M4{R[l0

`eN3f(K _D`BHa0SHR 逻辑右移。

6tR)j V.O5?\0

4QcE4|;P(w H%Y#l5d0SAR 算术右移。(=SHR)

7\$q2^.@5R3BO0

n.Y?&{?/b0ROL 循环左移。

+A9afLf]0★黑基空间★-rG|*r8h

ROR 循环右移。★黑基空间★?PF5b5_$y%q

★黑基空间★ZI q0q@.{|Z

RCL 通过进位的循环左移。

y4A t)L T0

z(`4M%{Q+nz0RCR 通过进位的循环右移。

`+abD:l9DF,@UU-Z?0

BS/plm$R.L]0_u T0以上八种移位指令,其移位次数可达255次。★黑基空间★+s(B,ft e/XH`D

!W;U$k"Z"}0移位一次时,可直接用操作码。如 SHL AX,1。★黑基空间★Kc P7rjM4Te

ddw@ b)L*N6j0移位>1次时,则由寄存器CL给出移位次数。

p7zJ4gE V ~/{0★黑基空间★;hM$b/yn

如 MOV CL,04★黑基空间★j n;pB.Y

★黑基空间★}C W$zy,Xl

SHL AX,CL

j#b C \@e/?Z0

n6v3od7kr0四、串指令★黑基空间★-e3{2ee5x2H2Q(Zx

★黑基空间★-I@s:_#J5v

DS:SI 源串段寄存器:源串变址。★黑基空间★*d(zj"\}(D!M

★黑基空间★i@(xK1^

ESI 目标串段寄存器:目标串变址。★黑基空间★#a&K9vp4hS\{Hv$]

★黑基空间★/} J `!nq,fTwl)v

CX 重复次数计数器。

rd4@}$|7N Y0★黑基空间★U:Jg3cgT1Sv z

AL/AX 扫描值。

cE t7D/~ D Q0

C6U;Qcl.\X0D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量。

6VK+x1K;tm0★黑基空间★RNC"x~6z S%I

Z标志 用来控制扫描或比较操作的结束。★黑基空间★:y;u8f3T4dK/}hL0{n

3Q!KNQ:kN0MOVS 串传送。★黑基空间★-z,U\U(K`fuGSO

★黑基空间★ f-stE,Vo#GN

(MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字.)★黑基空间★m[X,oW

★黑基空间★!`2T Wv nke Q

CMPS 串比较。★黑基空间★6m%[f I`

)raf9k Yl?J&D0(CMPSB 比较字符. CMPSW 比较字.)★黑基空间★ C'Pp'g*HB7PNjN

★黑基空间★%pu-@&h C;q

SCAS 串扫描。

D H@ @ Z yc0★黑基空间★CF^.i#ua&utf$r'V

把AL或AX的内容与目标串作比较,比较结果反映在标志位。

9I)QP@8^0★黑基空间★;A%Xb#LY-rc

LODS 装入串。★黑基空间★5h-u{"O I.hJ

8Q e/Pt(L9`0把源串中的元素(字或字节)逐一装入AL或AX中。★黑基空间★I9}:|^6KE d9Y

★黑基空间★9Hh.SR-Rpv

(LODSB 传送字符. LODSW 传送字. LODSD 传送双字.)

hjCK+uU)Y0

;l4Dn_$mYoi8oCs0STOS 保存串。

Iz"|'pI,Q})v0yY_0

4Aj0U;dGe8_0是LODS的逆过程。

JS|,CJ w._8V zr0★黑基空间★G*a&PX?2{v1}Od~w|

REP 当CX/ECX<>0时重复。

_9s,RM(]{oUEL&MH0★黑基空间★6L'g8@*`9z)v9j gX.O

REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX<>0时重复。★黑基空间★-d9_X(DV

0ch%y g{ o \!Bul9c2D0REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX<>0时重复。

L h4kz'h0

'_0j2^/~Acgjk3_c0REPC 当CF=1且CX/ECX<>0时重复。

?7M.P"QL CH0★黑基空间★;H|-w? t`\

REPNC 当CF=0且CX/ECX<>0时重复。★黑基空间★-d*r yf:l+f4O-|s,{

★黑基空间★&O+NJ n K9Y+s

五、程序转移指令

NH._!m"h2i+G,N0

r_fkd]+hE01>无条件转移指令 (长转移)

kq0\B"Z-a0★黑基空间★yqqHm

JMP 无条件转移指令

`;RR/s{:Y'^h0★黑基空间★ ]D)H~pb

CALL 过程调用

aIr-Y0A^0

,AH-V)HJtW9Nh0RET/RETF过程返回。

["u JQ(d7?.I7s4VP0★黑基空间★"iw3Fh8y5U

2>条件转移指令 (短转移,-128到+127的距离内)★黑基空间★BN-[MB:ZH

★黑基空间★Iw#fQ2ZK

(当且仅当(SF XOR OF)=1时,OP1JA/JNBE 不小于或不等于时转移。★黑基空间★$r*b(O^KV

q @!gD&H7T1H@\3Mt0JAE/JNB 大于或等于转移。★黑基空间★?/g8n!w iF@

★黑基空间★;q"o@"Yl3W

JB/JNAE 小于转移。

"YKL!Z FN9X2\O,A0★黑基空间★Z DP U5}%S)`

JBE/JNA 小于或等于转移。★黑基空间★S8LAJ*y0NT

★黑基空间★$B dK#f:X"K-jV cQ

以上四条,测试无符号整数运算的结果(标志C和Z)。

1] M.rk F0★黑基空间★#pBjBk

JG/JNLE 大于转移。★黑基空间★ {7QUy~

Yf0Ez3KR.p0G.O0JGE/JNL 大于或等于转移。

Az$E5w.be'} [\M0★黑基空间★ v:^V W5A ecC3p

JL/JNGE 小于转移。

Tye?%kf"V0

P9_%W1a q?&\0JLE/JNG 小于或等于转移。★黑基空间★ B'jN^2D(|f

!Q` q"l[%jNNq0以上四条,测试带符号整数运算的结果(标志S,O和Z)。★黑基空间★G|e1Xf*T

H9Dh8^eC{M0JE/JZ 等于转移。

ua yNAe0

vT8k G"{+| xc#~0JNE/JNZ 不等于时转移。★黑基空间★R#LJ+L%@"Q

Kq~ |p2U(I3k0JC 有进位时转移。

b{IO,v-M5@+\9T0

bp.Wf7Z1v#V)uY7G0JNC 无进位时转移。

V\$I%{g4m)La| J0★黑基空间★B8vX"^R8p v;Z

JNO 不溢出时转移。

$`6]I3R}e:J ^Z0★黑基空间★%QQM{(D

JNP/JPO 奇偶性为奇数时转移。

Pr!w,C r4d0

gM&I'bM%X0JNS 符号位为“0”时转移。

}s1|Y7\j&QTx'W0

WtH_-W,_0JO 溢出转移。

+g7A{8fwfg-E0

a1l"H"?~0JP/JPE 奇偶性为偶数时转移。★黑基空间★ V\g/XlCAH-E8B

r#[c/s7m*a0JS 符号位为“1”时转移。

#VfB{6ha]0

g5?:ix[o03>循环控制指令(短转移)★黑基空间★JwX)S2t Y;n7Y

c N]L ZFd4O0LOOP CX不为零时循环。

2Os+HR)\T-u!M0

i$U6`6SN$g&F0LOOPE/LOOPZ CX不为零且标志Z=1时循环。

0y)@?@{#_)B/M0★黑基空间★k} l{T F.rTWL

LOOPNE/LOOPNZ CX不为零且标志Z=0时循环。★黑基空间★(F&p0nw+O

:J;A7]&^(FMQ i0JCXZ CX为零时转移。★黑基空间★6]:f,d&\7Ia{ ViF

9Yu6ne~&_ph j`0JECXZ ECX为零时转移。★黑基空间★*K&E g%VP6w i

V%Unv Zk04>中断指令★黑基空间★j0LDR(C:un

★黑基空间★OL.g,I:z

INT 中断指令

&g$q)FX2O*K0★黑基空间★,Vf.VS/v0r Hy g

INTO 溢出中断★黑基空间★8U;cz'],Z#s|

★黑基空间★8{Ja*QBL,JF

IRET 中断返回★黑基空间★!GO|] cb\7gwF

L"rlG}G)_R05>处理器控制指令★黑基空间★)Aa7QkRq#~Z

★黑基空间★#h?)z5g \)D4k5VS

HLT 处理器暂停, 直到出现中断或复位信号才继续。

_"us(hO0★黑基空间★9p;N#a-@f,Vb$jH

WAIT 当芯片引线TEST为高电平时使CPU进入等待状态。★黑基空间★4W8A ]:i ?e*NQ2Ux

★黑基空间★0MPG[x6I5n

ESC 转换到外处理器。★黑基空间★c V7LIE8h0g8p#O

3_nL1K|/k"mm$l;W0LOCK 封锁总线。

9l"S MRW3H[0

4X G8d%Y p9O sr$[]5b0NOP 空操作。★黑基空间★`K xi-z_.u#rB8`

$wy$@WS ^^M0STC 置进位标志位。★黑基空间★6cfX h cH P _

cCa7HIej0CLC 清进位标志位。

l3e[ hc r$o1]0★黑基空间★\ |8s;aZh

CMC 进位标志取反。

fUwE qC_$O^#C0

i ]]3^B o_y0STD 置方向标志位。

I @|1u"a+b9\D?0

F:SP d[n Uzx0CLD 清方向标志位。★黑基空间★2[.Vf6|._#CH

S2s.d$vS)W {v'T0STI 置中断允许位。★黑基空间★;~&\ @,I-}A

★黑基空间★BOTF g*t:i&G_$a-k

CLI 清中断允许位。

fGh4|I:ul b.fx0

rSC#t)IS,\7G0六、伪指令★黑基空间★3pu9i'Kv3I1I|-@\w%b:G

*[z0\l0yWN&_0DW 定义字(2字节)。★黑基空间★,{&^ Z!|,t9v:I`+j

)qq*p"H1[o2A@!n0PROC 定义过程。★黑基空间★,iE2s.s]!N|p)t

vQ.\ P(FnPG%p[;orp0ENDP 过程结束。

m"k0?7{{ Q0★黑基空间★,Ff)F1r6['O

SEGMENT 定义段。

-l}5Y-hbuq*@0★黑基空间★.Nv1QW\ k t

ASSUME 建立段寄存器寻址。★黑基空间★ E.E-@J5G

★黑基空间★v"Y7cw0S)f+O

ENDS 段结束。

\m3h6C],m0

0M+^C(F$x _3H0END 程序结束。★黑基空间★sn{gO

O;k{)FE%cZ0★黑基空间★(RF~+^G0bN
 

N*lr%IMK5|Y's0

TAG: 免杀 破解 免杀破解

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-18  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 260
  • 日志数: 3
  • 建立时间: 2007-04-17
  • 更新时间: 2007-05-09

RSS订阅

Open Toolbar