Chương trình cài đặt password cho Windows bằng cách viết thêm code vào . Version này còn đơn giản vì ta chỉ cài pass 1 cách cố định, nếu muốn đổi pass ta phải dịch lại. Bạn có thể viết thêm phần đổi pass | Viết Password cho Windows : trang này đã được đọc lần ;Chương trình cài đặt password cho Windows bằng cách viết thêm code vào . ;Version này còn đơn giản vì ta chỉ cài pass 1 cách cố định, nếu muốn đổi pass ta phải ;dịch lại. Bạn có thể viết thêm phần đổi pass ;Bắt đầu .model tiny .code org 100h open_file: mov ax, 3D02h ; AL=2 doc/ghi lea dx,filename int 21h mov handle,ax clear_attrib: mov ax, 4301h xor cx, cx ; xoa het moi thuoc tinh lea dx,filename int 21h save_3_bytes: mov ax, 4200h ; 00=dua con tro mov bx,handle ; ve dau file xor cx, cx xor dx, dx int 21h mov ah, 3Fh ;Doc 3 byte mov cx, 3 lea dx, _3_bytes int 21h goto_eof: mov ax, 4202h ; 02=Cuoi file mov bx,handle xor cx, cx ; Do doi la 0 xor dx, dx int 21h ; ax = dung luong file save_jmp_displacement: sub ax, 3 mov [jmp_disp], ax write_code: mov ah, 40h mov cx, virus_length lea dx,mywork int 21h goto_bof: mov ax, 4200h xor cx, cx xor dx, dx int 21h write_jmp: ; Viet lenh nhay mov ah, 40h mov cx, 3 ; Den Virus lea dx, jmp_code int 21h close_file: mov ah, 3eh int 21h jmp exit mywork: call next next: pop bp sub bp,offset next next1: mov ax,0600h ;Xoa ca man hinh xor cx,cx ;Goc trai (0,0) mov dx,184fh ;Goc phai (18h,4fh) mov bh,1 ;Nen den chu xanh int 10h mov ax,0600h mov cx,0c32h mov dx,0c37h mov bh,68 int 10h mov ah,02h ;Ham dat vi tri con tro xor bh,bh ;trang 0 mov dx,0c20h ;(0ch,20h) int 10h mov ah,9 ;Hien thi chuoi lea dx,[bp+mes] int 21h mov ah,0ah ;Nhap chuoi lea dx,[bp+buf] int 21h lea di,[bp+check] ;Chep chuoi buf vao check lea si,[bp+buf] add si,2 ;Vi tri that su cua chuoi cld mov cx,4 rep movsb lea di,[bp+check] ;So sanh 2 chuoi lea si,[bp+pass] cmpsb cmpsb cmpsb cmpsb jne b1 restore_3_bytes: ; in memory lea si,[bp+ _3_bytes] mov di, 100h cld ; auto-inc si, di mov cx, 3 rep movsb mov di, 100h ; tra dieu khien ve chuong trinh jmp di b1: mov bx,bp lea dx,next1 add bx,dx jmp bx mes db Nhap vao mat khau:$ check db 4 dup (0),$ buf db 5,5 dup (0) _3_bytes db 0, 0, 0 pass db kham virend: virus_length equ offset virend - offset mywork exit: mov ax, 4c00h int 21h ;-------- Variable Declarations -------- filename db c: jmp_code db 0E9h jmp_disp dw 0 handle dw 0 end open_file ;Kết thúc ;Nếu không muốn cài pass nữa chỉ cần chép đè file khác lên. ;Nên trước khi chạy chương trình bạn nên lưu lại file để sau này còn dùng. ;Cuối cùng, tuy cách vô hiệu hoá chương trình này thật đơn giản, nhưng tôi không nói ;bạn không nói thìcó trời mới biết !!! ;#Ghi chú (dành cho những bạn chưa từng biết Assembly) ;Mở một chương trình soạn thảo văn bản (như notepad), copy phần giữa "Bắt đầu" và "Kết thúc" ;save lại với format *.asm, dùng tasm hay masm để dịch ra file .com ---->chạy file đó.