| 529 | |
| 530 | |
| 531 | class SMBTree_Connect_AndX(Packet): |
| 532 | name = "Session Tree Connect AndX" |
| 533 | WordCount = 0x04 |
| 534 | fields_desc = SMBSession_Setup_AndX_Request.fields_desc[:4] + [ |
| 535 | FlagsField( |
| 536 | "Flags", |
| 537 | "", |
| 538 | -16, |
| 539 | ["DISCONNECT_TID", "r2", "EXTENDED_SIGNATURES", "EXTENDED_RESPONSE"], |
| 540 | ), |
| 541 | FieldLenField("PasswordLength", None, length_of="Password", fmt="<H"), |
| 542 | LEShortField("ByteCount", None), |
| 543 | XStrLenField("Password", b"", length_from=lambda pkt: pkt.PasswordLength), |
| 544 | ReversePadField(_SMBStrNullField("Path", "\\\\WIN2K\\IPC$"), 2), |
| 545 | StrNullField("Service", "?????"), |
| 546 | ] |
| 547 | |
| 548 | def post_build(self, pkt, pay): |
| 549 | pkt += pay |
| 550 | if self.ByteCount is None: |
| 551 | pkt = pkt[:9] + struct.pack("<H", len(pkt) - 11) + pkt[11:] |
| 552 | return pkt |
| 553 | |
| 554 | |
| 555 | bind_layers(SMB_Header, SMBTree_Connect_AndX, Command=0x75) |
nothing calls this directly
no test coverage detected
searching dependent graphs…