关于在DOS下可执行文件中装入或执行一些程序
--------------------------------------------------------
今天给大家讲讲一些初级的DOS汇编吧,一些网友问我怎么在可执行文件
中再装入或执行一些程序,也就是怎么拦截DOS的下程序再装入或执行一些可
执行文件。
AsmBoy[BCG]
Mail:asmboy@263.net
QQ:384772
难度级别:初级:)
所需工具:
TR 2.52
汇编知识
其实在DOS下拦一些程序是否再次装入或执行一些文件,一般情况下都是用到
DOS 21中断的4B功能。下面我先讲讲21中断4B的一些用法。
中断21H
功能调用号4BH
AL=指出程序是否仅装入内存或程序装入后且执行,0为装入后并执行,1为装入后不执行
DS:DX 指向包括要装入或执行的驱动器、路径和程序文件名
ES:BX 指向程序执行的参数区
下面我们来看一个实列
启动TR 并装入要拦断的可执行文件
下断点bpint 21 AX=4B00 用G执行程序,被断下
MOV [CS:0F35],BX ;2A4B:1966
2E891E350F
MOV BX,0F29 ;2A4B:196B
BB290F ;BX为程序执行的参数区
MOV DX,158A ;2A4B:196E
BA8A15 ;DX为要执行程序的路径和文件名
MOV AX,4B00 ;2A4B:1971
B8004B ;AH=4B00指装入程序后且执行
MOV [CS:16DE],SP ;2A4B:1974
2E8926DE16
MOV [CS:16E0],SS ;2A4B:1979
2E8C16E016
CLI
;2A4B:197E FA
MOV SP,CS
;2A4B:197F 8CCC
MOV SS,SP
;2A4B:1981 8ED4
MOV SP,18F2 ;2A4B:1983
BCF218
STI
;2A4B:1986 FB
INT 21
;2A4B:1987 CD21 ;开始装载和执行程序
MOV [BYTE CS:15DC],00 ;2A4B:1989 2EC606DC1500
JAE 1995
;2A4B:198F 7304 ; 看装载或执行是否成功
MOV [CS:15DC],AL ;2A4B:1991
2EA2DC15
CLI
;2A4B:1995 FA
MOV SP,CS
;2A4B:1996 8CCC
MOV SS,SP
;2A4B:1998 8ED4
MOV SP,18F2 ;2A4B:199A
BCF218
STI
;2A4B:199D FB
如果有什么不懂可以问我,帮助别人是我最大的快乐,所谓助人为快乐之本!:)
Crack by AsmBoy[BCG]
Mail:asmboy@263.net QQ:384772
- 标 题:关于在DOS下可执行文件中装入或执行一些程序 (2千字)
- 作 者:asmboy[BCG]
- 时 间:2001-10-25 10:18:21
- 链 接:http://bbs.pediy.com