📄 proto.h
字号:
struct sam_disp_info *pdb_sam_to_dispinfo(struct sam_passwd *user);struct smb_passwd *pdb_sam_to_smb(struct sam_passwd *user);struct sam_passwd *pdb_smb_to_sam(struct smb_passwd *user);char *pdb_encode_acct_ctrl(uint16 acct_ctrl, size_t length);uint16 pdb_decode_acct_ctrl(const char *p);time_t pdb_get_last_set_time(const char *p);void pdb_set_logon_time(char *p, int max_len, time_t t);void pdb_set_logoff_time(char *p, int max_len, time_t t);void pdb_set_kickoff_time(char *p, int max_len, time_t t);void pdb_set_can_change_time(char *p, int max_len, time_t t);void pdb_set_must_change_time(char *p, int max_len, time_t t);void pdb_set_last_set_time(char *p, int max_len, time_t t);void pdb_sethexpwd(char *p, char *pwd, uint16 acct_ctrl);BOOL pdb_gethexpwd(char *p, char *pwd);BOOL pdb_name_to_rid(char *user_name, uint32 *u_rid, uint32 *g_rid);BOOL pdb_generate_sam_sid(void);uid_t pdb_user_rid_to_uid(uint32 user_rid);gid_t pdb_user_rid_to_gid(uint32 user_rid);uint32 pdb_uid_to_user_rid(uid_t uid);uint32 pdb_gid_to_group_rid(gid_t gid);BOOL pdb_rid_is_user(uint32 rid);BOOL lookup_local_rid(uint32 rid, char *name, uint8 *psid_name_use);BOOL lookup_local_name(char *domain, char *user, DOM_SID *psid, uint8 *psid_name_use);/*The following definitions come from passdb/smbpass.c */struct passdb_ops *file_initialize_password_db(void);/*The following definitions come from passdb/smbpasschange.c */BOOL local_password_change(char *user_name, BOOL trust_account, BOOL add_user, BOOL enable_user, BOOL disable_user, BOOL set_no_password, char *new_passwd, char *err_str, size_t err_str_len, char *msg_str, size_t msg_str_len);/*The following definitions come from passdb/smbpassfile.c */BOOL pw_file_lock(int fd, int type, int secs, int *plock_depth);BOOL pw_file_unlock(int fd, int *plock_depth);BOOL trust_password_lock( char *domain, char *name, BOOL update);BOOL trust_password_unlock(void);BOOL trust_password_delete( char *domain, char *name );BOOL get_trust_account_password( unsigned char *ret_pwd, time_t *pass_last_set_time);BOOL set_trust_account_password( unsigned char *md4_new_pwd);BOOL trust_get_passwd( unsigned char trust_passwd[16], char *domain, char *myname);/*The following definitions come from printing/pcap.c */BOOL pcap_printername_ok(char *pszPrintername, char *pszPrintcapname);void pcap_printer_fn(void (*fn)(char *, char *));/*The following definitions come from printing/print_svid.c */void sysv_printer_fn(void (*fn)(char *, char *));int sysv_printername_ok(char *name);/*The following definitions come from printing/printing.c */void lpq_reset(int snum);void print_file(connection_struct *conn, files_struct *file);int get_printqueue(int snum, connection_struct *conn,print_queue_struct **queue, print_status_struct *status);void del_printqueue(connection_struct *conn,int snum,int jobid);void status_printjob(connection_struct *conn,int snum,int jobid,int status);int printjob_encode(int snum, int job);void printjob_decode(int jobid, int *snum, int *job);void status_printqueue(connection_struct *conn,int snum,int status);void load_printers(void);/*The following definitions come from rpc_client/cli_login.c */BOOL cli_nt_setup_creds(struct cli_state *cli, unsigned char mach_pwd[16]);BOOL cli_nt_srv_pwset(struct cli_state *cli, unsigned char *new_hashof_mach_pwd);BOOL cli_nt_login_interactive(struct cli_state *cli, char *domain, char *username, uint32 smb_userid_low, char *password, NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);BOOL cli_nt_login_network(struct cli_state *cli, char *domain, char *username, uint32 smb_userid_low, char lm_chal[8], char lm_chal_resp[24], char nt_chal_resp[24], NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);BOOL cli_nt_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);/*The following definitions come from rpc_client/cli_lsarpc.c */BOOL do_lsa_open_policy(struct cli_state *cli, char *server_name, POLICY_HND *hnd, BOOL sec_qos);BOOL do_lsa_lookup_sids(struct cli_state *cli, POLICY_HND *hnd, int num_sids, DOM_SID **sids, char ***names, int *num_names);BOOL do_lsa_query_info_pol(struct cli_state *cli, POLICY_HND *hnd, uint16 info_class, fstring domain_name, DOM_SID *domain_sid);BOOL do_lsa_close(struct cli_state *cli, POLICY_HND *hnd);/*The following definitions come from rpc_client/cli_netlogon.c */BOOL cli_net_logon_ctrl2(struct cli_state *cli, uint32 status_level);BOOL cli_net_auth2(struct cli_state *cli, uint16 sec_chan, uint32 neg_flags, DOM_CHAL *srv_chal);BOOL cli_net_req_chal(struct cli_state *cli, DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal);BOOL cli_net_srv_pwset(struct cli_state *cli, uint8 hashed_mach_pwd[16]);BOOL cli_net_sam_logon(struct cli_state *cli, NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);BOOL cli_net_sam_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);BOOL change_trust_account_password( char *domain, char *remote_machine_list);/*The following definitions come from rpc_client/cli_pipe.c */BOOL rpc_api_pipe_req(struct cli_state *cli, uint8 op_num, prs_struct *data, prs_struct *rdata);void cli_nt_set_ntlmssp_flgs(struct cli_state *cli, uint32 ntlmssp_flgs);BOOL cli_nt_session_open(struct cli_state *cli, char *pipe_name);void cli_nt_session_close(struct cli_state *cli);/*The following definitions come from rpc_client/cli_reg.c */BOOL do_reg_connect(struct cli_state *cli, char *full_keyname, char *key_name, POLICY_HND *reg_hnd);BOOL do_reg_open_hklm(struct cli_state *cli, uint16 unknown_0, uint32 level, POLICY_HND *hnd);BOOL do_reg_open_hku(struct cli_state *cli, uint16 unknown_0, uint32 level, POLICY_HND *hnd);BOOL do_reg_flush_key(struct cli_state *cli, POLICY_HND *hnd);BOOL do_reg_query_key(struct cli_state *cli, POLICY_HND *hnd, char *class, uint32 *class_len, uint32 *num_subkeys, uint32 *max_subkeylen, uint32 *max_subkeysize, uint32 *num_values, uint32 *max_valnamelen, uint32 *max_valbufsize, uint32 *sec_desc, NTTIME *mod_time);BOOL do_reg_unknown_1a(struct cli_state *cli, POLICY_HND *hnd, uint32 *unk);BOOL do_reg_query_info(struct cli_state *cli, POLICY_HND *hnd, char *type, uint32 *unk_0, uint32 *unk_1);BOOL do_reg_set_key_sec(struct cli_state *cli, POLICY_HND *hnd, SEC_DESC_BUF *sec_desc_buf);BOOL do_reg_get_key_sec(struct cli_state *cli, POLICY_HND *hnd, uint32 *sec_buf_size, SEC_DESC_BUF **ppsec_desc_buf);BOOL do_reg_delete_val(struct cli_state *cli, POLICY_HND *hnd, char *val_name);BOOL do_reg_delete_key(struct cli_state *cli, POLICY_HND *hnd, char *key_name);BOOL do_reg_create_key(struct cli_state *cli, POLICY_HND *hnd, char *key_name, char *key_class, SEC_ACCESS *sam_access, POLICY_HND *key);BOOL do_reg_enum_key(struct cli_state *cli, POLICY_HND *hnd, int key_index, char *key_name, uint32 *unk_1, uint32 *unk_2, time_t *mod_time);BOOL do_reg_create_val(struct cli_state *cli, POLICY_HND *hnd, char *val_name, uint32 type, BUFFER3 *data);BOOL do_reg_enum_val(struct cli_state *cli, POLICY_HND *hnd, int val_index, int max_valnamelen, int max_valbufsize, fstring val_name, uint32 *val_type, BUFFER2 *value);BOOL do_reg_open_entry(struct cli_state *cli, POLICY_HND *hnd, char *key_name, uint32 unk_0, POLICY_HND *key_hnd);BOOL do_reg_close(struct cli_state *cli, POLICY_HND *hnd);/*The following definitions come from rpc_client/cli_samr.c */BOOL get_samr_query_usergroups(struct cli_state *cli, POLICY_HND *pol_open_domain, uint32 user_rid, uint32 *num_groups, DOM_GID *gid);BOOL get_samr_query_userinfo(struct cli_state *cli, POLICY_HND *pol_open_domain, uint32 info_level, uint32 user_rid, SAM_USER_INFO_21 *usr);BOOL do_samr_chgpasswd_user(struct cli_state *cli, char *srv_name, char *user_name, char nt_newpass[516], uchar nt_oldhash[16], char lm_newpass[516], uchar lm_oldhash[16]);BOOL do_samr_unknown_38(struct cli_state *cli, char *srv_name);BOOL do_samr_query_dom_info(struct cli_state *cli, POLICY_HND *domain_pol, uint16 switch_value);BOOL do_samr_enum_dom_users(struct cli_state *cli, POLICY_HND *pol, uint16 num_entries, uint16 unk_0, uint16 acb_mask, uint16 unk_1, uint32 size, struct acct_info **sam, int *num_sam_users);BOOL do_samr_connect(struct cli_state *cli, char *srv_name, uint32 unknown_0, POLICY_HND *connect_pol);BOOL do_samr_open_user(struct cli_state *cli, POLICY_HND *pol, uint32 unk_0, uint32 rid, POLICY_HND *user_pol);BOOL do_samr_open_domain(struct cli_state *cli, POLICY_HND *connect_pol, uint32 rid, DOM_SID *sid, POLICY_HND *domain_pol);BOOL do_samr_query_unknown_12(struct cli_state *cli, POLICY_HND *pol, uint32 rid, uint32 num_gids, uint32 *gids, uint32 *num_aliases, fstring als_names [MAX_LOOKUP_SIDS], uint32 num_als_users[MAX_LOOKUP_SIDS]);BOOL do_samr_query_usergroups(struct cli_state *cli, POLICY_HND *pol, uint32 *num_groups, DOM_GID *gid);BOOL do_samr_query_userinfo(struct cli_state *cli, POLICY_HND *pol, uint16 switch_value, void* usr);BOOL do_samr_close(struct cli_state *cli, POLICY_HND *hnd);/*The following definitions come from rpc_client/cli_srvsvc.c */BOOL do_srv_net_srv_conn_enum(struct cli_state *cli, char *server_name, char *qual_name, uint32 switch_value, SRV_CONN_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd);BOOL do_srv_net_srv_sess_enum(struct cli_state *cli, char *server_name, char *qual_name, uint32 switch_value, SRV_SESS_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd);BOOL do_srv_net_srv_share_enum(struct cli_state *cli, char *server_name, uint32 switch_value, SRV_R_NET_SHARE_ENUM *r_o, uint32 preferred_len, ENUM_HND *hnd);BOOL do_srv_net_srv_file_enum(struct cli_state *cli, char *server_name, char *qual_name, uint32 switch_value, SRV_FILE_INFO_CTR *ctr, uint32 preferred_len, ENUM_HND *hnd);BOOL do_srv_net_srv_get_info(struct cli_state *cli, char *server_name, uint32 switch_value, SRV_INFO_CTR *ctr);/*The following definitions come from rpc_client/cli_wkssvc.c */BOOL do_wks_query_info(struct cli_state *cli, char *server_name, uint32 switch_value, WKS_INFO_100 *wks100);/*The following definitions come from rpc_parse/parse_lsa.c */void init_lsa_trans_name(LSA_TRANS_NAME *trn, UNISTR2 *uni_name, uint32 sid_name_use, char *name, uint32 idx);void init_lsa_sec_qos(LSA_SEC_QOS *qos, uint16 imp_lev, uint8 ctxt, uint8 eff, uint32 unknown);void init_lsa_obj_attr(LSA_OBJ_ATTR *attr, uint32 attributes, LSA_SEC_QOS *qos);void init_q_open_pol(LSA_Q_OPEN_POL *r_q, uint16 system_name, uint32 attributes, uint32 desired_access, LSA_SEC_QOS *qos);BOOL lsa_io_q_open_pol(char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, int depth);BOOL lsa_io_r_open_pol(char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, int depth);void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, char *server_name, uint32 attributes, uint32 desired_access, LSA_SEC_QOS *qos);BOOL lsa_io_q_open_pol2(char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, int depth);BOOL lsa_io_r_open_pol2(char *desc, LSA_R_OPEN_POL2 *r_p, prs_struct *ps, int depth);void init_q_query(LSA_Q_QUERY_INFO *q_q, POLICY_HND *hnd, uint16 info_class);BOOL lsa_io_q_query(char *desc, LSA_Q_QUERY_INFO *q_q, prs_struct *ps, int depth);BOOL lsa_io_q_enum_trust_dom(char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, prs_struct *ps, int depth);void init_r_enum_trust_dom(LSA_R_ENUM_TRUST_DOM *r_e, uint32 enum_context, char *domain_name, DOM_SID *domain_sid, uint32 status);BOOL lsa_io_r_enum_trust_dom(char *desc, LSA_R_ENUM_TRUST_DOM *r_e, prs_struct *ps, int depth);BOOL lsa_io_r_query(char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, int depth);void init_lsa_sid_enum(LSA_SID_ENUM *sen, int num_entries, DOM_SID **sids);void init_q_lookup_sids(LSA_Q_LOOKUP_SIDS *q_l, POLICY_HND *hnd, int num_sids, DOM_SID **sids, uint16 level);BOOL lsa_io_q_lookup_sids(char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, int depth);BOOL lsa_io_r_lookup_sids(char *desc, LSA_R_LOOKUP_SIDS *r_s, prs_struct *ps, int depth);void init_q_lookup_names(LSA_Q_LOOKUP_NAMES *q_l, POLICY_HND *hnd, int num_names, char **names);BOOL lsa_io_q_lookup_names(char *desc, LSA_Q_LOOKUP_NAMES *q_r, prs_struct *ps, int depth);BOOL lsa_io_r_lookup_names(char *desc, LSA_R_LOOKUP_NAMES *r_r, prs_struct *ps, int depth);void init_lsa_q_close(LSA_Q_CLOSE *q_c, POLICY_HND *hnd);BOOL lsa_io_q_close(char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth);BOOL lsa_io_r_close(char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth);/*The following definitions come from rpc_parse/parse_misc.c */BOOL smb_io_time(char *desc, NTTIME *nttime, prs_struct *ps, int depth);BOOL smb_io_lookup_level(char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth);uint32 get_enum_hnd(ENUM_HND *enh);void init_enum_hnd(ENUM_HND *enh, uint32 hnd);BOOL smb_io_enum_hnd(char *desc, ENUM_HND *hnd, prs_struct *ps, int depth);BOOL smb_io_dom_sid(char *desc, DOM_SID *sid, prs_struct *ps, int depth);void init_dom_sid(DOM_SID *sid, char *str_sid);void init_dom_sid2(DOM_SID2 *sid2, DOM_SID *sid);BOOL smb_io_dom_sid2(char *desc, DOM_SID2 *sid, prs_struct *ps, int depth);void init_str_hdr(STRHDR *hdr, int max_len, int len, uint32 buffer);BOOL smb_io_strhdr(char *desc, STRHDR *hdr, prs_struct *ps, int depth);void init_uni_hdr(UNIHDR *hdr, int len);BOOL smb_io_unihdr(char *desc, UNIHDR *hdr, prs_struct *ps, int depth);void init_buf_hdr(BUFHDR *hdr, int max_len, int len);BOOL smb_io_hdrbuf_pre(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 *offset);BOOL smb_io_hdrbuf_post(char *desc, BUFHDR *hdr, prs_struct *ps, int depth, uint32 ptr_hdrbuf, uint32 max_len, uint32 len);BOOL smb_io_hdrbuf(char *desc, BUFHDR *hdr, prs_struct *ps, int depth);void init_uni_hdr2(UNIHDR2 *hdr, int len);BOOL smb_io_unihdr2(char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth);void init_unistr(UNISTR *str, char *buf);BOOL smb_io_unistr(char *desc, UNISTR *uni, prs_struct *ps, int depth);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -