网络分析专家论坛 netexpert's Archiver

softice_debug 发表于 2006-12-11 21:41

windows2000的TCPIP处理程序及修改后对IP-MAC帮定

2000下 TCPIP.sys
98 下: VIP.386
是WINDOWS系统带的对 TCPIP协议进行处理的程序


很早的时候,为了一个东西,曾经修改过 VIP.386的对ARP协议部分的处理
使其收到不正确的IP对应的MAC时,强制把那个IP的MAC刷新成自己定义的MAC

正好看到论坛上很多ARP病毒的问题,今试着跟踪一下2000下的TCPIP对ARP的处理
程序,发现其实也是可以修改它的,对IP-MAC实行帮定。

思路及对应程序部分给出如下:
注意: 如果你对调试驱动程序不熟悉,建议不要去修改它.本文给出是一个方法.
本程序给出的地址都是我机器上的地址,在你的机器上未必正确,
不能保证在你的机器修改时,不会出问题的.
本程序前面是TCPIP包处理程序的总入口程序.你可以分析WINDOWS对其他TCPIP报文的
处理,如果有什么发现,希望能公布一下,让我们共享.


下面程序的开始部分在 TCPIP的CODE相对位置是 23A8A
:?tcpip+23a8a
==================TCPIP处理得到的数据包总入口部分====================================
0008:F61ADDCA  55                  PUSH      EBP
0008:F61ADDCB  8BEC                MOV       EBP,ESP
0008:F61ADDCD  53                  PUSH      EBX
0008:F61ADDCE  56                  PUSH      ESI
0008:F61ADDCF  8B7508              MOV       ESI,[EBP+08]
0008:F61ADDD2  57                  PUSH      EDI
0008:F61ADDD3  807E7B00            CMP       BYTE PTR [ESI+7B],00
0008:F61ADDD7  0F8590010000        JNZ       F61ADF6D
0008:F61ADDDD  0FB68680000000      MOVZX     EAX,BYTE PTR [ESI+00000080]
0008:F61ADDE4  394514              CMP       [EBP+14],EAX
0008:F61ADDE7  0F8280010000        JB        F61ADF6D
0008:F61ADDED  8B4520              MOV       EAX,[EBP+20]
0008:F61ADDF0  8B4D10              MOV       ECX,[EBP+10]
0008:F61ADDF3  014658              ADD       [ESI+58],EAX
0008:F61ADDF6  0FB6467F            MOVZX     EAX,BYTE PTR [ESI+7F]
0008:F61ADDFA  8A0408              MOV       AL,[ECX+EAX]  ;此处是
0008:F61ADDFD  22467D              AND       AL,[ESI+7D]   ;为了比较
0008:F61ADE00  2A467E              SUB       AL,[ESI+7E]   ;是否是广播
0008:F61ADE03  F6D8                NEG       AL            ;地址,或其他
0008:F61ADE05  1BC0                SBB       EAX,EAX       ;特殊地址的包
0008:F61ADE07  33D2                XOR       EDX,EDX
0008:F61ADE09  40                  INC       EAX
0008:F61ADE0A  39966C010000        CMP       [ESI+0000016C],EDX
0008:F61ADE10  894508              MOV       [EBP+08],EAX
0008:F61ADE13  746C                JZ        F61ADE81
0008:F61ADE15  3BC2                CMP       EAX,EDX
0008:F61ADE17  7568                JNZ       F61ADE81
0008:F61ADE19  8B4614              MOV       EAX,[ESI+14]
0008:F61ADE1C  2BC2                SUB       EAX,EDX
0008:F61ADE1E  743F                JZ        F61ADE5F
0008:F61ADE20  48                  DEC       EAX
0008:F61ADE21  742B                JZ        F61ADE4E
0008:F61ADE23  48                  DEC       EAX
0008:F61ADE24  7419                JZ        F61ADE3F
0008:F61ADE26  83E805              SUB       EAX,05
0008:F61ADE29  0F843E010000        JZ        F61ADF6D
0008:F61ADE2F  FF8630010000        INC       DWORD PTR [ESI+00000130]
0008:F61ADE35  B8190001C0          MOV       EAX,C0010019
0008:F61ADE3A  E933010000          JMP       F61ADF72
0008:F61ADE3F  807E7C06            CMP       BYTE PTR [ESI+7C],06
0008:F61ADE43  7535                JNZ       F61ADE7A
0008:F61ADE45  8D4674              LEA       EAX,[ESI+74]
0008:F61ADE48  6A06                PUSH      06
0008:F61ADE4A  50                  PUSH      EAX
0008:F61ADE4B  41                  INC       ECX
0008:F61ADE4C  EB1D                JMP       F61ADE6B
0008:F61ADE4E  807E7C06            CMP       BYTE PTR [ESI+7C],06
0008:F61ADE52  7526                JNZ       F61ADE7A
0008:F61ADE54  8D4674              LEA       EAX,[ESI+74]
0008:F61ADE57  6A06                PUSH      06
0008:F61ADE59  50                  PUSH      EAX
0008:F61ADE5A  83C102              ADD       ECX,02
0008:F61ADE5D  EB0C                JMP       F61ADE6B
0008:F61ADE5F  807E7C06            CMP       BYTE PTR [ESI+7C],06
0008:F61ADE63  7515                JNZ       F61ADE7A
0008:F61ADE65  8D4674              LEA       EAX,[ESI+74]
0008:F61ADE68  6A06                PUSH      06
0008:F61ADE6A  50                  PUSH      EAX
0008:F61ADE6B  51                  PUSH      ECX
0008:F61ADE6C  FF15141D1CF6        CALL      [ntoskrnl!RtlCompareMemory]
0008:F61ADE72  8B4D10              MOV       ECX,[EBP+10]
0008:F61ADE75  83F806              CMP       EAX,06
0008:F61ADE78  7407                JZ        F61ADE81
0008:F61ADE7A  C7450802000000      MOV       DWORD PTR [EBP+08],00000002
0008:F61ADE81  8B7E14              MOV       EDI,[ESI+14]
0008:F61ADE84  8B5D1C              MOV       EBX,[EBP+1C]
0008:F61ADE87  85FF                TEST      EDI,EDI
0008:F61ADE89  7516                JNZ       F61ADEA1
0008:F61ADE8B  668B410C            MOV       AX,[ECX+0C]
0008:F61ADE8F  33D2                XOR       EDX,EDX
0008:F61ADE91  8AD4                MOV       DL,AH
0008:F61ADE93  8AF0                MOV       DH,AL
0008:F61ADE95  8BC2                MOV       EAX,EDX
0008:F61ADE97  663D0006            CMP       AX,0600
0008:F61ADE9B  7204                JB        F61ADEA1
0008:F61ADE9D  33FF                XOR       EDI,EDI
0008:F61ADE9F  EB5B                JMP       F61ADEFC
0008:F61ADEA1  83FF07              CMP       EDI,07
0008:F61ADEA4  7439                JZ        F61ADEDF
0008:F61ADEA6  6A08                PUSH      08
0008:F61ADEA8  5F                  POP       EDI
0008:F61ADEA9  3BDF                CMP       EBX,EDI
0008:F61ADEAB  0F82B6000000        JB        F61ADF67
0008:F61ADEB1  8B4518              MOV       EAX,[EBP+18]
0008:F61ADEB4  8038AA              CMP       BYTE PTR [EAX],AA
0008:F61ADEB7  0F85AA000000        JNZ       F61ADF67
0008:F61ADEBD  807801AA            CMP       BYTE PTR [EAX+01],AA
0008:F61ADEC1  0F85A0000000        JNZ       F61ADF67
0008:F61ADEC7  80780203            CMP       BYTE PTR [EAX+02],03
0008:F61ADECB  0F8596000000        JNZ       F61ADF67
0008:F61ADED1  668B4006            MOV       AX,[EAX+06]
0008:F61ADED5  33D2                XOR       EDX,EDX
0008:F61ADED7  8AF0                MOV       DH,AL
0008:F61ADED9  8AD4                MOV       DL,AH
0008:F61ADEDB  8BC2                MOV       EAX,EDX
0008:F61ADEDD  EB1D                JMP       F61ADEFC
0008:F61ADEDF  8A4102              MOV       AL,[ECX+02]
0008:F61ADEE2  33FF                XOR       EDI,EDI
0008:F61ADEE4  3CD4                CMP       AL,D4
0008:F61ADEE6  7507                JNZ       F61ADEEF
0008:F61ADEE8  B800080000          MOV       EAX,00000800
0008:F61ADEED  EB0D                JMP       F61ADEFC
0008:F61ADEEF  3CD5                CMP       AL,D5
0008:F61ADEF1  7507                JNZ       F61ADEFA
0008:F61ADEF3  B806080000          MOV       EAX,00000806
0008:F61ADEF8  EB02                JMP       F61ADEFC
0008:F61ADEFA  33C0                XOR       EAX,EAX
0008:F61ADEFC  663D0008            CMP       AX,0800 ------>是否是IP包
0008:F61ADF00  753E                JNZ       F61ADF40
0008:F61ADF02  8B4508              MOV       EAX,[EBP+08]
0008:F61ADF05  FF44865C            INC       DWORD PTR [EAX*4+ESI+5C]
0008:F61ADF09  8D44865C            LEA       EAX,[EAX*4+ESI+5C]
0008:F61ADF0D  FF15241B1CF6        CALL      [HAL!KeGetCurrentIrql]
0008:F61ADF13  6A00                PUSH      00
0008:F61ADF15  8B4520              MOV       EAX,[EBP+20]
0008:F61ADF18  FF7528              PUSH      DWORD PTR [EBP+28]
0008:F61ADF1B  2BC7                SUB       EAX,EDI
0008:F61ADF1D  2BDF                SUB       EBX,EDI
0008:F61ADF1F  FF7524              PUSH      DWORD PTR [EBP+24]
0008:F61ADF22  FF7514              PUSH      DWORD PTR [EBP+14]
0008:F61ADF25  FF7508              PUSH      DWORD PTR [EBP+08]
0008:F61ADF28  57                  PUSH      EDI
0008:F61ADF29  FF750C              PUSH      DWORD PTR [EBP+0C]
0008:F61ADF2C  50                  PUSH      EAX
0008:F61ADF2D  8B4518              MOV       EAX,[EBP+18]
0008:F61ADF30  03F8                ADD       EDI,EAX
0008:F61ADF32  53                  PUSH      EBX
0008:F61ADF33  57                  PUSH      EDI
0008:F61ADF34  FF7608              PUSH      DWORD PTR [ESI+08]
0008:F61ADF37  E8342D0000          CALL      F61B0C70
0008:F61ADF3C  33C0                XOR       EAX,EAX
0008:F61ADF3E  EB32                JMP       F61ADF72
0008:F61ADF40  663D0608            CMP       AX,0806------->是否是ARP包
0008:F61ADF44  7521                JNZ       F61ADF67
0008:F61ADF46  8B4508              MOV       EAX,[EBP+08]
0008:F61ADF49  57                  PUSH      EDI
0008:F61ADF4A  2BDF                SUB       EBX,EDI
0008:F61ADF4C  FF44865C            INC       DWORD PTR [EAX*4+ESI+5C]
0008:F61ADF50  8D44865C            LEA       EAX,[EAX*4+ESI+5C]
0008:F61ADF54  8B4518              MOV       EAX,[EBP+18]
0008:F61ADF57  53                  PUSH      EBX
0008:F61ADF58  03F8                ADD       EDI,EAX
0008:F61ADF5A  57                  PUSH      EDI
0008:F61ADF5B  FF7514              PUSH      DWORD PTR [EBP+14]
0008:F61ADF5E  51                  PUSH      ECX
0008:F61ADF5F  56                  PUSH      ESI
0008:F61ADF60  E80D92FEFF          CALL      F6197172
0008:F61ADF65  EB0B                JMP       F61ADF72
0008:F61ADF67  FF8628010000        INC       DWORD PTR [ESI+00000128]
0008:F61ADF6D  B801000100          MOV       EAX,00010001
0008:F61ADF72  5F                  POP       EDI
0008:F61ADF73  5E                  POP       ESI
0008:F61ADF74  5B                  POP       EBX
0008:F61ADF75  5D                  POP       EBP
0008:F61ADF76  C22400              RET       0024


=====以下子程序处理得到的ARP包,修改其中的一处即可对付ARP包对MAC地址的刷新===========
0008:F6197172  55                  PUSH      EBP
0008:F6197173  8BEC                MOV       EBP,ESP
0008:F6197175  83EC20              SUB       ESP,20
0008:F6197178  53                  PUSH      EBX
0008:F6197179  56                  PUSH      ESI
0008:F619717A  33F6                XOR       ESI,ESI
0008:F619717C  57                  PUSH      EDI
0008:F619717D  8975EC              MOV       [EBP-14],ESI
0008:F6197180  8975F0              MOV       [EBP-10],ESI
0008:F6197183  E876AEFFFF          CALL      F6191FFE
0008:F6197188  8B7D08              MOV       EDI,[EBP+08]
0008:F619718B  8945F8              MOV       [EBP-08],EAX
0008:F619718E  8B4714              MOV       EAX,[EDI+14]
0008:F6197191  83F807              CMP       EAX,07
0008:F6197194  7476                JZ        F619720C
0008:F6197196  837D181C            CMP       DWORD PTR [EBP+18],1C
0008:F619719A  0F82D9020000        JB        F6197479
0008:F61971A0  8B5D14              MOV       EBX,[EBP+14]
0008:F61971A3  668B0B              MOV       CX,[EBX]
0008:F61971A6  6681F90001          CMP       CX,0100
0008:F61971AB  740B                JZ        F61971B8
0008:F61971AD  6681F90006          CMP       CX,0600
0008:F61971B2  0F85C1020000        JNZ       F6197479
0008:F61971B8  807B0406            CMP       BYTE PTR [EBX+04],06
0008:F61971BC  0F85B7020000        JNZ       F6197479
0008:F61971C2  3BC6                CMP       EAX,ESI
0008:F61971C4  750E                JNZ       F61971D4
0008:F61971C6  80BF8100000000      CMP       BYTE PTR [EDI+00000081],00
0008:F61971CD  7505                JNZ       F61971D4
0008:F61971CF  8975F4              MOV       [EBP-0C],ESI
0008:F61971D2  EB0B                JMP       F61971DF
0008:F61971D4  33C9                XOR       ECX,ECX
0008:F61971D6  39751C              CMP       [EBP+1C],ESI
0008:F61971D9  0F95C1              SETNZ     CL
0008:F61971DC  894DF4              MOV       [EBP-0C],ECX
0008:F61971DF  83F801              CMP       EAX,01
0008:F61971E2  7517                JNZ       F61971FB
0008:F61971E4  8B4510              MOV       EAX,[EBP+10]
0008:F61971E7  83C0F2              ADD       EAX,-0E
0008:F61971EA  83F802              CMP       EAX,02
0008:F61971ED  760C                JBE       F61971FB
0008:F61971EF  8945F0              MOV       [EBP-10],EAX
0008:F61971F2  8B450C              MOV       EAX,[EBP+0C]
0008:F61971F5  83C00E              ADD       EAX,0E
0008:F61971F8  8945EC              MOV       [EBP-14],EAX
0008:F61971FB  8D4308              LEA       EAX,[EBX+08]
0008:F61971FE  8D730E              LEA       ESI,[EBX+0E]
0008:F6197201  894510              MOV       [EBP+10],EAX
0008:F6197204  89750C              MOV       [EBP+0C],ESI
0008:F6197207  8D4318              LEA       EAX,[EBX+18]
0008:F619720A  EB33                JMP       F619723F
0008:F619720C  837D1812            CMP       DWORD PTR [EBP+18],12
0008:F6197210  0F8263020000        JB        F6197479
0008:F6197216  8B5D14              MOV       EBX,[EBP+14]
0008:F6197219  66813B0007          CMP       WORD PTR [EBX],0700
0008:F619721E  0F8555020000        JNZ       F6197479
0008:F6197224  807B0401            CMP       BYTE PTR [EBX+04],01
0008:F6197228  0F854B020000        JNZ       F6197479
0008:F619722E  8365F400            AND       DWORD PTR [EBP-0C],00
0008:F6197232  8D7308              LEA       ESI,[EBX+08]
0008:F6197235  897510              MOV       [EBP+10],ESI
0008:F6197238  46                  INC       ESI
0008:F6197239  89750C              MOV       [EBP+0C],ESI
0008:F619723C  8D4605              LEA       EAX,[ESI+05]
0008:F619723F  66837B0208          CMP       WORD PTR [EBX+02],08
0008:F6197244  8945E8              MOV       [EBP-18],EAX
0008:F6197247  0F852C020000        JNZ       F6197479
0008:F619724D  807B0504            CMP       BYTE PTR [EBX+05],04
0008:F6197251  0F8522020000        JNZ       F6197479
0008:F6197257  8B06                MOV       EAX,[ESI]
0008:F6197259  C7451804000000      MOV       DWORD PTR [EBP+18],00000004
0008:F6197260  85C0                TEST      EAX,EAX
0008:F6197262  740A                JZ        F619726E
0008:F6197264  50                  PUSH      EAX
0008:F6197265  57                  PUSH      EDI
0008:F6197266  E801060000          CALL      F619786C
0008:F619726B  894518              MOV       [EBP+18],EAX
0008:F619726E  837D1804            CMP       DWORD PTR [EBP+18],04
0008:F6197272  0F846C050000        JZ        F61977E4
0008:F6197278  8A477C              MOV       AL,[EDI+7C]
0008:F619727B  384304              CMP       [EBX+04],AL
0008:F619727E  751E                JNZ       F619729E
0008:F6197280  0FB6C0              MOVZX     EAX,AL
0008:F6197283  90                  NOP
0008:F6197284  50                  PUSH      EAX
0008:F6197285  8D4774              LEA       EAX,[EDI+74]
0008:F6197288  50                  PUSH      EAX
0008:F6197289  FF7510              PUSH      DWORD PTR [EBP+10]
0008:F619728C  FF15141D1CF6        CALL      [ntoskrnl!RtlCompareMemory]
0008:F6197292  0FB64F7C            MOVZX     ECX,BYTE PTR [EDI+7C]
0008:F6197296  3BC1                CMP       EAX,ECX
0008:F6197298  0F84DB010000        JZ        F6197479
0008:F619729E  837D1800            CMP       DWORD PTR [EBP+18],00
0008:F61972A2  0F840F010000        JZ        F61973B7
0008:F61972A8  66817B060002        CMP       WORD PTR [EBX+06],0200
0008:F61972AE  0F8503010000        JNZ       F61973B7
0008:F61972B4  8D4F20              LEA       ECX,[EDI+20]
0008:F61972B7  FF15201B1CF6        CALL      [HAL!KfAcquireSpinLock]
0008:F61972BD  8B0E                MOV       ECX,[ESI]
0008:F61972BF  8845FC              MOV       [EBP-04],AL
0008:F61972C2  8D4738              LEA       EAX,[EDI+38]
0008:F61972C5  394808              CMP       [EAX+08],ECX
0008:F61972C8  7408                JZ        F61972D2
0008:F61972CA  8B00                MOV       EAX,[EAX]
0008:F61972CC  85C0                TEST      EAX,EAX
0008:F61972CE  740C                JZ        F61972DC
0008:F61972D0  EBF3                JMP       F61972C5
0008:F61972D2  8B4810              MOV       ECX,[EAX+10]
0008:F61972D5  83601000            AND       DWORD PTR [EAX+10],00
0008:F61972D9  894D18              MOV       [EBP+18],ECX
0008:F61972DC  8A55FC              MOV       DL,[EBP-04]
0008:F61972DF  8D4F20              LEA       ECX,[EDI+20]
0008:F61972E2  FF15281B1CF6        CALL      [HAL!KfReleaseSpinLock]
0008:F61972E8  6A00                PUSH      00
0008:F61972EA  FF7510              PUSH      DWORD PTR [EBP+10]
0008:F61972ED  6A01                PUSH      01
0008:F61972EF  FF36                PUSH      DWORD PTR [ESI]
0008:F61972F1  57                  PUSH      EDI
0008:F61972F2  E83F0F0000          CALL      F6198236
0008:F61972F7  0FB64304            MOVZX     EAX,BYTE PTR [EBX+04]
0008:F61972FB  6A10                PUSH      10
0008:F61972FD  83C02C              ADD       EAX,2C
0008:F6197300  6854434931          PUSH      31494354
0008:F6197305  50                  PUSH      EAX
0008:F6197306  6A00                PUSH      00
0008:F6197308  C7451C01000000      MOV       DWORD PTR [EBP+1C],00000001
0008:F619730F  FF15F41D1CF6        CALL      [ntoskrnl!ExAllocatePoolWithTagPrio
0008:F6197315  85C0                TEST      EAX,EAX
0008:F6197317  894514              MOV       [EBP+14],EAX
0008:F619731A  745A                JZ        F6197376
0008:F619731C  8B450C              MOV       EAX,[EBP+0C]
0008:F619731F  8B7510              MOV       ESI,[EBP+10]
0008:F6197322  8B08                MOV       ECX,[EAX]
0008:F6197324  8B4514              MOV       EAX,[EBP+14]
0008:F6197327  894824              MOV       [EAX+24],ECX
0008:F619732A  C7402001000000      MOV       DWORD PTR [EAX+20],00000001
0008:F6197331  0FB64B04            MOVZX     ECX,BYTE PTR [EBX+04]
0008:F6197335  894828              MOV       [EAX+28],ECX
0008:F6197338  8D782C              LEA       EDI,[EAX+2C]
0008:F619733B  0FB64B04            MOVZX     ECX,BYTE PTR [EBX+04]
0008:F619733F  8BC1                MOV       EAX,ECX
0008:F6197341  C1E902              SHR       ECX,02
0008:F6197344  F3A5                REPZ MOVSD
0008:F6197346  8BC8                MOV       ECX,EAX
0008:F6197348  8B4518              MOV       EAX,[EBP+18]
0008:F619734B  83E103              AND       ECX,03
0008:F619734E  85C0                TEST      EAX,EAX
0008:F6197350  F3A4                REPZ MOVSB
0008:F6197352  7505                JNZ       F6197359
0008:F6197354  2045E8              AND       [EBP-18],AL
0008:F6197357  EB06                JMP       F619735F
0008:F6197359  8A400A              MOV       AL,[EAX+0A]
0008:F619735C  8845E8              MOV       [EBP-18],AL
0008:F619735F  FF75E8              PUSH      DWORD PTR [EBP-18]
0008:F6197362  FF7514              PUSH      DWORD PTR [EBP+14]
0008:F6197365  E84D680100          CALL      F61ADBB7
0008:F619736A  FF7514              PUSH      DWORD PTR [EBP+14]
0008:F619736D  FF150C1E1CF6        CALL      [ntoskrnl!ExFreePool]
0008:F6197373  8B750C              MOV       ESI,[EBP+0C]
0008:F6197376  6A10                PUSH      10
0008:F6197378  6854434932          PUSH      32494354
0008:F619737D  6A2C                PUSH      2C
0008:F619737F  6A00                PUSH      00
0008:F6197381  FF15F41D1CF6        CALL      [ntoskrnl!ExAllocatePoolWithTagPrio
0008:F6197387  8BF8                MOV       EDI,EAX
0008:F6197389  85FF                TEST      EDI,EDI
0008:F619738B  7424                JZ        F61973B1
0008:F619738D  8B4518              MOV       EAX,[EBP+18]
0008:F6197390  6862DB1AF6          PUSH      F61ADB62
0008:F6197395  894720              MOV       [EDI+20],EAX
0008:F6197398  8B06                MOV       EAX,[ESI]
0008:F619739A  57                  PUSH      EDI
0008:F619739B  894724              MOV       [EDI+24],EAX
0008:F619739E  C74728152B0000      MOV       DWORD PTR [EDI+28],00002B15
0008:F61973A5  E8E4190000          CALL      F6198D8E
0008:F61973AA  57                  PUSH      EDI
0008:F61973AB  57                  PUSH      EDI
0008:F61973AC  E8AFA20200          CALL      F61C1660
0008:F61973B1  837D1800            CMP       DWORD PTR [EBP+18],00
0008:F61973B5  EB3A                JMP       F61973F1
0008:F61973B7  66817B060001        CMP       WORD PTR [EBX+06],0100
0008:F61973BD  752E                JNZ       F61973ED
0008:F61973BF  8B45E8              MOV       EAX,[EBP-18]
0008:F61973C2  FF30                PUSH      DWORD PTR [EAX]
0008:F61973C4  57                  PUSH      EDI
0008:F61973C5  E8A2040000          CALL      F619786C
0008:F61973CA  85C0                TEST      EAX,EAX
0008:F61973CC  751F                JNZ       F61973ED
0008:F61973CE  FF75F4              PUSH      DWORD PTR [EBP-0C]
0008:F61973D1  8B45E8              MOV       EAX,[EBP-18]
0008:F61973D4  FF75F0              PUSH      DWORD PTR [EBP-10]
0008:F61973D7  FF75EC              PUSH      DWORD PTR [EBP-14]
0008:F61973DA  FF7510              PUSH      DWORD PTR [EBP+10]
0008:F61973DD  FF30                PUSH      DWORD PTR [EAX]
0008:F61973DF  FF36                PUSH      DWORD PTR [ESI]
0008:F61973E1  57                  PUSH      EDI
0008:F61973E2  E859720000          CALL      F619E640
0008:F61973E7  83651C00            AND       DWORD PTR [EBP+1C],00
0008:F61973EB  EB0A                JMP       F61973F7
0008:F61973ED  837D1800            CMP       DWORD PTR [EBP+18],00
0008:F61973F1  0F8582000000        JNZ       F6197479
0008:F61973F7  0FB64304            MOVZX     EAX,BYTE PTR [EBX+04]
0008:F61973FB  6A10                PUSH      10
0008:F61973FD  83C02C              ADD       EAX,2C
0008:F6197400  6854434933          PUSH      33494354
0008:F6197405  50                  PUSH      EAX
0008:F6197406  6A00                PUSH      00
0008:F6197408  FF15F41D1CF6        CALL      [ntoskrnl!ExAllocatePoolWithTagPrio
0008:F619740E  85C0                TEST      EAX,EAX
0008:F6197410  894514              MOV       [EBP+14],EAX
0008:F6197413  7464                JZ        F6197479
0008:F6197415  8B450C              MOV       EAX,[EBP+0C]
0008:F6197418  8B7510              MOV       ESI,[EBP+10]
0008:F619741B  68B2B41CF6          PUSH      F61CB4B2
0008:F6197420  8B08                MOV       ECX,[EAX]
0008:F6197422  8B4514              MOV       EAX,[EBP+14]
0008:F6197425  50                  PUSH      EAX
0008:F6197426  894824              MOV       [EAX+24],ECX
0008:F6197429  8B4D1C              MOV       ECX,[EBP+1C]
0008:F619742C  894820              MOV       [EAX+20],ECX
0008:F619742F  8D782C              LEA       EDI,[EAX+2C]
0008:F6197432  0FB64B04            MOVZX     ECX,BYTE PTR [EBX+04]
0008:F6197436  894828              MOV       [EAX+28],ECX
0008:F6197439  0FB64B04            MOVZX     ECX,BYTE PTR [EBX+04]
0008:F619743D  8BD1                MOV       EDX,ECX
0008:F619743F  C1E902              SHR       ECX,02
0008:F6197442  F3A5                REPZ MOVSD
0008:F6197444  8BCA                MOV       ECX,EDX
0008:F6197446  83E103              AND       ECX,03
0008:F6197449  F3A4                REPZ MOVSB
0008:F619744B  E83E190000          CALL      F6198D8E
0008:F6197450  837D1C00            CMP       DWORD PTR [EBP+1C],00
0008:F6197454  7418                JZ        F619746E
0008:F6197456  8B4508              MOV       EAX,[EBP+08]
0008:F6197459  8B4D14              MOV       ECX,[EBP+14]
0008:F619745C  898880010000        MOV       [EAX+00000180],ECX
0008:F6197462  C780840100005A000000MOV       DWORD PTR [EAX+00000184],0000005A
0008:F619746C  EB0B                JMP       F6197479
0008:F619746E  FF7514              PUSH      DWORD PTR [EBP+14]
0008:F6197471  FF7514              PUSH      DWORD PTR [EBP+14]
0008:F6197474  E8E7A10200          CALL      F61C1660
0008:F6197479  B801000100          MOV       EAX,00010001
0008:F619747E  E95A030000          JMP       F61977DD
0008:F6197483  837B2000            CMP       DWORD PTR [EBX+20],00
0008:F6197487  7436                JZ        F61974BF
0008:F6197489  8B450C              MOV       EAX,[EBP+0C]
0008:F619748C  6A20                PUSH      20
0008:F619748E  59                  POP       ECX
0008:F619748F  0FB64003            MOVZX     EAX,BYTE PTR [EAX+03]
0008:F6197493  99                  CDQ
0008:F6197494  F7F9                IDIV      ECX
0008:F6197496  8B4634              MOV       EAX,[ESI+34]
0008:F6197499  8D0C90              LEA       ECX,[EDX*4+EAX]
0008:F619749C  85C9                TEST      ECX,ECX
0008:F619749E  8BC1                MOV       EAX,ECX
0008:F61974A0  740C                JZ        F61974AE
0008:F61974A2  3BC3                CMP       EAX,EBX
0008:F61974A4  7408                JZ        F61974AE
0008:F61974A6  8BC8                MOV       ECX,EAX
0008:F61974A8  8B00                MOV       EAX,[EAX]
0008:F61974AA  85C0                TEST      EAX,EAX
0008:F61974AC  75F4                JNZ       F61974A2
0008:F61974AE  85C0                TEST      EAX,EAX
0008:F61974B0  740D                JZ        F61974BF
0008:F61974B2  50                  PUSH      EAX
0008:F61974B3  51                  PUSH      ECX
0008:F61974B4  E85D0D0000          CALL      F6198216
0008:F61974B9  FF8E88000000        DEC       DWORD PTR [ESI+00000088]
0008:F61974BF  8A55FC              MOV       DL,[EBP-04]
0008:F61974C2  8BCF                MOV       ECX,EDI
0008:F61974C4  FF15281B1CF6        CALL      [HAL!KfReleaseSpinLock]
0008:F61974CA  8A4518              MOV       AL,[EBP+18]
0008:F61974CD  8845FC              MOV       [EBP-04],AL
0008:F61974D0  33C9                XOR       ECX,ECX
0008:F61974D2  3BD9                CMP       EBX,ECX
0008:F61974D4  0F84A8020000        JZ        F6197782
0008:F61974DA  837B04FF            CMP       DWORD PTR [EBX+04],-01
0008:F61974DE  894B28              MOV       [EBX+28],ECX
0008:F61974E1  0F84BD010000        JZ        F61976A4
0008:F61974E7  8B4614              MOV       EAX,[ESI+14]
0008:F61974EA  C6451801            MOV       BYTE PTR [EBP+18],01
0008:F61974EE  2BC1                SUB       EAX,ECX
0008:F61974F0  0F842A010000        JZ        F6197620
0008:F61974F6  48                  DEC       EAX
0008:F61974F7  7469                JZ        F6197562
0008:F61974F9  48                  DEC       EAX
0008:F61974FA  742E                JZ        F619752A
0008:F61974FC  83E805              SUB       EAX,05
0008:F61974FF  0F859F010000        JNZ       F61976A4
0008:F6197505  8A4674              MOV       AL,[ESI+74]
0008:F6197508  88432C              MOV       [EBX+2C],AL
0008:F619750B  8B4510              MOV       EAX,[EBP+10]
0008:F619750E  8A00                MOV       AL,[EAX]
0008:F6197510  C6432ED4            MOV       BYTE PTR [EBX+2E],D4
0008:F6197514  88432D              MOV       [EBX+2D],AL
0008:F6197517  8B45F8              MOV       EAX,[EBP-08]
0008:F619751A  C6431C03            MOV       BYTE PTR [EBX+1C],03
0008:F619751E  C6431D02            MOV       BYTE PTR [EBX+1D],02
0008:F6197522  894304              MOV       [EBX+04],EAX
0008:F6197525  E97A010000          JMP       F61976A4
0008:F619752A  8B7510              MOV       ESI,[EBP+10]
0008:F619752D  8B4508              MOV       EAX,[EBP+08]
0008:F6197530  8D7B2D              LEA       EDI,[EBX+2D]
0008:F6197533  C6432C57            MOV       BYTE PTR [EBX+2C],57
0008:F6197537  A5                  MOVSD
0008:F6197538  66A5                MOVSW
0008:F619753A  8D7074              LEA       ESI,[EAX+74]
0008:F619753D  8D7B33              LEA       EDI,[EBX+33]
0008:F6197540  A5                  MOVSD
0008:F6197541  66A5                MOVSW
0008:F6197543  A1C8211CF6          MOV       EAX,[F61C21C8]
0008:F6197548  894339              MOV       [EBX+39],EAX
0008:F619754B  A1CC211CF6          MOV       EAX,[F61C21CC]
0008:F6197550  89433D              MOV       [EBX+3D],EAX
0008:F6197553  C6431C15            MOV       BYTE PTR [EBX+1C],15
0008:F6197557  66C7433F0800        MOV       WORD PTR [EBX+3F],0008
0008:F619755D  E92D010000          JMP       F619768F
0008:F6197562  807B1D02            CMP       BYTE PTR [EBX+1D],02
0008:F6197566  7511                JNZ       F6197579
0008:F6197568  8B45F8              MOV       EAX,[EBP-08]
0008:F619756B  2B4304              SUB       EAX,[EBX+04]
0008:F619756E  3DE8030000          CMP       EAX,000003E8
0008:F6197573  0F862B010000        JBE       F61976A4
0008:F6197579  8B7510              MOV       ESI,[EBP+10]
0008:F619757C  8B4508              MOV       EAX,[EBP+08]
0008:F619757F  8D7B2E              LEA       EDI,[EBX+2E]
0008:F6197582  C6432C10            MOV       BYTE PTR [EBX+2C],10
0008:F6197586  C6432D40            MOV       BYTE PTR [EBX+2D],40
0008:F619758A  A5                  MOVSD
0008:F619758B  66A5                MOVSW
0008:F619758D  8D7B34              LEA       EDI,[EBX+34]
0008:F6197590  8D7074              LEA       ESI,[EAX+74]
0008:F6197593  A5                  MOVSD
0008:F6197594  66A5                MOVSW
0008:F6197596  8B75EC              MOV       ESI,[EBP-14]
0008:F6197599  85F6                TEST      ESI,ESI
0008:F619759B  7447                JZ        F61975E4
0008:F619759D  8B55F0              MOV       EDX,[EBP-10]
0008:F61975A0  8D7B3A              LEA       EDI,[EBX+3A]
0008:F61975A3  8BCA                MOV       ECX,EDX
0008:F61975A5  8BC1                MOV       EAX,ECX
0008:F61975A7  C1E902              SHR       ECX,02
0008:F61975AA  F3A5                REPZ MOVSD
0008:F61975AC  8BC8                MOV       ECX,EAX
0008:F61975AE  8B45EC              MOV       EAX,[EBP-14]
0008:F61975B1  83E103              AND       ECX,03
0008:F61975B4  F3A4                REPZ MOVSB
0008:F61975B6  8A4001              MOV       AL,[EAX+01]
0008:F61975B9  C0E804              SHR       AL,04
0008:F61975BC  2407                AND       AL,07
0008:F61975BE  3C04                CMP       AL,04
0008:F61975C0  7202                JB        F61975C4
0008:F61975C2  B004                MOV       AL,04
0008:F61975C4  0FB6C0              MOVZX     EAX,AL
0008:F61975C7  668B044530221CF6    MOV       AX,[EAX*2+F61C2230]
0008:F61975CF  804B3480            OR        BYTE PTR [EBX+34],80
0008:F61975D3  80733B80            XOR       BYTE PTR [EBX+3B],80
0008:F61975D7  662D0800            SUB       AX,0008
0008:F61975DB  80633A1F            AND       BYTE PTR [EBX+3A],1F
0008:F61975DF  8945E4              MOV       [EBP-1C],EAX
0008:F61975E2  EB03                JMP       F61975E7
0008:F61975E4  8B55F0              MOV       EDX,[EBP-10]
0008:F61975E7  A1C8211CF6          MOV       EAX,[F61C21C8]
0008:F61975EC  89441A3A            MOV       [EBX+EDX+3A],EAX
0008:F61975F0  A1CC211CF6          MOV       EAX,[F61C21CC]
0008:F61975F5  89441A3E            MOV       [EBX+EDX+3E],EAX
0008:F61975F9  8B45F8              MOV       EAX,[EBP-08]
0008:F61975FC  C6431D02            MOV       BYTE PTR [EBX+1D],02
0008:F6197600  894304              MOV       [EBX+04],EAX
0008:F6197603  A1E4221CF6          MOV       EAX,[F61C22E4]
0008:F6197608  80C216              ADD       DL,16
0008:F619760B  894318              MOV       [EBX+18],EAX
0008:F619760E  88531C              MOV       [EBX+1C],DL
0008:F6197611  0FB6C2              MOVZX     EAX,DL
0008:F6197614  66C744032A0800      MOV       WORD PTR [EAX+EBX+2A],0008
0008:F619761B  E981000000          JMP       F61976A1
0008:F6197620  390DEC261CF6        CMP       [F61C26EC],ECX
0008:F6197626  8D432C              LEA       EAX,[EBX+2C]
0008:F6197629  741B                JZ        F6197646
0008:F619762B  807B1D02            CMP       BYTE PTR [EBX+1D],02
0008:F619762F  7515                JNZ       F6197646
0008:F6197631  6A06                PUSH      06
0008:F6197633  FF7510              PUSH      DWORD PTR [EBP+10]
0008:F6197636  50                  PUSH      EAX
0008:F6197637  FF15141D1CF6        CALL      [ntoskrnl!RtlCompareMemory]
0008:F619763D  83F806              CMP       EAX,06
0008:F6197640  7404                JZ        F6197646
0008:F6197642  80651800            AND       BYTE PTR [EBP+18],00
0008:F6197646  807D1800            CMP       BYTE PTR [EBP+18],00
0008:F619764A  7458                JZ        F61976A4
0008:F619764C  8B7510              MOV       ESI,[EBP+10]    ;
0008:F619764F  8D432C              LEA       EAX,[EBX+2C]    ;复制
0008:F6197652  8B4D08              MOV       ECX,[EBP+08]    ;得到
0008:F6197655  8BF8                MOV       EDI,EAX         ;IP
0008:F6197657  A5                  MOVSD                     ;的
0008:F6197658  66A5                MOVSW                     ;MAC
0008:F619765A  837DF400            CMP       DWORD PTR [EBP-0C],00
0008:F619765E  8D7174              LEA       ESI,[ECX+74]
0008:F6197661  8D7806              LEA       EDI,[EAX+06]
0008:F6197664  A5                  MOVSD
0008:F6197665  66A5                MOVSW
0008:F6197667  66C7400C0800        MOV       WORD PTR [EAX+0C],0008
0008:F619766D  741C                JZ        F619768B
0008:F619766F  A1C8211CF6          MOV       EAX,[F61C21C8]
0008:F6197674  89433A              MOV       [EBX+3A],EAX
0008:F6197677  A1CC211CF6          MOV       EAX,[F61C21CC]
0008:F619767C  89433E              MOV       [EBX+3E],EAX
0008:F619767F  C6431C16            MOV       BYTE PTR [EBX+1C],16
0008:F6197683  66C743400800        MOV       WORD PTR [EBX+40],0008
0008:F6197689  EB04                JMP       F619768F
0008:F619768B  C6431C0E            MOV       BYTE PTR [EBX+1C],0E
0008:F619768F  8B45F8              MOV       EAX,[EBP-08]
0008:F6197692  C6431D02            MOV       BYTE PTR [EBX+1D],02
0008:F6197696  894304              MOV       [EBX+04],EAX
0008:F6197699  A1E4221CF6          MOV       EAX,[F61C22E4]
0008:F619769E  894318              MOV       [EBX+18],EAX
0008:F61976A1  8B7508              MOV       ESI,[EBP+08]
0008:F61976A4  8B4324              MOV       EAX,[EBX+24]
0008:F61976A7  85C0                TEST      EAX,EAX
0008:F61976A9  0F849D000000        JZ        F619774C
0008:F61976AF  8B4804              MOV       ECX,[EAX+04]
0008:F61976B2  6A06                PUSH      06
0008:F61976B4  894D1C              MOV       [EBP+1C],ECX
0008:F61976B7  8B480C              MOV       ECX,[EAX+0C]
0008:F61976BA  5A                  POP       EDX
0008:F61976BB  3BCA                CMP       ECX,EDX
0008:F61976BD  730C                JAE       F61976CB
0008:F61976BF  894D14              MOV       [EBP+14],ECX
0008:F61976C2  C7451805000080      MOV       DWORD PTR [EBP+18],80000005 ; STATU
0008:F61976C9  EB07                JMP       F61976D2
0008:F61976CB  83651800            AND       DWORD PTR [EBP+18],00
0008:F61976CF  895514              MOV       [EBP+14],EDX
0008:F61976D2  8B4D14              MOV       ECX,[EBP+14]
0008:F61976D5  8B7810              MOV       EDI,[EAX+10]
0008:F61976D8  8BD1                MOV       EDX,ECX
0008:F61976DA  8D732C              LEA       ESI,[EBX+2C]
0008:F61976DD  C1E902              SHR       ECX,02
0008:F61976E0  F3A5                REPZ MOVSD
0008:F61976E2  8BCA                MOV       ECX,EDX
0008:F61976E4  6A00                PUSH      00
0008:F61976E6  83E103              AND       ECX,03
0008:F61976E9  50                  PUSH      EAX
0008:F61976EA  F3A4                REPZ MOVSB
0008:F61976EC  8B30                MOV       ESI,[EAX]
0008:F61976EE  8BCA                MOV       ECX,EDX
0008:F61976F0  89480C              MOV       [EAX+0C],ECX
0008:F61976F3  8B4D18              MOV       ECX,[EBP+18]
0008:F61976F6  894808              MOV       [EAX+08],ECX
0008:F61976F9  FF551C              CALL      [EBP+1C]
0008:F61976FC  85F6                TEST      ESI,ESI
0008:F61976FE  8BC6                MOV       EAX,ESI
0008:F6197700  75AD                JNZ       F61976AF
0008:F6197702  214324              AND       [EBX+24],EAX
0008:F6197705  394320              CMP       [EBX+20],EAX
0008:F6197708  8B7508              MOV       ESI,[EBP+08]
0008:F619770B  742E                JZ        F619773B
0008:F619770D  8A55FC              MOV       DL,[EBP-04]
0008:F6197710  8B7B0C              MOV       EDI,[EBX+0C]
0008:F6197713  8D4B14              LEA       ECX,[EBX+14]
0008:F6197716  FF15281B1CF6        CALL      [HAL!KfReleaseSpinLock]
0008:F619771C  53                  PUSH      EBX
0008:F619771D  FF150C1E1CF6        CALL      [ntoskrnl!ExFreePool]
0008:F6197723  85FF                TEST      EDI,EDI
0008:F6197725  0F84B0000000        JZ        F61977DB
0008:F619772B  6A00                PUSH      00
0008:F619772D  57                  PUSH      EDI
0008:F619772E  FF7608              PUSH      DWORD PTR [ESI+08]
0008:F6197731  E8DCA9FFFF          CALL      F6192112
0008:F6197736  E9A0000000          JMP       F61977DB
0008:F619773B  8A55FC              MOV       DL,[EBP-04]
0008:F619773E  8D4B14              LEA       ECX,[EBX+14]
0008:F6197741  FF15281B1CF6        CALL      [HAL!KfReleaseSpinLock]
0008:F6197747  E98F000000          JMP       F61977DB
0008:F619774C  8B7B0C              MOV       EDI,[EBX+0C]
0008:F619774F  85FF                TEST      EDI,EDI
0008:F6197751  7423                JZ        F6197776
0008:F6197753  83630C00            AND       DWORD PTR [EBX+0C],00
0008:F6197757  FF75FC              PUSH      DWORD PTR [EBP-04]
0008:F619775A  53                  PUSH      EBX
0008:F619775B  57                  PUSH      EDI
0008:F619775C  56                  PUSH      ESI
0008:F619775D  E8FEA3FFFF          CALL      F6191B60
0008:F6197762  3D03010000          CMP       EAX,00000103
0008:F6197767  7419                JZ        F6197782
0008:F6197769  6A00                PUSH      00
0008:F619776B  57                  PUSH      EDI
0008:F619776C  FF7608              PUSH      DWORD PTR [ESI+08]
0008:F619776F  E89EA9FFFF          CALL      F6192112
0008:F6197774  EB0C                JMP       F6197782
0008:F6197776  8A55FC              MOV       DL,[EBP-04]
0008:F6197779  8D4B14              LEA       ECX,[EBX+14]
0008:F619777C  FF15281B1CF6        CALL      [HAL!KfReleaseSpinLock]
0008:F6197782  8B45E4              MOV       EAX,[EBP-1C]
0008:F6197785  663B8614010000      CMP       AX,[ESI+00000114]
0008:F619778C  7320                JAE       F61977AE
0008:F619778E  0FB7C0              MOVZX     EAX,AX
0008:F6197791  8945E0              MOV       [EBP-20],EAX
0008:F6197794  8B450C              MOV       EAX,[EBP+0C]
0008:F6197797  6A00                PUSH      00
0008:F6197799  6A08                PUSH      08
0008:F619779B  8B00                MOV       EAX,[EAX]
0008:F619779D  8945E4              MOV       [EBP-1C],EAX
0008:F61977A0  8D45E0              LEA       EAX,[EBP-20]
0008:F61977A3  50                  PUSH      EAX
0008:F61977A4  6A03                PUSH      03
0008:F61977A6  FF7608              PUSH      DWORD PTR [ESI+08]
0008:F61977A9  E8C6620200          CALL      F61BDA74
0008:F61977AE  807D1C00            CMP       BYTE PTR [EBP+1C],00
0008:F61977B2  7427                JZ        F61977DB
0008:F61977B4  8B4514              MOV       EAX,[EBP+14]
0008:F61977B7  668178060001        CMP       WORD PTR [EAX+06],0100
0008:F61977BD  751C                JNZ       F61977DB
0008:F61977BF  FF75F4              PUSH      DWORD PTR [EBP-0C]
0008:F61977C2  8B45E8              MOV       EAX,[EBP-18]
0008:F61977C5  FF75F0              PUSH      DWORD PTR [EBP-10]
0008:F61977C8  FF75EC              PUSH      DWORD PTR [EBP-14]
0008:F61977CB  FF7510              PUSH      DWORD PTR [EBP+10]
0008:F61977CE  FF30                PUSH      DWORD PTR [EAX]
0008:F61977D0  8B450C              MOV       EAX,[EBP+0C]
0008:F61977D3  FF30                PUSH      DWORD PTR [EAX]
0008:F61977D5  56                  PUSH      ESI
0008:F61977D6  E8656E0000          CALL      F619E640
0008:F61977DB  33C0                XOR       EAX,EAX
0008:F61977DD  5F                  POP       EDI
0008:F61977DE  5E                  POP       ESI
0008:F61977DF  5B                  POP       EBX
0008:F61977E0  C9                  LEAVE
0008:F61977E1  C21800              RET       0018
0008:F61977E4  833DF0221CF600      CMP       DWORD PTR [F61C22F0],00
0008:F61977EB  7511                JNZ       F61977FE
0008:F61977ED  8B4D10              MOV       ECX,[EBP+10]
0008:F61977F0  8A477D              MOV       AL,[EDI+7D]
0008:F61977F3  2201                AND       AL,[ECX]
0008:F61977F5  3A477E              CMP       AL,[EDI+7E]
0008:F61977F8  0F847BFCFFFF        JZ        F6197479
0008:F61977FE  8B7508              MOV       ESI,[EBP+08]
0008:F6197801  8D7E24              LEA       EDI,[ESI+24]
0008:F6197804  8BCF                MOV       ECX,EDI
0008:F6197806  FF15201B1CF6        CALL      [HAL!KfAcquireSpinLock]
0008:F619780C  884518              MOV       [EBP+18],AL
0008:F619780F  668B8614010000      MOV       AX,[ESI+00000114]
0008:F6197816  668945E4            MOV       [EBP-1C],AX
0008:F619781A  8B45E8              MOV       EAX,[EBP-18]
0008:F619781D  FF30                PUSH      DWORD PTR [EAX]
0008:F619781F  56                  PUSH      ESI
0008:F6197820  E885000000          CALL      F61978AA
0008:F6197825  88451C              MOV       [EBP+1C],AL
0008:F6197828  8D45FC              LEA       EAX,[EBP-04]
0008:F619782B  50                  PUSH      EAX
0008:F619782C  8B450C              MOV       EAX,[EBP+0C]
0008:F619782F  FF30                PUSH      DWORD PTR [EAX]
0008:F6197831  56                  PUSH      ESI
0008:F6197832  E8DFE5FFFF          CALL      F6195E16
0008:F6197837  8BD8                MOV       EBX,EAX
0008:F6197839  85DB                TEST      EBX,EBX
0008:F619783B  0F8542FCFFFF        JNZ       F6197483
0008:F6197841  8A5518              MOV       DL,[EBP+18]
0008:F6197844  8BCF                MOV       ECX,EDI
0008:F6197846  FF15281B1CF6        CALL      [HAL!KfReleaseSpinLock]
0008:F619784C  385D1C              CMP       [EBP+1C],BL
0008:F619784F  0F8424FCFFFF        JZ        F6197479
0008:F6197855  8D45FC              LEA       EAX,[EBP-04]
0008:F6197858  53                  PUSH      EBX
0008:F6197859  50                  PUSH      EAX
0008:F619785A  8B450C              MOV       EAX,[EBP+0C]
0008:F619785D  FF30                PUSH      DWORD PTR [EAX]
0008:F619785F  56                  PUSH      ESI
0008:F6197860  E8B7540100          CALL      F61ACD1C
0008:F6197865  8BD8                MOV       EBX,EAX
0008:F6197867  E964FCFFFF          JMP       F61974D0



======================下面部分为修改的地址部分,修改后就可以帮定IP-MAC了========

位置相对代码段是: 0000E2CF
:d f6198610 l30 [下面的数据一段错误信息的提示]
0008:F6198610 4C 6F 63 6B 20 70 72 6F-62 6C 65 6D 73 20 21 21  Lock problems !!
0008:F6198620 20 0A 00 00 4C 6F 63 6B-20 70 72 6F 62 6C 65 6D   ...Lock problem
0008:F6198630 73 20 21 21 20 0A 00 00-4C 6F 63 6B 20 70 72 6F  s !! ...Lock pro
把上面的数据修改后为:
:d f6198610 l31
0023:F6198610 E8 10 00 00 00 00 00 77-99 6C CA 0A 40 18 01 00  .......w.l..@...
0023:F6198620 00 00 00 00 00 5F 50 8B-47 06 3B 46 06 75 02 8B  ....._P.G.;F.u..
0023:F6198630 F7 5F 8B C7 A5 66 A5 90-90 90 90 E9 1A F0 FF FF  ._...f..........
0023:F6198640 62 6C 65 6D 73 20 21 21-20 0A 00 00 4C 6F 63 6B  blems !! ...Lock

上面的数据反汇编后的程序如下:
:u f6198610 l1
0008:F6198610  E810000000          CALL      F6198625
:d f6198615 l10
              这6个字节是MAC    这个是IP
              ----------------- -----------
0023:F6198615 00 00 77 99 6C CA 0A 40-18 01 00 00 00 00 00 00  ..w.l..@........
:u f6198625 l30
0008:F6198625  5F                  POP       EDI
0008:F6198626  50                  PUSH      EAX
0008:F6198627  8B4706              MOV       EAX,[EDI+06]   ;比较是否是      
0008:F619862A  3B4606              CMP       EAX,[ESI+06]   ;需要定死的IP地址
0008:F619862D  7502                JNZ       F6198631       ;不是            
0008:F619862F  8BF7                MOV       ESI,EDI
0008:F6198631  5F                  POP       EDI
0008:F6198632  8BC7                MOV       EAX,EDI
0008:F6198634  A5                  MOVSD
0008:F6198635  66A5                MOVSW
0008:F6198637  90                  NOP
0008:F6198638  90                  NOP
0008:F6198639  90                  NOP
0008:F619863A  90                  NOP
0008:F619863B  E91AF0FFFF          JMP       F619765A
0008:F6198640  626C656D            BOUND     EBP,[EBP+6D]


:ueip l6--------->位置相对代码段是: 0000D315
0008:F6197655  8BF8                MOV       EDI,EAX  ; 把复制IP的MAC
0008:F6197657  A5                  MOVSD              ; 指令修改为转向
0008:F6197658  66A5                MOVSW              ; 上面修改的代码,就不怕ARP刷新Mac了
0008:F619765A  837DF400            CMP       DWORD PTR [EBP-0C],00
修改后代码是
:ueip l 1
0008:F6197655  E9B60F0000          JMP       F6198610             (JUMP )

注意在2000下,还要修改程序的校验和。否则2000在加载时会认为是错误的文件,不会加载它。

shellcode 发表于 2006-12-24 09:59

呵呵。。强呀。。。XP下些种方法不知道行不行。。


另外如果你把做好的文件放出来,替换在其它的相同系统之上,应该可行吧。。

[[i] 本帖最后由 shellcode 于 2006-12-24 10:00 编辑 [/i]]

scz 发表于 2006-12-24 15:09

[quote]原帖由 [i]shellcode[/i] 于 2006-12-24 09:59 发表
呵呵。。强呀。。。XP下些种方法不知道行不行。。


另外如果你把做好的文件放出来,替换在其它的相同系统之上,应该可行吧。。 [/quote]

XP你arp -s过的不会被动态刷新。

wawahaha 发表于 2006-12-25 19:26

2000现在arp -s后也不会被刷新,早期版本是会的,但后来经过打补丁就不会了,一直用的自动更新,不知道是什么时候开始自动打上这个补丁的,呵呵。

[quote]原帖由 [i]scz[/i] 于 2006-12-24 15:09 发表


XP你arp -s过的不会被动态刷新。 [/quote]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.