關於在DOS下可執行檔案中裝入或執行一些程式 (2千字)

看雪資料發表於2001-10-25

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

相關文章