-g=100 ;执行 ^C
T}i'
^C
T}i'
AX=0050 BX=0300 CX=0001 DX=0080 SP=FFEE BP=0000 SI=0000 DI=0000 DS=126C ES=126C ^C
T}i'
SS=126C CS=126C IP=010E NV UP EI PL NZ NA PO NC ^C
T}i'
^C
T}i'
这里用了I/O中断13,涉及的寄存器含义为ah,操作方式,02H为读,03H为写,al送扇区数,bx送准备装入扇区的内存偏移地址,cx送从哪一道哪一扇区开始,我们一般依靠改换CX来读写不同逻辑盘某个逻辑扇区。dx送盘符和头数INT 3是断点中断,使程序运行到此停止。 ^C
T}i'
^C
T}i'
② ^C
T}i'
显示引导区内容:我们把扇区读到某个内存地址并不是目的。而是为了看到他的内容,在DEBUG中D命令可以方便的查看内存单元的内容。续前例,如果我们要看到主引导区的内容的话,既然装载到300。-d300 l200就可以查看了,一个引导区的映象类似如下,可以直观的看 ^C
T}i'
到我们前面所提到的代码区和数据区。是否正常请大家自行分析一下 ^C
T}i'
^C
T}i'
126C:0300 33 C0 8E D0 BC 00 7C FB-50 07 50 1F FC BE 1B 7C 3.....|.P.P....| ^C
T}i'
^C
T}i'
126C:0310 BF 1B 06 50 57 B9 E5 01-F3 A4 CB BE BE 07 B1 04 ...PW........... ^C
T}i'
^C
T}i'
126C:0320 38 2C 7C 09 75 15 83 C6-10 E2 F5 CD 18 8B 14 8B 8,|.u........... ^C
T}i'
^C
T}i'
126C:0330 EE 83 C6 10 49 74 16 38-2C 74 F6 BE 10 07 4E AC ....It.8,t....N. ^C
T}i'
^C
T}i'
126C:0340 3C 00 74 FA BB 07 00 B4-0E CD 10 EB F2 89 46 25 <.t...........F% ^C
T}i'
^C
T}i'
126C:0350 96 8A 46 04 B4 06 3C 0E-74 11 B4 0B 3C 0C 74 05 ^C
T}i'
..F...<.t...<.t. ^C
T}i'
^C
T}i'
126C:0360 3A C4 75 2B 40 C6 46 25-06 75 24 BB AA 55 50 B4 :.u+@.F%.u$..UP. ^C
T}i'
^C
T}i'
126C:0370 41 CD 13 58 72 16 81 FB-55 AA 75 10 F6 C1 01 74 A..Xr...U.u....t ^C
T}i'
^C
T}i'
126C:0380 0B 8A E0 88 56 24 C7 06-A1 06 EB 1E 88 66 04 BF ....V$.......f.. ^C
T}i'
^C
T}i'
126C:0390 0A 00 B8 01 02 8B DC 33-C9 83 FF 05 7F 03 8B 4E .......3.......N ^C
T}i'
^C
T}i'
126C:03A0 25 03 4E 02 CD 13 72 29-BE 46 07 81 3E FE 7D 55 %.N...r).F..>.}U ^C
T}i'
^C
T}i'
126C:03B0 AA 74 5A 83 EF 05 7F DA-85 F6 75 83 BE 27 07 EB .tZ.......u..'.. ^C
T}i'
^C
T}i'
126C:03C0 8A 98 91 52 99 03 46 08-13 56 0A E8 12 00 5A EB ...R..F..V....Z. ^C
T}i'
^C
T}i'
126C:03D0 D5 4F 74 E4 33 C0 CD 13-EB B8 00 00 00 00 00 00 .Ot.3........... ^C
T}i'
^C
T}i'
126C:03E0 56 33 F6 56 56 52 50 06-53 51 BE 10 00 56 8B F4 V3.VVRP.SQ...V.. ^C
T}i'
^C
T}i'
126C:03F0 50 52 B8 00 42 8A 56 24-CD 13 5A 58 8D 64 10 72 PR..B.V$..ZX.d.r ^C
T}i'
^C
T}i'
126C:0400 0A 40 75 01 42 80 C7 02-E2 F7 F8 5E C3 EB 74 49 .@u.B......^..tI ^C
T}i'
^C
T}i'
126C:0410 6E 76 61 6C 69 64 20 70-61 72 74 69 74 69 6F 6E nvalid partition ^C
T}i'
^C
T}i'
126C:0420 20 74 61 62 6C 65 00 45-72 72 6F 72 20 6C 6F 61 table.Error loa ^C
T}i'
^C
T}i'
126C:0430 64 69 6E 67 20 6F 70 65-72 61 74 69 6E 67 20 73 ding operating s ^C
T}i'
^C
T}i'
126C:0440 79 73 74 65 6D 00 4D 69-73 73 69 6E 67 20 6F 70 ystem.Missing op ^C
T}i'
^C
T}i'
126C:0450 65 72 61 74 69 6E 67 20-73 79 73 74 65 6D 00 00 erating system.. ^C
T}i'
^C
T}i'
126C:0460 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ ^C
T}i'
^C
T}i'
126C:0470 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ ^C
T}i'
^C
T}i'
126C:0480 00 00 00 8B FC 1E 57 8B-F5 CB 00 00 00 00 00 00 ......W......... ^C
T}i'
^C
T}i'
126C:0490 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ ^C
T}i'
^C
T}i'
126C:04A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ ^C
T}i'
^C
T}i'
126C:04B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 ................ ^C
T}i'
^C
T}i'
126C:04C0 01 00 0B FE BF FC 3F 00-00 00 7E 86 BB 00 00 00 ......?...~..... ^C
T}i'
^C
T}i'
126C:04D0 81 FD 0F FE FF FF BD 86-BB 00 E0 A9 75 00 00 00 ............u... ^C
T}i'
^C
T}i'
126C:04E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ ^C
T}i'
^C
T}i'
126C:04F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.③ ^C
T}i'
反汇编主引导区内容:判定MBR的代码区是否正常,对于数据区的基本情况,我们可以通过直观观察得出,但对于存在引导型病毒,或者引导区出现异常代码的情况,我们可能需要分析MBR中代码区的指令。这一般要对已经读入内存的引导区进行反汇编。反汇编用指令U,续前例: ^C
T}i'
^C
T}i'
-u300 l15D ;反汇编主引导扇区代码区内容 ^C
T}i'
^C
T}i'
126C:0300 33C0 XOR AX,AX ^C
T}i'
^C
T}i'
126C:0302 8ED0 MOV SS,AX ^C
T}i'
^C
T}i'
………… ^C
T}i'
^C
T}i'
126C:045C 65 DB 65 ^C
T}i'
^C
T}i'
^C
T}i'
^C
T}i'