.model small .stack 100h .data patch db 75h filename db "test.exe", 00h ; file-name must be terminated with 0 fhandle dw ? error db "File Not Found", 0Dh, 0Ah, '$' success db "Ok, patched", 0Dh, 0Ah, '$' .code main proc mov ax, @data mov ds, ax mov ax, 3D02h ; open file lea dx, filename int 21h jc E1 L1: mov bx, ax ; save file handle mov ax, 4200h ; set file pointer mov cx, 0 ; segment mov dx, 0213h ; offset int 21h mov ah, 40h ; write file mov cx, 1 ; number of bytes to write mov dx, offset patch ; offset int 21h jmp L2 E1: mov ah, 09h ; file open failure lea dx, error int 21h mov ax, 4C01h ; exit with error int 21h L2: mov ah, 3Eh ; close file int 21h mov ah, 09h lea dx, success int 21h mov ax, 4C00h ; exit with success int 21h main endp end main
댓글 없음:
댓글 쓰기