關於在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