WOW.ASM 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. .Model Huge
  2. .386
  3. .Stack 100h
  4. .Code
  5. mov ax,cs
  6. mov ds,ax
  7. mov es,ax
  8. mov ax,3d02h
  9. mov dx,offset cs:fname ; DX=*FileName
  10. int 21h ; DOS/FileOpen
  11. jc errorlbl ; Jump On Errors
  12. mov word ptr [offset cs:fname],ax ; BX=Handle
  13. mov bx,ax
  14. mov ax,4200h
  15. xor cx,cx ; Segment
  16. mov dx,36dfh ; Offset
  17. int 21h ; DOS/FileSeekSet
  18. jc errorlbl ; Error !
  19. mov ax,4000h
  20. mov bx,word ptr [offset fname] ; BX=Handle
  21. mov cx,1 ; Lenght
  22. mov dx,offset patch1 ; Buffer
  23. int 21h ; DOS/WriteFile
  24. jc errorlbl
  25. mov ax,4200h
  26. xor cx,cx ; Segment
  27. mov dx,0E31Ah ; Offset
  28. int 21h ; DOS/FileSeekSet
  29. jc errorlbl ; Error !
  30. mov ax,4000h
  31. mov bx,word ptr [offset fname] ; BX=Handle
  32. mov cx,1 ; Lenght
  33. mov dx,offset patch2 ; Buffer
  34. int 21h ; DOS/WriteFile
  35. jc errorlbl
  36. mov ax,3e00h
  37. mov bx,word ptr [offset fname] ; BX=Handle
  38. int 21h ; DOS/CloseFile
  39. jc errorlbl
  40. mov dx,offset cs:text2
  41. jmp getout
  42. errorlbl:
  43. mov dx,offset cs:text1 ; Print
  44. getout: mov ah,9
  45. int 21h
  46. mov ah,4ch ; Get Out Of Here !
  47. int 21h
  48. patch2 db 084H; MOV EAX,00000001 - NOP
  49. patch1 db 074H; MOV EAX,00000001 - NOP
  50. fname db 'dsp_wt.dll',0
  51. text1 db 0ah,0dh,'Error Handling File'
  52. text2 db 0ah,0dh,'Patch By Rod',0ah,0dh,'$'
  53. end;