การใช้โปรแกรมดีบัก (Debug program)
|
ปรับปรุง : 2562-02-01 (ปรับ template) |
Digital logic | OS | คำสั่งดอส | Batch | Debug | Assembly | GWBasic | Docker | |
Download : Doxbox (DOSBox0.74-win32-installer.exe) z:\>mount d d:\ + Download: https://www.dosbox.com/download.php?main=1 + Download: https://www.facebook.com/groups/thaiebook/919026384914847/ Download : Debug.com unzip debugx.zip (152 KB) in d:\ z:\>d: d:\>debug.com + Download: https://sites.google.com/site/pcdosretro/enhdebug/DEBUGX.ZIP?attredirects=0 + Download: https://www.facebook.com/groups/thaiebook/919026258248193/ + Detail : http://thestarman.pcministry.com/asm/debug/debug.htm |
? คือการแสดงคำสั่งที่ใช้งานได้ของ debug |
C:\>debug -? assemble A [address] compare C range address dump D [range] enter E address [list] fill F range list go G [=address] [addresses] hex H value1 value2 input I port load L [address] [drive] [firstsector] [number] move M range address name N [pathname] [arglist] output O port byte proceed P [=address] [number] quit Q register R [register] search S range list trace T [=address] [value] unassemble U [range] write W [address] [drive] [firstsector] [number] allocate expanded memory XA [#pages] deallocate expanded memory XD [handle] map expanded memory pages XM [Lpage] [Ppage] [handle] display expanded memory status XS - |
? ดูข้อมูลใน Register |
C:\>debug -t AX=0000 BX=0000 CX=0000 DX=0011 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE8 ES=0AE8 SS=0AE8 CS=0AE8 IP=0102 NV UP EI PL NZ NA PO NC - |
EXAMPLE :: ตัวอย่างการใช้ SHL |
- SHL คือย้ายบิท เข้าไปทางซ้าย - DFFD = 1101 1111 1111 1101 - BFFA = 1011 1111 1111 1010 C:\>debug -a 100 0B24:0100 mov dx,dffd 0B24:0103 shl dx,1 0B24:0105 -r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=01B8 DS=0B24 ES=0B24 SS=0B24 CS=0B24 IP=0103 OV UP EI PL NZ NA PE CY 0B24:0103 D1E2 SHL DX,1 -t =cs:100 2 AX=0000 BX=0000 CX=0000 DX=DFFD SP=FFEE BP=0000 SI=0000 DI=01B8 DS=0B24 ES=0B24 SS=0B24 CS=0B24 IP=0103 OV UP EI PL NZ NA PE CY 0B24:0103 D1E2 SHL DX,1 AX=0000 BX=0000 CX=0000 DX=BFFA SP=FFEE BP=0000 SI=0000 DI=01B8 DS=0B24 ES=0B24 SS=0B24 CS=0B24 IP=0105 NV UP EI NG NZ NA PE CY 0B24:0105 D1E2 SHL DX,1 - |
โปรแกรมนี้แสดงการเขียน assembly ใน DOS และการสั่งประมวลผลด้วยคำสั่ง g การเขียนโปรแกรมนี้ได้ต้องเข้าใจว่า int 20 คืออะไร int 21 ใช้อย่างไร และ 41 คืออักษรอะไร และที่สำคัญต้องเข้าใจว่า debug มีคำสั่งอะไรให้ใช้บ้าง |
C:\>debug -a 106F:0100 mov ah,02 106F:0102 mov dl,41 106F:0104 int 21 106F:0106 int 20 106F:0108 -g A Program terminated normally - n x.com - rcx : 8 - w - q C:\>x A C:\> |
- รับอักษร ด้วยบริการ AH=8 แบบไม่แสดงผล - แสดงอักษร ด้วยบริการ AH=02 - ตัวอย่างนี้ผู้ทดสอบกด a หนึ่งครั้ง จะแสดงอักษร a มา 3 ครั้ง C:\>debug -n x.com -a 0AEA:0100 mov ah,08 0AEA:0102 int 21 0AEA:0104 mov dl,al 0AEA:0106 mov ah,02 0AEA:0108 int 21 0AEA:010A int 21 0AEA:010C int 21 0AEA:010E int 20 0AEA:0110 -rcx CX 0000 :10 -w Writing 00010 bytes -g aaa Program terminated normally - |
การ clear password ของ BIOS ถ้าเข้าในฐานะ Admin ไม่ได้ + http://www.wikihow.com/Break-a-BIOS-Password + http://www.go4expert.com/forums/showthread.php?t=114 + http://rahulhackingarticles.wetpaint.com/page/Clear+BIOS+Password,+All+tricks+!?t=anon Boot DOS by Windows98 and DOS>debug for : AWARD BIOS -o 70 2e -o 71 17 -q and reboot |
|
"Imagination is more important than knowledge" - Albert Einstein |