📄 rpc_netlogon.h
字号:
/* NET_ID_INFO_CTR */typedef struct net_id_info_ctr_info { uint16 switch_value; union { NET_ID_INFO_1 id1; /* auth-level 1 - interactive user login */ NET_ID_INFO_2 id2; /* auth-level 2 - workstation referred login */ } auth;} NET_ID_INFO_CTR;/* SAM_INFO - sam logon/off id structure */typedef struct sam_info { DOM_CLNT_INFO2 client; uint32 ptr_rtn_cred; /* pointer to return credentials */ DOM_CRED rtn_cred; /* return credentials */ uint16 logon_level; NET_ID_INFO_CTR *ctr;} DOM_SAM_INFO;/* NET_Q_SAM_LOGON */typedef struct net_q_sam_logon_info { DOM_SAM_INFO sam_id; uint16 validation_level;} NET_Q_SAM_LOGON;/* NET_R_SAM_LOGON */typedef struct net_r_sam_logon_info { uint32 buffer_creds; /* undocumented buffer pointer */ DOM_CRED srv_creds; /* server credentials. server time stamp appears to be ignored. */ uint16 switch_value; /* 3 - indicates type of USER INFO */ NET_USER_INFO_3 *user; uint32 auth_resp; /* 1 - Authoritative response; 0 - Non-Auth? */ NTSTATUS status; /* return code */} NET_R_SAM_LOGON;/* NET_Q_SAM_LOGOFF */typedef struct net_q_sam_logoff_info { DOM_SAM_INFO sam_id;} NET_Q_SAM_LOGOFF;/* NET_R_SAM_LOGOFF */typedef struct net_r_sam_logoff_info { uint32 buffer_creds; /* undocumented buffer pointer */ DOM_CRED srv_creds; /* server credentials. server time stamp appears to be ignored. */ NTSTATUS status; /* return code */} NET_R_SAM_LOGOFF;/* NET_Q_SAM_SYNC */typedef struct net_q_sam_sync_info { UNISTR2 uni_srv_name; /* \\PDC */ UNISTR2 uni_cli_name; /* BDC */ DOM_CRED cli_creds; DOM_CRED ret_creds; uint32 database_id; uint32 restart_state; uint32 sync_context; uint32 max_size; /* preferred maximum length */} NET_Q_SAM_SYNC;/* SAM_DELTA_HDR */typedef struct sam_delta_hdr_info { uint16 type; /* type of structure attached */ uint16 type2; uint32 target_rid; uint32 type3; uint32 ptr_delta;} SAM_DELTA_HDR;/* LOCKOUT_STRING */typedef struct account_lockout_string { uint32 array_size; uint32 offset; uint32 length;/* uint16 *bindata; */ UINT64_S lockout_duration; UINT64_S reset_count; uint32 bad_attempt_lockout; uint32 dummy;} LOCKOUT_STRING;/* HDR_LOCKOUT_STRING */typedef struct hdr_account_lockout_string { uint16 size; uint16 length; uint32 buffer;} HDR_LOCKOUT_STRING;/* SAM_DOMAIN_INFO (0x1) */typedef struct sam_domain_info_info { UNIHDR hdr_dom_name; UNIHDR hdr_oem_info; UINT64_S force_logoff; uint16 min_pwd_len; uint16 pwd_history_len; UINT64_S max_pwd_age; UINT64_S min_pwd_age; UINT64_S dom_mod_count; NTTIME creation_time; uint32 security_information; BUFHDR4 hdr_sec_desc; /* security descriptor */ HDR_LOCKOUT_STRING hdr_account_lockout; UNIHDR hdr_unknown2; UNIHDR hdr_unknown3; UNIHDR hdr_unknown4; UNISTR2 uni_dom_name; UNISTR2 buf_oem_info; RPC_DATA_BLOB buf_sec_desc; LOCKOUT_STRING account_lockout; UNISTR2 buf_unknown2; UNISTR2 buf_unknown3; UNISTR2 buf_unknown4; uint32 logon_chgpass; uint32 unknown6; uint32 unknown7; uint32 unknown8;} SAM_DOMAIN_INFO;/* SAM_GROUP_INFO (0x2) */typedef struct sam_group_info_info { UNIHDR hdr_grp_name; DOM_GID gid; UNIHDR hdr_grp_desc; BUFHDR2 hdr_sec_desc; /* security descriptor */ uint8 reserved[48]; UNISTR2 uni_grp_name; UNISTR2 uni_grp_desc; RPC_DATA_BLOB buf_sec_desc;} SAM_GROUP_INFO;/* SAM_PWD */typedef struct sam_passwd_info { /* this structure probably contains password history */ /* this is probably a count of lm/nt pairs */ uint32 unk_0; /* 0x0000 0002 */ UNIHDR hdr_lm_pwd; uint8 buf_lm_pwd[16]; UNIHDR hdr_nt_pwd; uint8 buf_nt_pwd[16]; UNIHDR hdr_empty_lm; UNIHDR hdr_empty_nt;} SAM_PWD;/* SAM_ACCOUNT_INFO (0x5) */typedef struct sam_account_info_info { UNIHDR hdr_acct_name; UNIHDR hdr_full_name; uint32 user_rid; uint32 group_rid; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; UNIHDR hdr_logon_script; UNIHDR hdr_acct_desc; UNIHDR hdr_workstations; NTTIME logon_time; NTTIME logoff_time; uint32 logon_divs; /* 0xA8 */ uint32 ptr_logon_hrs; uint16 bad_pwd_count; uint16 logon_count; NTTIME pwd_last_set_time; NTTIME acct_expiry_time; uint32 acb_info; uint8 nt_pwd[16]; uint8 lm_pwd[16]; uint8 nt_pwd_present; uint8 lm_pwd_present; uint8 pwd_expired; UNIHDR hdr_comment; UNIHDR hdr_parameters; uint16 country; uint16 codepage; BUFHDR2 hdr_sec_desc; /* security descriptor */ UNIHDR hdr_profile; UNIHDR hdr_reserved[3]; /* space for more strings */ uint32 dw_reserved[4]; /* space for more data - first two seem to be an NTTIME */ UNISTR2 uni_acct_name; UNISTR2 uni_full_name; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; UNISTR2 uni_logon_script; UNISTR2 uni_acct_desc; UNISTR2 uni_workstations; uint32 unknown1; /* 0x4EC */ uint32 unknown2; /* 0 */ RPC_DATA_BLOB buf_logon_hrs; UNISTR2 uni_comment; UNISTR2 uni_parameters; SAM_PWD pass; RPC_DATA_BLOB buf_sec_desc; UNISTR2 uni_profile;} SAM_ACCOUNT_INFO;/* SAM_GROUP_MEM_INFO (0x8) */typedef struct sam_group_mem_info_info { uint32 ptr_rids; uint32 ptr_attribs; uint32 num_members; uint8 unknown[16]; uint32 num_members2; uint32 *rids; uint32 num_members3; uint32 *attribs;} SAM_GROUP_MEM_INFO;/* SAM_ALIAS_INFO (0x9) */typedef struct sam_alias_info_info { UNIHDR hdr_als_name; uint32 als_rid; BUFHDR2 hdr_sec_desc; /* security descriptor */ UNIHDR hdr_als_desc; uint8 reserved[40]; UNISTR2 uni_als_name; RPC_DATA_BLOB buf_sec_desc; UNISTR2 uni_als_desc;} SAM_ALIAS_INFO;/* SAM_ALIAS_MEM_INFO (0xC) */typedef struct sam_alias_mem_info_info { uint32 num_members; uint32 ptr_members; uint8 unknown[16]; uint32 num_sids; uint32 *ptr_sids; DOM_SID2 *sids;} SAM_ALIAS_MEM_INFO;/* SAM_DELTA_POLICY (0x0D) */typedef struct { uint32 max_log_size; /* 0x5000 */ UINT64_S audit_retention_period; /* 0 */ uint32 auditing_mode; /* 0 */ uint32 num_events; uint32 ptr_events; UNIHDR hdr_dom_name; uint32 sid_ptr; uint32 paged_pool_limit; /* 0x02000000 */ uint32 non_paged_pool_limit; /* 0x00100000 */ uint32 min_workset_size; /* 0x00010000 */ uint32 max_workset_size; /* 0x0f000000 */ uint32 page_file_limit; /* 0 */ UINT64_S time_limit; /* 0 */ NTTIME modify_time; /* 0x3c*/ NTTIME create_time; /* a7080110 */ BUFHDR2 hdr_sec_desc; uint32 num_event_audit_options; uint32 event_audit_option; UNISTR2 domain_name; DOM_SID2 domain_sid; RPC_DATA_BLOB buf_sec_desc;} SAM_DELTA_POLICY;/* SAM_DELTA_TRUST_DOMS */typedef struct { uint32 buf_size; SEC_DESC *sec_desc; DOM_SID2 sid; UNIHDR hdr_domain; uint32 unknown0; uint32 unknown1; uint32 unknown2; uint32 buf_size2; uint32 ptr; uint32 unknown3; UNISTR2 domain;} SAM_DELTA_TRUSTDOMS;/* SAM_DELTA_PRIVS (0x10) */typedef struct { DOM_SID2 sid; uint32 priv_count; uint32 priv_control; uint32 priv_attr_ptr; uint32 priv_name_ptr; uint32 paged_pool_limit; /* 0x02000000 */ uint32 non_paged_pool_limit; /* 0x00100000 */ uint32 min_workset_size; /* 0x00010000 */ uint32 max_workset_size; /* 0x0f000000 */ uint32 page_file_limit; /* 0 */ UINT64_S time_limit; /* 0 */ uint32 system_flags; /* 1 */ BUFHDR2 hdr_sec_desc; uint32 buf_size2; uint32 attribute_count; uint32 *attributes; uint32 privlist_count; UNIHDR *hdr_privslist; UNISTR2 *uni_privslist; RPC_DATA_BLOB buf_sec_desc;} SAM_DELTA_PRIVS;/* SAM_DELTA_SECRET */typedef struct { uint32 buf_size; SEC_DESC *sec_desc; UNISTR2 secret; uint32 count1; uint32 count2; uint32 ptr; NTTIME time1; uint32 count3; uint32 count4; uint32 ptr2; NTTIME time2; uint32 unknow1; uint32 buf_size2; uint32 ptr3; uint32 unknow2; /* 0x0 12 times */ uint32 chal_len; uint32 reserved1; /* 0 */ uint32 chal_len2; uint8 chal[16]; uint32 key_len; uint32 reserved2; /* 0 */ uint32 key_len2; uint8 key[8]; uint32 buf_size3; SEC_DESC *sec_desc2;} SAM_DELTA_SECRET;/* SAM_DELTA_MOD_COUNT (0x16) */typedef struct { uint32 seqnum; uint32 dom_mod_count_ptr; UINT64_S dom_mod_count; /* domain mod count at last sync */} SAM_DELTA_MOD_COUNT;typedef union sam_delta_ctr_info { SAM_DOMAIN_INFO domain_info ; SAM_GROUP_INFO group_info ; SAM_ACCOUNT_INFO account_info; SAM_GROUP_MEM_INFO grp_mem_info; SAM_ALIAS_INFO alias_info ; SAM_ALIAS_MEM_INFO als_mem_info; SAM_DELTA_POLICY policy_info; SAM_DELTA_PRIVS privs_info; SAM_DELTA_MOD_COUNT mod_count; SAM_DELTA_TRUSTDOMS trustdoms_info; SAM_DELTA_SECRET secret_info;} SAM_DELTA_CTR;/* NET_R_SAM_SYNC */typedef struct net_r_sam_sync_info { DOM_CRED srv_creds; uint32 sync_context; uint32 ptr_deltas; uint32 num_deltas; uint32 ptr_deltas2; uint32 num_deltas2; SAM_DELTA_HDR *hdr_deltas; SAM_DELTA_CTR *deltas; NTSTATUS status;} NET_R_SAM_SYNC;/* NET_Q_SAM_DELTAS */typedef struct net_q_sam_deltas_info { UNISTR2 uni_srv_name; UNISTR2 uni_cli_name; DOM_CRED cli_creds; DOM_CRED ret_creds; uint32 database_id; UINT64_S dom_mod_count; /* domain mod count at last sync */ uint32 max_size; /* preferred maximum length */} NET_Q_SAM_DELTAS;/* NET_R_SAM_DELTAS */typedef struct net_r_sam_deltas_info { DOM_CRED srv_creds; UINT64_S dom_mod_count; /* new domain mod count */ uint32 ptr_deltas; uint32 num_deltas; uint32 num_deltas2; SAM_DELTA_HDR *hdr_deltas; SAM_DELTA_CTR *deltas; NTSTATUS status;} NET_R_SAM_DELTAS;/* NET_Q_DSR_GETDCNAME - Ask a DC for a trusted DC name and its address */typedef struct net_q_dsr_getdcname { uint32 ptr_server_unc; UNISTR2 uni_server_unc; uint32 ptr_domain_name; UNISTR2 uni_domain_name; uint32 ptr_domain_guid; struct uuid *domain_guid; uint32 ptr_site_guid; struct uuid *site_guid; uint32 flags;} NET_Q_DSR_GETDCNAME;/* NET_R_DSR_GETDCNAME - Ask a DC for a trusted DC name and its address */typedef struct net_r_dsr_getdcname { uint32 ptr_dc_unc; UNISTR2 uni_dc_unc; uint32 ptr_dc_address; UNISTR2 uni_dc_address; int32 dc_address_type; struct uuid domain_guid; uint32 ptr_domain_name; UNISTR2 uni_domain_name; uint32 ptr_forest_name; UNISTR2 uni_forest_name; uint32 dc_flags; uint32 ptr_dc_site_name; UNISTR2 uni_dc_site_name; uint32 ptr_client_site_name; UNISTR2 uni_client_site_name; WERROR result;} NET_R_DSR_GETDCNAME;/* NET_Q_DSR_GESITENAME */typedef struct net_q_dsr_getsitename { uint32 ptr_computer_name; UNISTR2 uni_computer_name;} NET_Q_DSR_GETSITENAME;/* NET_R_DSR_GETSITENAME */typedef struct net_r_dsr_getsitename { uint32 ptr_site_name; UNISTR2 uni_site_name; WERROR result;} NET_R_DSR_GETSITENAME;#endif /* _RPC_NETLOGON_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -