亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ntreg.h

?? The Offline NT Password Editor (c) 1997-2004 Petter Nordahl-Hagen
?? H
字號(hào):
/* * ntreg.h - NT Registry Hive access library, constants & structures *  * NOTE: defines are not frozen. It can and will change every release. * * Copyright (c) 1997-2003 Petter Nordahl-Hagen. * Freely distributable in source or binary for noncommercial purposes, * but I allow some exceptions to this. * Please see the COPYING file for more details on * copyrights & credits. *   * THIS SOFTWARE IS PROVIDED BY PETTER NORDAHL-HAGEN `AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */ #ifndef _INCLUDE_NTREG_H#define _INCLUDE_NTREG_H 1#define SZ_MAX     4096       /* Max unicode strlen before we truncate */#define KEY_ROOT   0x2c         /* Type ID of ROOT key node */#define KEY_NORMAL 0x20       /* Normal nk key */#define ABSPATHLEN 2048/* Datatypes of the values in the registry */#define REG_NONE                    0  /* No value type */#define REG_SZ                      1  /* Unicode nul terminated string */#define REG_EXPAND_SZ               2  /* Unicode nul terminated string + env */#define REG_BINARY                  3  /* Free form binary */#define REG_DWORD                   4  /* 32-bit number */#define REG_DWORD_BIG_ENDIAN        5  /* 32-bit number */#define REG_LINK                    6  /* Symbolic Link (unicode) */#define REG_MULTI_SZ                7  /* Multiple Unicode strings */#define REG_RESOURCE_LIST           8  /* Resource list in the resource map */#define REG_FULL_RESOURCE_DESCRIPTOR 9 /* Resource list in the hardware description */#define REG_RESOURCE_REQUIREMENTS_LIST 10#define REG_MAX 10/* The first page of the registry file is some kind of header, lot of * it's contents is unknown, and seems to be mostly NULLs anyway. * Note also, that this is the only place in the registry I've been * able to find _any_ kind of checksumming */struct regf_header {  long id;            /* 0x00000000	D-Word	ID: ASCII-"regf" = 0x66676572 */  long unknown1;      /* 0x00000004	D-Word	???? */  long unknown2;      /* 0x00000008	D-Word	???? Always the same value as at 0x00000004  */  char timestamp[8];  /* 0x0000000C	Q-Word	last modify date in WinNT date-format */  long unknown3;      /* 0x00000014	D-Word	1 */  long unknown4;      /* 0x00000018	D-Word	3 - probably version #. 2 in NT3.51 */  long unknown5;      /* 0x0000001C	D-Word	0 */  long unknown6;      /* 0x00000020	D-Word	1 */  long ofs_rootkey;   /* 0x00000024	D-Word	Offset of 1st key record */  long filesize;      /* 0x00000028	D-Word	Size of the data-blocks (Filesize-4kb) */  long unknown7;      /* 0x0000002C	D-Word	1 */  char name[0x1fc-0x2c];   /* Seems like the hive's name is buried here, max len unknown */  long checksum;      /* 0x000001FC	D-Word	Sum of all D-Words from 0x00000000 to 0x000001FB */};/* The page header, I don't know if the 14 "dummy" bytes has a meaning, * they seem to be mostly NULLS */struct  hbin_page {  long id;          /* 0x0000	D-Word	ID: ASCII-"hbin" = 0x6E696268  */  long ofs_from1;   /* 0x0004	D-Word	Offset from the 1st hbin-Block */  long ofs_next;    /* 0x0008	D-Word	Offset to the next hbin-Block (from THIS ONE)  */  char dummy1[14];  long len_page;    /* 0x001C	D-Word	Block-size??? Don't look like it,                                        I only use the next-offset in this program  */  char data[1];     /* 0x0020   First data block starts here           */};/* Minimum block size utilized at end of block * seem to be either 8 or 16, less than this * is only filled with garbage. (usually 0xB2 0xB2 ..) */#define HBIN_ENDFILL 0/* Security descriptor. I know how it's linked, but don't know   how the real security data is constructed, it may as well   be like the higher level security structs defined by MS in its   includes & NT docs. Currently, I have no use for it.   Note that keys sharing the exact same security settings will   most likely point to the same security descriptor, thus   saving space and making it fast to make objects inherit settings   (is inheritance supported? they speak of security inheritance as a "new"    feature in the filesystem on NT5, even though I think it was    also supported by the lower levels in the earlier versions)*/struct sk_key {  short id;          /* 0x0000	Word	ID: ASCII-"sk" = 0x6B73        */  short dummy1;      /* 0x0002	Word	Unused                         */  long  ofs_prevsk;  /* 0x0004	D-Word	Offset of previous "sk"-Record */  long  ofs_nextsk;  /* 0x0008	D-Word	Offset of next "sk"-Record     */  long  no_usage;    /* 0x000C	D-Word	usage-counter                  */  long  len_sk;      /* 0x0010	D-Word	Size of "sk"-record in bytes   */  char  data[4];     /* Security data up to len_sk bytes               */};/* This is the subkeylist/hash structure. NT4.0+. * ID + count, then count number of offset/4byte "hash". (not true hash) * Probably changed from the 3.x version to make it faster to * traverse the registry if you're looking for a specific name * (saves lookups in 'nk's that have the first 4 name chars different) */struct lf_key {  short id;         /* 0x0000	Word	ID: ASCII-"lf" = 0x666C or "lh" = 0x686c */  short no_keys;    /* 0x0002	Word	number of keys          */                    /* 0x0004	????	Hash-Records            */   union {    struct lf_hash {      long ofs_nk;    /* 0x0000	D-Word	Offset of corresponding "nk"-Record  */      char name[4];   /* 0x0004	D-Word	ASCII: the first 4 characters of the key-name,  */    } hash[1];      /* WinXP uses a more real hash instead (base 37 of uppercase name chars)  */      /* 		padded with 0's. Case sensitiv!                         */    struct lh_hash {      long ofs_nk;    /* 0x0000	D-Word	Offset of corresponding "nk"-Record  */      long hash;      /* 0x0004	D-Word	ASCII: the first 4 characters of the key-name,  */    } lh_hash[1];  };};/* 3.x version of the above, contains only offset table, NOT * any start of names "hash". Thus needs 'nk' lookups for searches. */struct li_key {  short id;         /* 0x0000	Word	ID: ASCII-"li" = 0x696C */  short no_keys;    /* 0x0002	Word	number of keys          */                    /* 0x0004	????	Hash-Records            */  struct li_hash {    long ofs_nk;    /* 0x0000	D-Word	Offset of corresponding "nk"-Record  */  } hash[1];};/* This is a list of pointers to struct li_key, ie * an extention record if many li's. * This happens in NT4&5 when the lf hashlist grows larger * than about 400-500 entries/subkeys??, then the nk_key->ofs_lf points to this * instead of directly to an lf. * The sub-indices this points to seems to be li (yes!) in NT4 and 2k. * In XP and newer they point to lh which is more efficient. * Likely to happen in HKLM\Software\classes (file extention list) and * in SAM when many users. */struct ri_key {  short id;         /* 0x0000	Word	ID: ASCII-"ri" = 0x6972 */  short no_lis;    /* 0x0002	Word	number of pointers to li */                    /* 0x0004	????	Hash-Records            */  struct ri_hash {      long ofs_li;    /* 0x0000	D-Word	Offset of corresponding "li"-Record  */  } hash[1];};/* This is the value descriptor. * If the sign bit (31st bit) in the length field is set, the value is * stored inline this struct, and not in a seperate data chunk - * the data then seems to be in the type field, and maybe also * in the flag and dummy1 field if -len > 4 bytes * If the name size == 0, then the struct is probably cut short right * after the val_type or flag. * The flag meaning is rather unknown. */struct vk_key {                    /* Offset	Size	Contents                 */  short id;         /* 0x0000	Word	ID: ASCII-"vk" = 0x6B76  */  short len_name;   /* 0x0002	Word	name length              */  long  len_data;   /* 0x0004	D-Word	length of the data       */  long  ofs_data;   /* 0x0008	D-Word	Offset of Data           */  long  val_type;   /* 0x000C	D-Word	Type of value            */  short flag;       /* 0x0010	Word	Flag                     */  short dummy1;     /* 0x0012	Word	Unused (data-trash)      */  char  keyname[1]; /* 0x0014	????	Name                     */};/* This is the key node (ie directory) descriptor, can contain subkeys and/or values. * Note that for values, the count is stored here, but for subkeys * there's a count both here and in the offset-table (lf or li struct). * What happens if these mismatch is not known. * What's the classname thingy? Can't remember seeing that used in * anything I've looked at. */struct nk_key {                        /* Offset	Size	Contents */  short id;             /*  0x0000	Word	ID: ASCII-"nk" = 0x6B6E                */  short type;           /*  0x0002	Word	for the root-key: 0x2C, otherwise 0x20 */  char  timestamp[12];  /*  0x0004	Q-Word	write-date/time in windows nt notation */  long  ofs_parent;     /*  0x0010	D-Word	Offset of Owner/Parent key             */  long  no_subkeys;     /*  0x0014	D-Word	number of sub-Keys                     */  char  dummy1[4];  long  ofs_lf;         /*  0x001C	D-Word	Offset of the sub-key lf-Records       */  char  dummy2[4];  long  no_values;      /*  0x0024	D-Word	number of values                       */  long  ofs_vallist;    /*  0x0028	D-Word	Offset of the Value-List               */  long  ofs_sk;         /*  0x002C	D-Word	Offset of the sk-Record                */  long  ofs_classnam;   /*  0x0030	D-Word	Offset of the Class-Name               */  char  dummy3[16];  long  dummy4;         /*  0x0044	D-Word	Unused (data-trash)                    */  short len_name;       /*  0x0048	Word	name-length                            */  short len_classnam;   /*  0x004A	Word	class-name length                      */  char  keyname[1];     /*  0x004C	????	key-name                               */};/*********************************************************************************//* Structure defines for my routines */struct ex_data {  int nkoffs;  struct nk_key *nk;  char *name;};struct vex_data {  int vkoffs;  struct vk_key *vk;  int type;       /* Value type REG_??? */  int size;       /* Values size (normalized, inline accounted for) */  int val;        /* Actual value itself if type==REG_DWORD */  char *name;};struct keyval {  int len;      /* Length of databuffer */  int data;    /* Data. Goes on for length of value */};struct keyvala {  int len;      /* Length of databuffer */  int data[1];    /* Data. Goes on for length of value */};#define HMODE_RW        0#define HMODE_RO        0x1#define HMODE_OPEN      0x2#define HMODE_DIRTY     0x4#define HMODE_NOALLOC   0x8#define HMODE_VERBOSE 0x1000/* Suggested type of hive loaded, guessed by library, but not used by it */#define HTYPE_UNKNOWN   0#define HTYPE_SAM       1#define HTYPE_SYSTEM    2#define HTYPE_SECURITY  3#define HTYPE_SOFTWARE  4/* Hive definition, allocated by openHive(), dealloc by closeHive() * contains state data, must be passed in all functions */struct hive {  char *filename;        /* Hives filename */  int  filedesc;         /* File descriptor (only valid if state == OPEN) */  int  state;            /* Current state of hive */  int  type;             /* Suggested type of hive. NOTE: Library will guess when			    it loads it, but application may change it if needed */  int  pages;            /* Number of pages, total */  int  useblk;           /* Total # of used blocks */  int  unuseblk;         /* Total # of unused blocks */  int  usetot;           /* total # of bytes in useblk */  int  unusetot;         /* total # of bytes in unuseblk */  int  size;             /* Hives size (filesise) in bytes */  int  rootofs;          /* Offset of root-node */  short nkindextype;     /* Subkey-indextype the root key uses */  char *buffer;          /* Files raw contents */};/***************************************************//* Various nice macros */#define CREATE(result, type, number)\    { \        if (!((result) = (type *) calloc ((number), sizeof(type)))) { \            perror("malloc failure"); \            abort() ; \       } \    }#define ALLOC(result, size, number)\    { \        if (!((result) = (void *) calloc ((number), (size)))) { \            perror("malloc failure"); \            abort() ; \       } \    }#define FREE(p) { if (p) { free(p); (p) = 0; } }#endif/******* Function prototypes **********/char *str_dup( const char *str );int fmyinput(char *prmpt, char *ibuf, int maxlen);void hexprnt(char *s, unsigned char *bytes, int len);void hexdump(char *hbuf, int start, int stop, int ascii);int find_in_buf(char *buf, char *what, int sz, int len, int start);int get_int( char *array );void cheap_uni2ascii(char *src, char *dest, int l);void cheap_ascii2uni(char *src, char *dest, int l);void skipspace(char **c);int gethex(char **c);int gethexorstr(char **c, char *wb);int debugit(char *buf, int sz);int parse_block(struct hive *hdesc, int vofs,int verbose);int ex_next_n(struct hive *hdesc, int nkofs, int *count, int *countri, struct ex_data *sptr);int ex_next_v(struct hive *hdesc, int nkofs, int *count, struct vex_data *sptr);int get_abs_path(struct hive *hdesc, int nkofs, char *path, int maxlen);int trav_path(struct hive *hdesc, int vofs, char *path, int type);int get_val_type(struct hive *hdesc, int vofs, char *path);int get_val_len(struct hive *hdesc, int vofs, char *path);void *get_val_data(struct hive *hdesc, int vofs, char *path, int val_type);struct keyval *get_val2buf(struct hive *hdesc, struct keyval *kv,			   int vofs, char *path, int type );int get_dword(struct hive *hdesc, int vofs, char *path);int put_buf2val(struct hive *hdesc, struct keyval *kv,		int vofs, char *path, int type );int put_dword(struct hive *hdesc, int vofs, char *path, int dword);void closeHive(struct hive *hdesc);int writeHive(struct hive *hdesc);struct hive *openHive(char *filename, int mode);void nk_ls(struct hive *hdesc, char *path, int vofs, int type);struct vk_key *add_value(struct hive *hdesc, int nkofs, char *name, int type);void del_allvalues(struct hive *hdesc, int nkofs);int del_value(struct hive *hdesc, int nkofs, char *name);struct nk_key *add_key(struct hive *hdesc, int nkofs, char *name);int del_key(struct hive *hdesc, int nkofs, char *name);void rdel_keys(struct hive *hdesc, char *path, int nkofs);struct keyval *get_class(struct hive *hdesc, int curnk, char *path);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩成人一级大片| 日韩高清欧美激情| 欧美老女人第四色| 国产成人精品午夜视频免费| 亚洲一区二区在线视频| 久久久亚洲高清| 欧美日本国产一区| 丁香五精品蜜臀久久久久99网站| 图片区日韩欧美亚洲| 国产女主播视频一区二区| 91精品国产综合久久精品麻豆 | 五月激情综合婷婷| 中文字幕第一页久久| 4438成人网| 91黄色小视频| 成人动漫一区二区三区| 久久99日本精品| 性欧美疯狂xxxxbbbb| 亚洲欧美一区二区三区国产精品| 欧美精品一区二区三区久久久| 色哦色哦哦色天天综合| 成人性色生活片| 国产一区二区网址| 久久精品99国产国产精| 亚洲18色成人| 亚洲国产日韩在线一区模特| 国产精品人妖ts系列视频| 26uuu国产电影一区二区| 91精品国产综合久久婷婷香蕉| 色综合天天视频在线观看 | 成人手机在线视频| 久久99精品国产麻豆婷婷洗澡| 性做久久久久久免费观看| 亚洲欧美日韩国产综合| 最好看的中文字幕久久| 国产女主播视频一区二区| 国产亚洲成年网址在线观看| 精品国产乱码久久久久久浪潮| 91精品国产黑色紧身裤美女| 欧美日韩一级大片网址| 欧美色综合久久| 欧美美女网站色| 欧美系列日韩一区| 欧美三级午夜理伦三级中视频| 色婷婷综合久久久中文一区二区| 91在线视频播放地址| 成人一区二区三区视频| 成人99免费视频| 97aⅴ精品视频一二三区| 99在线精品观看| 91视频一区二区三区| 97精品久久久久中文字幕| 91免费观看国产| 色老头久久综合| 欧美片网站yy| 日韩欧美123| 亚洲精品在线观看网站| 国产精品三级视频| 亚洲色图在线播放| 亚洲va国产va欧美va观看| 五月婷婷综合网| 久久成人麻豆午夜电影| 国产大陆亚洲精品国产| 成人福利视频网站| 欧美伊人久久大香线蕉综合69| 正在播放一区二区| 精品国产123| 国产精品天干天干在线综合| 亚洲伦理在线免费看| 亚洲成人一区在线| 国产做a爰片久久毛片| 成人听书哪个软件好| 色天天综合久久久久综合片| 欧美日韩电影一区| 久久久精品中文字幕麻豆发布| 日韩美女视频一区| 亚洲国产日产av| 精品在线播放午夜| 97se亚洲国产综合自在线观| 欧美另类高清zo欧美| 久久美女高清视频| 伊人性伊人情综合网| 欧美96一区二区免费视频| 成人综合婷婷国产精品久久免费| 91福利视频久久久久| 日韩精品一区二区三区四区视频| 中文字幕精品在线不卡| 亚洲中国最大av网站| 国产又粗又猛又爽又黄91精品| 99re成人精品视频| 欧美va日韩va| 亚洲欧美另类久久久精品2019| 日韩高清在线观看| 91香蕉国产在线观看软件| 日韩精品中午字幕| 夜夜揉揉日日人人青青一国产精品| 美女视频黄久久| 色婷婷国产精品综合在线观看| 日韩精品综合一本久道在线视频| 亚洲视频一区二区在线观看| 日本欧美一区二区| 日本黄色一区二区| 国产精品三级av在线播放| 日韩成人一级大片| 欧美影视一区在线| 中文字幕一区二区三区不卡 | 亚洲va国产天堂va久久en| 豆国产96在线|亚洲| 日韩亚洲欧美综合| 亚洲综合图片区| 国产a级毛片一区| 日韩欧美一级特黄在线播放| 一区二区三区四区不卡视频| 久久国内精品自在自线400部| 91久久精品一区二区三| 国产日韩欧美制服另类| 天堂va蜜桃一区二区三区| 欧美午夜片在线观看| 亚洲人成影院在线观看| 91福利精品视频| 中文字幕一区三区| 另类综合日韩欧美亚洲| 欧美日韩成人综合在线一区二区| 亚洲人成亚洲人成在线观看图片| 国产91高潮流白浆在线麻豆| 日韩一区二区三区电影在线观看| 亚洲精品成人a在线观看| 成人激情小说乱人伦| 国产亚洲欧美色| 国产精品99久久不卡二区| 欧美va亚洲va| 久久成人久久爱| 精品国产青草久久久久福利| 日韩高清国产一区在线| 欧美精品在线一区二区| 午夜精品在线看| 欧美日韩另类一区| 午夜激情久久久| 欧美精品tushy高清| 日韩高清在线一区| 日韩欧美国产综合| 加勒比av一区二区| 26uuu欧美| 国产成人精品在线看| 国产欧美精品一区二区三区四区 | 国产成人小视频| 久久亚洲一区二区三区明星换脸 | 色综合久久久久综合99| 亚洲日韩欧美一区二区在线| 不卡一区在线观看| 综合分类小说区另类春色亚洲小说欧美| 福利视频网站一区二区三区| 欧美激情一区在线观看| 99久久婷婷国产精品综合| 亚洲啪啪综合av一区二区三区| 91美女片黄在线观看| 亚洲精品国产无天堂网2021| 欧美日韩精品一区视频| 日韩中文字幕1| 精品成人a区在线观看| 成人午夜免费电影| 亚洲嫩草精品久久| 欧美日韩精品欧美日韩精品一 | 国产在线播放一区二区三区| 国产夜色精品一区二区av| 成a人片亚洲日本久久| 亚洲国产美国国产综合一区二区| 91精品国产欧美一区二区| 精品在线播放免费| 综合激情成人伊人| 欧美久久一二区| 九一九一国产精品| 国产精品久线在线观看| 欧美性生交片4| 精品一区二区三区的国产在线播放| 国产亚洲精品久| 欧美午夜片在线看| 国产成人av一区二区三区在线 | 中文字幕制服丝袜一区二区三区 | www.亚洲在线| 亚洲成人精品影院| 久久久99免费| 欧美色视频在线观看| 国产精品99久久久| 午夜精品久久久久久久蜜桃app| 337p日本欧洲亚洲大胆色噜噜| www.色精品| 日本不卡免费在线视频| 国产精品久久久久久久午夜片| 欧美体内she精高潮| 国产一区二三区| 曰韩精品一区二区| 久久亚洲综合色| 欧美肥大bbwbbw高潮| 成人18视频日本| 久久狠狠亚洲综合| 亚洲一卡二卡三卡四卡五卡| 久久精品亚洲麻豆av一区二区| 欧美日韩亚洲综合在线| 国产不卡免费视频|