| 3854 | |
| 3855 | |
| 3856 | class SMB2_IOCTL_Response(_SMB2_Payload, _NTLMPayloadPacket): |
| 3857 | name = "SMB2 IOCTL Response" |
| 3858 | Command = 0x000B |
| 3859 | OFFSET = 48 + 64 |
| 3860 | _NTLM_PAYLOAD_FIELD_NAME = "Buffer" |
| 3861 | StructureSize = 0x31 |
| 3862 | MaxOutputResponse = 0 |
| 3863 | fields_desc = ( |
| 3864 | SMB2_IOCTL_Request.fields_desc[:6] |
| 3865 | + SMB2_IOCTL_Request.fields_desc[7:9] |
| 3866 | + SMB2_IOCTL_Request.fields_desc[10:12] |
| 3867 | + [ |
| 3868 | _NTLMPayloadField( |
| 3869 | "Buffer", |
| 3870 | OFFSET, |
| 3871 | [ |
| 3872 | _SMB2_IOCTL_Response_PacketLenField( |
| 3873 | "Input", |
| 3874 | None, |
| 3875 | conf.raw_layer, |
| 3876 | length_from=lambda pkt: pkt.InputLen, |
| 3877 | ), |
| 3878 | _SMB2_IOCTL_Response_PacketLenField( |
| 3879 | "Output", |
| 3880 | None, |
| 3881 | conf.raw_layer, |
| 3882 | length_from=lambda pkt: pkt.OutputLen, |
| 3883 | ), |
| 3884 | ], |
| 3885 | ), |
| 3886 | ] |
| 3887 | ) |
| 3888 | |
| 3889 | def post_build(self, pkt, pay): |
| 3890 | # type: (bytes, bytes) -> bytes |
| 3891 | return ( |
| 3892 | _SMB2_post_build( |
| 3893 | self, |
| 3894 | pkt, |
| 3895 | self.OFFSET, |
| 3896 | { |
| 3897 | "Input": 24, |
| 3898 | "Output": 32, |
| 3899 | }, |
| 3900 | ) |
| 3901 | + pay |
| 3902 | ) |
| 3903 | |
| 3904 | |
| 3905 | bind_top_down( |
no test coverage detected
searching dependent graphs…