少年修仙传客户端基础资源
hch
2024-04-11 4c71d74b77c9eb62a0323698c9a0db3b641a917e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#pragma once
#include "../CommonDef.h"
 
 
namespace hybridclr
{
namespace metadata
{
    struct PEHeader
    {
        uint16_t matchine;
        uint16_t sections;
        uint32_t timestamp;
        uint32_t ptrSymbolTable;
        uint32_t numSymbols;
        uint16_t optionalHeadersize;
        uint16_t characteristics;
    };
 
    struct PEDirEntry
    {
        uint32_t rva;
        uint32_t size;
    };
 
    struct CLIHeader
    {
        uint32_t cb;
        uint16_t majorRuntimeVersion;
        uint16_t minorRuntimeVersion;
        PEDirEntry metaData;
        uint32_t flags;
        uint32_t entryPointToken;
        PEDirEntry resources;
        uint64_t strongNameSignature;
        uint64_t codeManagerTable;
        uint64_t vTableFixups;
        uint64_t exportAddressTableJumps;
        uint64_t managedNativeHeader;
    };
 
 
    struct PESectionHeader
    {
        char name[8];
        uint32_t virtualSize;
        uint32_t virtualAddress;
        uint32_t sizeOfRawData;
        uint32_t ptrRawData;
        uint32_t ptrRelocations;
        uint32_t ptrLineNumbers;
        uint16_t numRelocation;
        uint16_t numLineNumber;
        uint32_t characteristics;
    };
 
    struct MetadataRootPartial
    {
        uint32_t signature;
        uint16_t majorVersion;
        uint16_t minorVersion;
        uint32_t reserved;
        uint32_t length;
        byte    versionFirstByte;
    };
 
    struct StreamHeader
    {
        uint32_t offset;
        uint32_t size;
        char name[1];
    };
 
    struct TableStreamHeader
    {
        uint32_t reserved;
        uint8_t majorVersion;
        uint8_t minorVersion;
        uint8_t heapSizes;
        uint8_t reserved2;
        uint64_t valid;
        uint64_t sorted;
        uint32_t rows[1];
        // tables;
    };
 
    struct CliStream
    {
        const char* name;
        const byte* data;
        uint32_t size;
    };
 
    struct UserString
    {
        const char* data;
        uint32_t size;
        uint8_t flags;
    };
 
    struct Blob
    {
        const byte* data;
        uint32_t size;
    };
 
    struct Table
    {
        const byte* data;
        uint32_t rowMetaDataSize;
        uint32_t rowNum;
        bool vaild;
        bool sorted;
    };
}
}