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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dumprom.cpp

?? wince 內核dump程序
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
    WORD   e_ip;                        // Initial IP value    WORD   e_cs;                        // Initial (relative) CS value    WORD   e_lfarlc;                    // File address of relocation table    WORD   e_ovno;                      // Overlay number    WORD   e_res[4];                    // Reserved words    WORD   e_oemid;                     // OEM identifier (for e_oeminfo)    WORD   e_oeminfo;                   // OEM information; e_oemid specific    WORD   e_res2[10];                  // Reserved words    LONG   e_lfanew;                    // File address of new exe header  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;#define IMAGE_FILE_RELOCS_STRIPPED           0x0001  // Relocation info stripped from file.#define IMAGE_SCN_CNT_CODE                   0x00000020  // Section contains code.#define IMAGE_SCN_CNT_INITIALIZED_DATA       0x00000040  // Section contains initialized data.#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  // Section contains uninitialized data.#endif#define STD_EXTRA       16// see c:\local\WINCE420\PUBLIC\COMMON\OAK\INC\pehdr.h// indexes into 'e32_unit'#define EXP             0           /* Export table position               */#define IMP             1           /* Import table position               */#define RES             2           /* Resource table position             */#define EXC             3           /* Exception table position            */#define SEC             4           /* Security table position             */#define FIX             5           /* Fixup table position                */#define DEB             6           /* Debug table position                */#define IMD             7           /* Image description table position    */#define MSP             8           /* Machine specific table position     */#define TLS             9           /* Thread Local Storage                */#define CBK            10           /* Callbacks                           */#define RS1            11           /* Reserved                            */#define RS2            12           /* Reserved                            */#define RS3            13           /* Reserved                            */#define RS4            14           /* Reserved                            */#define RS5            15           /* Reserved                            */// value for e32_cpu#define IMAGE_FILE_MACHINE_ARM               0x01c0  // ARM Little-Endian// this is the 'FILE HEADER VALUES' in dumpbin outputtypedef struct e32_exe {            /* PE 32-bit .EXE header               */    unsigned char   e32_magic[4];   /* Magic number E32_MAGIC              */    unsigned short  e32_cpu;        /* The CPU type                        */    unsigned short  e32_objcnt;     /* Number of memory objects            */    unsigned long   e32_timestamp;  /* Time EXE file was created/modified  */    unsigned long   e32_symtaboff;  /* Offset to the symbol table          */    unsigned long   e32_symcount;   /* Number of symbols                   */    unsigned short  e32_opthdrsize; /* Optional header size                */    unsigned short  e32_imageflags; /* Image flags                         */    unsigned short  e32_coffmagic;  /* Coff magic number (usually 0x10b)   */    unsigned char   e32_linkmajor;  /* The linker major version number     */    unsigned char   e32_linkminor;  /* The linker minor version number     */    unsigned long   e32_codesize;   /* Sum of sizes of all code sections   */    unsigned long   e32_initdsize;  /* Sum of all initialized data size    */    unsigned long   e32_uninitdsize;/* Sum of all uninitialized data size  */    unsigned long   e32_entryrva;   /* Relative virt. addr. of entry point */    unsigned long   e32_codebase;   /* Address of beginning of code section*/    unsigned long   e32_database;   /* Address of beginning of data section*/    unsigned long   e32_vbase;      /* Virtual base address of module      */    unsigned long   e32_objalign;   /* Object Virtual Address align. factor*/    unsigned long   e32_filealign;  /* Image page alignment/truncate factor*/    unsigned short  e32_osmajor;    /* The operating system major ver. no. */    unsigned short  e32_osminor;    /* The operating system minor ver. no. */    unsigned short  e32_usermajor;  /* The user major version number       */    unsigned short  e32_userminor;  /* The user minor version number       */    unsigned short  e32_subsysmajor;/* The subsystem major version number  */    unsigned short  e32_subsysminor;/* The subsystem minor version number  */    unsigned long   e32_res1;       /* Reserved bytes - must be 0  */    unsigned long   e32_vsize;      /* Virtual size of the entire image    */    unsigned long   e32_hdrsize;    /* Header information size             */    unsigned long   e32_filechksum; /* Checksum for entire file            */    unsigned short  e32_subsys;     /* The subsystem type                  */    unsigned short  e32_dllflags;   /* DLL flags                           */    unsigned long   e32_stackmax;   /* Maximum stack size                  */    unsigned long   e32_stackinit;  /* Initial committed stack size        */    unsigned long   e32_heapmax;    /* Maximum heap size                   */    unsigned long   e32_heapinit;   /* Initial committed heap size         */    unsigned long   e32_res2;       /* Reserved bytes - must be 0  */    unsigned long   e32_hdrextra;   /* Number of extra info units in header*/    struct info     e32_unit[STD_EXTRA]; /* Array of extra info units      */} e32_exe, *LPe32_exe;// this is the 'section header' in dumpbin output#define E32OBJNAMEBYTES 8               /* Name bytes                       */typedef struct o32_obj {                /* .EXE memory object table entry   */    unsigned char       o32_name[E32OBJNAMEBYTES];/* Object name            */    unsigned long       o32_vsize;      /* Virtual memory size              */    unsigned long       o32_rva;        /* Object relative virtual address  */    unsigned long       o32_psize;      /* Physical file size of init. data */    unsigned long       o32_dataptr;    /* Image pages offset               */    unsigned long       o32_realaddr;   /* pointer to actual                */    unsigned long       o32_access;     /* assigned access                  */    unsigned long       o32_temp3;    unsigned long       o32_flags;      /* Attribute flags for the object   */} o32_obj, *LPo32_obj;typedef DWORD (*CEDECOMPRESSFN)(LPBYTE BufIn, DWORD InSize, LPBYTE BufOut, DWORD OutSize, DWORD skip, DWORD n, DWORD blocksize);extern "C" DWORD CEDecompressROM(LPBYTE BufIn, DWORD InSize, LPBYTE BufOut, DWORD OutSize, DWORD skip, DWORD n, DWORD blocksize);extern "C" DWORD CEDecompress(LPBYTE BufIn, DWORD InSize, LPBYTE BufOut, DWORD OutSize, DWORD skip, DWORD n, DWORD blocksize);CEDECOMPRESSFN cedecompress= CEDecompressROM;bool g_iswince3rom= false;#define CECOMPRESS_ALLZEROS 0#define CECOMPRESS_FAILED   0xffffffffUL#define CEDECOMPRESS_FAILED 0xffffffffUL// -----------------------------------------------------------------------------// -----------------------------------------------------------------------------/*----------- functions to recreate original file -----------*/void WriteBlanks(FILE *f, DWORD nblanks){    fseek(f, nblanks, SEEK_CUR);}void WriteAlignment(FILE *f, DWORD pagesize){    DWORD curofs= ftell(f);    if (curofs%pagesize)        WriteBlanks(f, pagesize-(curofs%pagesize));}void WriteDummyMZHeader(FILE *f){    IMAGE_DOS_HEADER dos;    memset(&dos, 0, sizeof(dos));    dos.e_magic= IMAGE_DOS_SIGNATURE;    dos.e_cblp = 0x90;        // Bytes on last page of file    dos.e_cp   = 3;           // Pages in file    dos.e_cparhdr= 0x4;       // Size of header in paragraphs    dos.e_maxalloc= 0xffff;   // Maximum extra paragraphs needed    dos.e_sp= 0xb8;           // Initial SP value    dos.e_lfarlc= 0x40;       // File address of relocation table    dos.e_lfanew= 0xc0;       // File address of new exe header    BYTE doscode[]= {        0x0e, 0x1f, 0xba, 0x0e, 0x00, 0xb4, 0x09, 0xcd, 0x21, 0xb8, 0x01, 0x4c, 0xcd, 0x21, 0x54, 0x68,        0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x20, 0x63, 0x61, 0x6e, 0x6e, 0x6f,        0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x44, 0x4f, 0x53, 0x20,        0x6d, 0x6f, 0x64, 0x65, 0x2e, 0x0d, 0x0d, 0x0a, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    };    fwrite(&dos, 1, sizeof(dos), f);    fwrite(&doscode, 1, sizeof(doscode), f);    WriteBlanks(f, 0x40);    // ftell should be 0xc0 here.}DWORD FindFirstSegment(const o32_rom *o32, DWORD objcnt, int segtypeflag){    for (DWORD i= 0 ; i<objcnt ; i++)    {        if (o32[i].o32_flags&segtypeflag)            return o32[i].o32_rva;    }    return 0;}DWORD CalcSegmentSizeSum(const o32_rom *o32, DWORD objcnt, int segtypeflag){    DWORD size= 0;    for (DWORD i= 0 ; i<objcnt ; i++)    {        // vsize is not entirely correct, I should use the uncompressed size,        // but, I don't know that here yet.        if (o32[i].o32_flags&segtypeflag)            size += o32[i].o32_vsize;    }    return size;}DWORD FiletimeToTime_t(const FILETIME *pft){    __int64 t; t= pft->dwHighDateTime; t<<=32; t |= pft->dwLowDateTime;    t /= 10000000LL;    t -= 11644473600LL;    return (DWORD)t;}void WriteE32Header(FILE *f, const ROMHDR *rom, const e32_rom *e32, const TOCentry *t, const o32_rom *o32){    e32_exe pe32;    memset(&pe32, 0, sizeof(pe32));    pe32.e32_magic[0]= 'P';    pe32.e32_magic[1]= 'E';    pe32.e32_cpu= rom->usCPUType;    pe32.e32_objcnt= e32->e32_objcnt;    pe32.e32_timestamp= FiletimeToTime_t(&t->ftTime);    pe32.e32_symtaboff=0;    pe32.e32_symcount=0;    pe32.e32_opthdrsize= 0xe0;    pe32.e32_imageflags= e32->e32_imageflags | IMAGE_FILE_RELOCS_STRIPPED;    pe32.e32_coffmagic= 0x10b;    pe32.e32_linkmajor= 6;    pe32.e32_linkminor= 1;    pe32.e32_codesize= CalcSegmentSizeSum(o32, e32->e32_objcnt, IMAGE_SCN_CNT_CODE);    pe32.e32_initdsize= CalcSegmentSizeSum(o32, e32->e32_objcnt, IMAGE_SCN_CNT_INITIALIZED_DATA);    pe32.e32_uninitdsize= CalcSegmentSizeSum(o32, e32->e32_objcnt, IMAGE_SCN_CNT_UNINITIALIZED_DATA);    pe32.e32_entryrva= e32->e32_entryrva;    pe32.e32_codebase= FindFirstSegment(o32, e32->e32_objcnt, IMAGE_SCN_CNT_CODE);    pe32.e32_database= FindFirstSegment(o32, e32->e32_objcnt, IMAGE_SCN_CNT_INITIALIZED_DATA);    pe32.e32_vbase= e32->e32_vbase;    pe32.e32_objalign= 0x1000;    pe32.e32_filealign= 0x200;    pe32.e32_osmajor= 4;    pe32.e32_osminor= 0;    pe32.e32_usermajor;    pe32.e32_userminor;    pe32.e32_subsysmajor= e32->e32_subsysmajor;    pe32.e32_subsysminor= e32->e32_subsysminor;    pe32.e32_res1;    pe32.e32_vsize= e32->e32_vsize;    pe32.e32_hdrsize;    // *** set at a later moment - after alignment is known    pe32.e32_filechksum= 0;    pe32.e32_subsys= e32->e32_subsys;    pe32.e32_dllflags;    pe32.e32_stackmax= e32->e32_stackmax;    pe32.e32_stackinit=0x1000; // ?    pe32.e32_heapmax=0x100000; // ?    pe32.e32_heapinit=0x1000; // ?    pe32.e32_res2;    pe32.e32_hdrextra=STD_EXTRA;   // nr of directories    pe32.e32_unit[EXP]= e32->e32_unit[EXP];    pe32.e32_unit[IMP]= e32->e32_unit[IMP];    pe32.e32_unit[RES]= e32->e32_unit[RES];    pe32.e32_unit[EXC]= e32->e32_unit[EXC];    pe32.e32_unit[SEC]= e32->e32_unit[SEC]; // always 0    // relocation info is always missing    // pe32.e32_unit[FIX]= e32->e32_unit[FIX];    // deb struct has pointer outside known filearea    //pe32.e32_unit[DEB]= e32->e32_unit[DEB];    pe32.e32_unit[IMD]= e32->e32_unit[IMD]; // always 0    pe32.e32_unit[MSP]= e32->e32_unit[MSP]; // always 0    pe32.e32_unit[RS4].rva= e32->e32_sect14rva;    pe32.e32_unit[RS4].size= e32->e32_sect14size;    fwrite(&pe32, 1, sizeof(pe32), f);}#define IMAGE_SCN_CNT_CODE                   0x00000020  // Section contains code.#define IMAGE_SCN_CNT_INITIALIZED_DATA       0x00000040  // Section contains initialized data.#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  // Section contains uninitialized data.#define ST_TEXT  0#define ST_DATA  1#define ST_PDATA 2#define ST_RSRC  3#define ST_OTHER 4DWORD g_segmentNameUsage[5];char *g_segmentNames[5]= { ".text", ".data", ".pdata", ".rsrc", ".other" };DWORD WriteO32Header(FILE *f, const e32_rom *e32, const o32_rom *o32){    o32_obj po32;    memset(&po32, 0, sizeof(po32));    int segtype;    if (e32->e32_unit[RES].rva==o32->o32_rva && e32->e32_unit[RES].size==o32->o32_vsize)        segtype= ST_RSRC;    else if (e32->e32_unit[EXC].rva==o32->o32_rva && e32->e32_unit[EXC].size==o32->o32_vsize)        segtype= ST_PDATA;    else if (o32->o32_flags&IMAGE_SCN_CNT_CODE)        segtype= ST_TEXT;    else if (o32->o32_flags&IMAGE_SCN_CNT_INITIALIZED_DATA)        segtype= ST_DATA;    else if (o32->o32_flags&IMAGE_SCN_CNT_UNINITIALIZED_DATA)        segtype= ST_PDATA;    else        segtype= ST_OTHER;    if (g_segmentNameUsage[segtype])     {        _snprintf((char*)po32.o32_name, 8, "%s%ld", g_segmentNames[segtype], g_segmentNameUsage[segtype]);    }    else    {        _snprintf((char*)po32.o32_name, 8, "%s", g_segmentNames[segtype]);    }    g_segmentNameUsage[segtype]++;    po32.o32_vsize=         o32->o32_vsize;    po32.o32_rva=           g_iswince3rom  ? o32->o32_rva : o32->o32_realaddr-e32->e32_vbase;    po32.o32_psize=         0; // *** set at a later moment - after uncompressed size is known    po32.o32_dataptr=       0; // *** set at a later moment - after uncompressed size is known    po32.o32_realaddr=      0; // file pointer to relocation table    po32.o32_access=        0; // file pointer to line numbers    po32.o32_temp3=         0; // number of relocations + number of line numbers    po32.o32_flags=         o32->o32_flags & ~IMAGE_SCN_COMPRESSED;    fwrite(&po32, 1, sizeof(po32), f);    return po32.o32_rva;}DWORD WriteUncompressedData(FILE *f, DWORD dataptr, DWORD datasize, BOOL bCompressed, DWORD maxUncompressedSize){    BYTE *buf= (BYTE*)g_mem.GetPtr(dataptr);    if (buf==NULL)        return 0;    DWORD buflen= datasize;    if (g_iswince3rom && datasize==maxUncompressedSize) {        // bug in wince3,  compressed flag set, while data is not compressed.    }    else if (bCompressed) {        BYTE *dcbuf= new BYTE[maxUncompressedSize+4096];        buflen= cedecompress(buf, datasize, dcbuf, maxUncompressedSize, 0, 1, 4096);        if (buflen!=CEDECOMPRESS_FAILED)        {            buf= dcbuf;        }        else {            printf("error decompressing %08lxL%08lx\n", dataptr, datasize);            buflen= datasize;            bCompressed= false;            delete dcbuf;        }    }    size_t nWritten= fwrite(buf, 1, buflen, f);    if (nWritten!=buflen)    {        perror("fwrite");        printf("error writing uncompressed data\n");    }    if (bCompressed)        delete buf;    return nWritten;}void UncompressAndWrite(DWORD start, DWORD end, char *filename, int regnr, BOOL bCompressed, DWORD size, DWORD realofs){    BYTE *buf= (BYTE*)g_mem.GetPtr(start);    if (buf==NULL)        return;    DWORD buflen= end-start;    if (g_iswince3rom && end-start==size) {        // bug in wince3,  compressed flag set, while data is not compressed.    }    else if (bCompressed) {        BYTE *dcbuf= new BYTE[size+4096];        buflen= cedecompress(buf, end-start, dcbuf, size, 0, 1, 4096);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频999| 91免费版pro下载短视频| 亚洲精品菠萝久久久久久久| 精品国产乱码久久久久久免费| 波多野结衣亚洲一区| 久久99热狠狠色一区二区| 亚洲精品菠萝久久久久久久| 国产日韩欧美一区二区三区综合| 在线精品国精品国产尤物884a| 国产九九视频一区二区三区| 爽好多水快深点欧美视频| 亚洲一区二区三区四区五区中文| 久久精品在线免费观看| 日韩精品综合一本久道在线视频| 欧美日韩一区视频| 欧美伊人久久久久久午夜久久久久| 成人av资源网站| jiyouzz国产精品久久| 大尺度一区二区| 91女厕偷拍女厕偷拍高清| 成人av中文字幕| 色综合久久99| 91麻豆精品国产| 精品91自产拍在线观看一区| 精品国产91久久久久久久妲己| 精品国产伦一区二区三区免费| 欧美一级日韩一级| 久久网站热最新地址| 久久日韩粉嫩一区二区三区| 中文字幕精品一区二区精品绿巨人| 久久久www成人免费毛片麻豆| 国产欧美一区二区精品忘忧草 | 在线观看一区二区视频| 欧美中文字幕不卡| 精品美女在线观看| 国产精品久久精品日日| 一区二区三区蜜桃| 国产乱子轮精品视频| 4hu四虎永久在线影院成人| 久久日韩粉嫩一区二区三区| 精品一区二区免费| 精品国产欧美一区二区| 久久精品视频免费观看| 亚洲免费三区一区二区| 水蜜桃久久夜色精品一区的特点| 日本欧洲一区二区| 九一久久久久久| 亚洲欧美日韩一区二区| 亚洲卡通动漫在线| 国产精品久久久久影院色老大| 中文字幕国产一区| 精品一区二区三区免费观看| 国产综合久久久久影院| 久久精品人人做人人爽97 | 大胆亚洲人体视频| 9l国产精品久久久久麻豆| 欧美午夜精品久久久久久孕妇| 欧美日本高清视频在线观看| 精品美女在线播放| 亚洲精品久久7777| 国产剧情在线观看一区二区| 欧美视频在线一区二区三区| 中文字幕+乱码+中文字幕一区| 三级久久三级久久| 日本丰满少妇一区二区三区| 国产欧美精品一区aⅴ影院| 日韩女优电影在线观看| 日韩欧美色综合网站| 亚洲超丰满肉感bbw| 日韩一区二区三区视频在线| 久久爱www久久做| 欧美一区二区三区爱爱| 天天综合网天天综合色| 欧美色图在线观看| 天天射综合影视| 欧美日韩国产在线观看| 午夜伦理一区二区| 91福利区一区二区三区| 一区二区三区四区乱视频| 丰满白嫩尤物一区二区| 中文字幕日韩一区| 91蜜桃传媒精品久久久一区二区| 亚洲人成网站色在线观看| 国产精品亚洲第一| 久久久久久亚洲综合| 国产美女一区二区| 中文子幕无线码一区tr| 91伊人久久大香线蕉| 亚洲免费观看高清| 欧美顶级少妇做爰| 国产不卡在线一区| 1024国产精品| 欧美猛男gaygay网站| 日韩美女精品在线| 欧美日韩一级视频| 国产一区二区三区久久悠悠色av| 国产精品久久久久久久久免费桃花 | 中文字幕欧美区| 欧美系列日韩一区| 久久精品国产亚洲一区二区三区| 综合欧美亚洲日本| 欧美激情一区三区| 久久久影视传媒| 欧美xxxxxxxxx| 欧美精品久久久久久久多人混战| 日本成人在线不卡视频| 久久综合色婷婷| 国产69精品久久久久毛片| 亚洲综合激情网| 国产精品久久久久久户外露出 | 一区二区三区精品视频在线| 久久久影院官网| 日韩午夜小视频| 色婷婷综合久色| jizz一区二区| 狠狠久久亚洲欧美| 日韩激情中文字幕| 亚洲国产成人av| 亚洲一区二区精品久久av| 日韩你懂的电影在线观看| 欧美日韩在线综合| 色综合中文综合网| 日韩视频国产视频| 色欧美片视频在线观看在线视频| 国产91对白在线观看九色| 免费成人美女在线观看| 亚洲成年人影院| 日韩极品在线观看| 免费美女久久99| 久久99国产精品麻豆| 日本在线不卡视频| 日韩精彩视频在线观看| 久久精品99久久久| 久久精品国产999大香线蕉| 国内外成人在线| 成人动漫一区二区在线| 99视频国产精品| 欧美怡红院视频| 99久久综合国产精品| 91福利精品视频| 欧美日韩精品欧美日韩精品 | 在线精品亚洲一区二区不卡| 在线观看三级视频欧美| 91精品国产综合久久久久久久久久| 欧美日韩国产一区二区三区地区| 在线观看区一区二| 欧美mv日韩mv国产网站| 国产亚洲一区二区在线观看| 综合色中文字幕| 日韩国产欧美三级| 国产伦精品一区二区三区免费迷| 粉嫩av亚洲一区二区图片| 欧美日韩一区成人| 欧美激情一区二区三区蜜桃视频| 亚洲综合成人在线| 成人午夜精品在线| 成人免费视频视频| 欧美日韩国产高清一区二区三区| 久久亚洲私人国产精品va媚药| 最新国产成人在线观看| 亚洲精品v日韩精品| 国产一区二区不卡| 91精品国产色综合久久不卡电影| 精品日本一线二线三线不卡| 亚洲乱码国产乱码精品精98午夜| 国产一区欧美日韩| 日韩一卡二卡三卡四卡| 亚洲欧美经典视频| 成人app软件下载大全免费| 精品电影一区二区三区| 五月婷婷色综合| 欧美日韩国产一级片| 亚洲欧美视频在线观看| 国产91综合网| 久久亚洲精精品中文字幕早川悠里 | 午夜私人影院久久久久| 欧美日韩精品久久久| 麻豆一区二区在线| 久久久精品中文字幕麻豆发布| 国产一区二区福利视频| 国产精品视频线看| 一本到不卡免费一区二区| 一二三四区精品视频| 91精品国产免费| 国产馆精品极品| 亚洲福利国产精品| 久久久不卡影院| 色哟哟一区二区在线观看 | 成熟亚洲日本毛茸茸凸凹| 婷婷久久综合九色国产成人| 欧美一区二区三区在线观看| 国产乱码一区二区三区| 亚洲综合另类小说| 国产亚洲制服色| 91精品中文字幕一区二区三区| 国产乱人伦偷精品视频不卡| 亚洲理论在线观看| 国产日产精品1区| 91精品国产综合久久香蕉的特点 | 国产精品久久精品日日|