| 2701 | |
| 2702 | |
| 2703 | class SMB2_Tree_Connect_Request(_SMB2_Payload, _NTLMPayloadPacket): |
| 2704 | name = "SMB2 TREE_CONNECT Request" |
| 2705 | Command = 0x0003 |
| 2706 | OFFSET = 8 + 64 |
| 2707 | _NTLM_PAYLOAD_FIELD_NAME = "Buffer" |
| 2708 | fields_desc = [ |
| 2709 | XLEShortField("StructureSize", 0x9), |
| 2710 | FlagsField( |
| 2711 | "Flags", |
| 2712 | 0, |
| 2713 | -16, |
| 2714 | ["CLUSTER_RECONNECT", "REDIRECT_TO_OWNER", "EXTENSION_PRESENT"], |
| 2715 | ), |
| 2716 | XLEShortField("PathBufferOffset", None), |
| 2717 | LEShortField("PathLen", None), |
| 2718 | _NTLMPayloadField( |
| 2719 | "Buffer", |
| 2720 | OFFSET, |
| 2721 | [ |
| 2722 | StrFieldUtf16("Path", b""), |
| 2723 | ], |
| 2724 | ), |
| 2725 | ] |
| 2726 | |
| 2727 | def post_build(self, pkt, pay): |
| 2728 | # type: (bytes, bytes) -> bytes |
| 2729 | return ( |
| 2730 | _SMB2_post_build( |
| 2731 | self, |
| 2732 | pkt, |
| 2733 | self.OFFSET, |
| 2734 | { |
| 2735 | "Path": 4, |
| 2736 | }, |
| 2737 | ) |
| 2738 | + pay |
| 2739 | ) |
| 2740 | |
| 2741 | |
| 2742 | bind_top_down( |
no test coverage detected
searching dependent graphs…