@isopodlabs/binary_libs 0.2.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/clr.d.ts CHANGED
@@ -53,6 +53,402 @@ declare class clr_stream extends binary.stream {
53
53
  getGUID(): string;
54
54
  getBlob(): Uint8Array;
55
55
  }
56
+ declare const TableReaders: {
57
+ 0: {
58
+ generation: binary.TypeT<number>;
59
+ name: {
60
+ get(s: clr_stream): string;
61
+ put(_s: clr_stream, _v: number): void;
62
+ };
63
+ mvid: {
64
+ get(s: clr_stream): string;
65
+ put(_s: clr_stream, _v: number): void;
66
+ };
67
+ encid: {
68
+ get(s: clr_stream): string;
69
+ put(_s: clr_stream, _v: number): void;
70
+ };
71
+ encbaseid: {
72
+ get(s: clr_stream): string;
73
+ put(_s: clr_stream, _v: number): void;
74
+ };
75
+ };
76
+ 1: {
77
+ scope: {
78
+ get(s: clr_stream): number;
79
+ };
80
+ name: {
81
+ get(s: clr_stream): string;
82
+ put(_s: clr_stream, _v: number): void;
83
+ };
84
+ namespce: {
85
+ get(s: clr_stream): string;
86
+ put(_s: clr_stream, _v: number): void;
87
+ };
88
+ };
89
+ 2: {
90
+ flags: binary.TypeT<number>;
91
+ name: {
92
+ get(s: clr_stream): string;
93
+ put(_s: clr_stream, _v: number): void;
94
+ };
95
+ namespce: {
96
+ get(s: clr_stream): string;
97
+ put(_s: clr_stream, _v: number): void;
98
+ };
99
+ extends: {
100
+ get(s: clr_stream): number;
101
+ };
102
+ fields: {
103
+ get(s: clr_stream): number;
104
+ };
105
+ methods: {
106
+ get(s: clr_stream): number;
107
+ };
108
+ };
109
+ 4: {
110
+ flags: binary.TypeT<number>;
111
+ name: {
112
+ get(s: clr_stream): string;
113
+ put(_s: clr_stream, _v: number): void;
114
+ };
115
+ signature: {
116
+ get(s: clr_stream): Uint8Array;
117
+ put(_s: clr_stream, _v: number): void;
118
+ };
119
+ };
120
+ 6: {
121
+ code: binary.TypeT<number>;
122
+ implflags: binary.TypeT<number>;
123
+ flags: binary.TypeT<number>;
124
+ name: {
125
+ get(s: clr_stream): string;
126
+ put(_s: clr_stream, _v: number): void;
127
+ };
128
+ signature: {
129
+ get(s: clr_stream): Uint8Array;
130
+ put(_s: clr_stream, _v: number): void;
131
+ };
132
+ paramlist: {
133
+ get(s: clr_stream): number;
134
+ };
135
+ };
136
+ 8: {
137
+ flags: binary.TypeT<number>;
138
+ sequence: binary.TypeT<number>;
139
+ name: {
140
+ get(s: clr_stream): string;
141
+ put(_s: clr_stream, _v: number): void;
142
+ };
143
+ };
144
+ 9: {
145
+ clss: {
146
+ get(s: clr_stream): number;
147
+ };
148
+ interfce: {
149
+ get(s: clr_stream): number;
150
+ };
151
+ };
152
+ 10: {
153
+ clss: {
154
+ get(s: clr_stream): number;
155
+ };
156
+ name: {
157
+ get(s: clr_stream): string;
158
+ put(_s: clr_stream, _v: number): void;
159
+ };
160
+ signature: {
161
+ get(s: clr_stream): Uint8Array;
162
+ put(_s: clr_stream, _v: number): void;
163
+ };
164
+ };
165
+ 11: {
166
+ type: binary.TypeT<number>;
167
+ parent: {
168
+ get(s: clr_stream): number;
169
+ };
170
+ value: {
171
+ get(s: clr_stream): Uint8Array;
172
+ put(_s: clr_stream, _v: number): void;
173
+ };
174
+ };
175
+ 12: {
176
+ parent: {
177
+ get(s: clr_stream): number;
178
+ };
179
+ type: {
180
+ get(s: clr_stream): number;
181
+ };
182
+ value: {
183
+ get(s: clr_stream): Uint8Array;
184
+ put(_s: clr_stream, _v: number): void;
185
+ };
186
+ };
187
+ 13: {
188
+ parent: {
189
+ get(s: clr_stream): number;
190
+ };
191
+ native_type: {
192
+ get(s: clr_stream): Uint8Array;
193
+ put(_s: clr_stream, _v: number): void;
194
+ };
195
+ };
196
+ 14: {
197
+ action: binary.TypeT<number>;
198
+ parent: {
199
+ get(s: clr_stream): number;
200
+ };
201
+ permission_set: {
202
+ get(s: clr_stream): Uint8Array;
203
+ put(_s: clr_stream, _v: number): void;
204
+ };
205
+ };
206
+ 15: {
207
+ packing_size: binary.TypeT<number>;
208
+ class_size: binary.TypeT<number>;
209
+ parent: {
210
+ get(s: clr_stream): number;
211
+ };
212
+ };
213
+ 16: {
214
+ offset: binary.TypeT<number>;
215
+ field: {
216
+ get(s: clr_stream): number;
217
+ };
218
+ };
219
+ 17: {
220
+ signature: {
221
+ get(s: clr_stream): Uint8Array;
222
+ put(_s: clr_stream, _v: number): void;
223
+ };
224
+ };
225
+ 18: {
226
+ parent: {
227
+ get(s: clr_stream): number;
228
+ };
229
+ event_list: {
230
+ get(s: clr_stream): number;
231
+ };
232
+ };
233
+ 20: {
234
+ flags: binary.TypeT<number>;
235
+ name: {
236
+ get(s: clr_stream): string;
237
+ put(_s: clr_stream, _v: number): void;
238
+ };
239
+ event_type: {
240
+ get(s: clr_stream): number;
241
+ };
242
+ };
243
+ 21: {
244
+ parent: {
245
+ get(s: clr_stream): number;
246
+ };
247
+ property_list: {
248
+ get(s: clr_stream): number;
249
+ };
250
+ };
251
+ 23: {
252
+ flags: binary.TypeT<number>;
253
+ name: {
254
+ get(s: clr_stream): string;
255
+ put(_s: clr_stream, _v: number): void;
256
+ };
257
+ type: {
258
+ get(s: clr_stream): Uint8Array;
259
+ put(_s: clr_stream, _v: number): void;
260
+ };
261
+ };
262
+ 24: {
263
+ flags: binary.TypeT<number>;
264
+ method: {
265
+ get(s: clr_stream): number;
266
+ };
267
+ association: {
268
+ get(s: clr_stream): number;
269
+ };
270
+ };
271
+ 25: {
272
+ clss: {
273
+ get(s: clr_stream): number;
274
+ };
275
+ method_body: {
276
+ get(s: clr_stream): number;
277
+ };
278
+ method_declaration: {
279
+ get(s: clr_stream): number;
280
+ };
281
+ };
282
+ 26: {
283
+ name: {
284
+ get(s: clr_stream): string;
285
+ put(_s: clr_stream, _v: number): void;
286
+ };
287
+ };
288
+ 27: {
289
+ signature: {
290
+ get(s: clr_stream): Uint8Array;
291
+ put(_s: clr_stream, _v: number): void;
292
+ };
293
+ };
294
+ 28: {
295
+ flags: binary.TypeT<number>;
296
+ member_forwarded: {
297
+ get(s: clr_stream): number;
298
+ };
299
+ name: {
300
+ get(s: clr_stream): string;
301
+ put(_s: clr_stream, _v: number): void;
302
+ };
303
+ scope: {
304
+ get(s: clr_stream): number;
305
+ };
306
+ };
307
+ 29: {
308
+ rva: binary.TypeT<number>;
309
+ field: {
310
+ get(s: clr_stream): number;
311
+ };
312
+ };
313
+ 32: {
314
+ hashalg: binary.TypeT<number>;
315
+ major: binary.TypeT<number>;
316
+ minor: binary.TypeT<number>;
317
+ build: binary.TypeT<number>;
318
+ rev: binary.TypeT<number>;
319
+ flags: binary.TypeT<number>;
320
+ publickey: {
321
+ get(s: clr_stream): Uint8Array;
322
+ put(_s: clr_stream, _v: number): void;
323
+ };
324
+ name: {
325
+ get(s: clr_stream): string;
326
+ put(_s: clr_stream, _v: number): void;
327
+ };
328
+ culture: {
329
+ get(s: clr_stream): string;
330
+ put(_s: clr_stream, _v: number): void;
331
+ };
332
+ };
333
+ 33: {
334
+ processor: binary.TypeT<number>;
335
+ };
336
+ 34: {
337
+ platform: binary.TypeT<number>;
338
+ minor: binary.TypeT<number>;
339
+ major: binary.TypeT<number>;
340
+ };
341
+ 35: {
342
+ major: binary.TypeT<number>;
343
+ minor: binary.TypeT<number>;
344
+ build: binary.TypeT<number>;
345
+ rev: binary.TypeT<number>;
346
+ flags: binary.TypeT<number>;
347
+ publickey: {
348
+ get(s: clr_stream): Uint8Array;
349
+ put(_s: clr_stream, _v: number): void;
350
+ };
351
+ name: {
352
+ get(s: clr_stream): string;
353
+ put(_s: clr_stream, _v: number): void;
354
+ };
355
+ culture: {
356
+ get(s: clr_stream): string;
357
+ put(_s: clr_stream, _v: number): void;
358
+ };
359
+ hashvalue: {
360
+ get(s: clr_stream): Uint8Array;
361
+ put(_s: clr_stream, _v: number): void;
362
+ };
363
+ };
364
+ 36: {
365
+ processor: binary.TypeT<number>;
366
+ assembly: {
367
+ get(s: clr_stream): number;
368
+ };
369
+ };
370
+ 37: {
371
+ platform: binary.TypeT<number>;
372
+ major: binary.TypeT<number>;
373
+ minor: binary.TypeT<number>;
374
+ assembly: {
375
+ get(s: clr_stream): number;
376
+ };
377
+ };
378
+ 38: {
379
+ flags: binary.TypeT<number>;
380
+ name: {
381
+ get(s: clr_stream): string;
382
+ put(_s: clr_stream, _v: number): void;
383
+ };
384
+ hash: {
385
+ get(s: clr_stream): Uint8Array;
386
+ put(_s: clr_stream, _v: number): void;
387
+ };
388
+ };
389
+ 39: {
390
+ flags: binary.TypeT<number>;
391
+ typedef_id: binary.TypeT<number>;
392
+ name: {
393
+ get(s: clr_stream): string;
394
+ put(_s: clr_stream, _v: number): void;
395
+ };
396
+ namespce: {
397
+ get(s: clr_stream): string;
398
+ put(_s: clr_stream, _v: number): void;
399
+ };
400
+ implementation: {
401
+ get(s: clr_stream): number;
402
+ };
403
+ };
404
+ 40: {
405
+ data: binary.TypeT<number>;
406
+ flags: binary.TypeT<number>;
407
+ name: {
408
+ get(s: clr_stream): string;
409
+ put(_s: clr_stream, _v: number): void;
410
+ };
411
+ implementation: {
412
+ get(s: clr_stream): number;
413
+ };
414
+ };
415
+ 41: {
416
+ nested_class: {
417
+ get(s: clr_stream): number;
418
+ };
419
+ enclosing_class: {
420
+ get(s: clr_stream): number;
421
+ };
422
+ };
423
+ 42: {
424
+ number: binary.TypeT<number>;
425
+ flags: binary.TypeT<number>;
426
+ owner: {
427
+ get(s: clr_stream): number;
428
+ };
429
+ name: {
430
+ get(s: clr_stream): string;
431
+ put(_s: clr_stream, _v: number): void;
432
+ };
433
+ };
434
+ 43: {
435
+ method: {
436
+ get(s: clr_stream): number;
437
+ };
438
+ instantiation: {
439
+ get(s: clr_stream): Uint8Array;
440
+ put(_s: clr_stream, _v: number): void;
441
+ };
442
+ };
443
+ 44: {
444
+ owner: {
445
+ get(s: clr_stream): number;
446
+ };
447
+ constraint: {
448
+ get(s: clr_stream): number;
449
+ };
450
+ };
451
+ };
56
452
  interface Table {
57
453
  count: number;
58
454
  size: number;
@@ -86,403 +482,9 @@ export declare class CLR {
86
482
  tables: Record<TABLE, Table>;
87
483
  Resources?: Uint8Array;
88
484
  constructor(pe: pe.PE, clr_data: Uint8Array);
89
- getEntry(t: TABLE.Module, i: number): {
90
- generation: number;
91
- name: string;
92
- mvid: string;
93
- encid: string;
94
- encbaseid: string;
95
- };
96
- getEntry(t: TABLE.TypeRef, i: number): {
97
- scope: number;
98
- name: string;
99
- namespce: string;
100
- };
101
- getEntry(t: TABLE.TypeDef, i: number): {
102
- flags: number;
103
- name: string;
104
- namespce: string;
105
- extends: number;
106
- fields: number;
107
- methods: number;
108
- };
109
- getEntry(t: TABLE.Field, i: number): {
110
- flags: number;
111
- name: string;
112
- signature: Uint8Array;
113
- };
114
- getEntry(t: TABLE.MethodDef, i: number): {
115
- code: number;
116
- implflags: number;
117
- flags: number;
118
- name: string;
119
- signature: Uint8Array;
120
- paramlist: number;
121
- };
122
- getEntry(t: TABLE.Param, i: number): {
123
- flags: number;
124
- sequence: number;
125
- name: string;
126
- };
127
- getEntry(t: TABLE.InterfaceImpl, i: number): {
128
- clss: number;
129
- interfce: number;
130
- };
131
- getEntry(t: TABLE.MemberRef, i: number): {
132
- clss: number;
133
- name: string;
134
- signature: Uint8Array;
135
- };
136
- getEntry(t: TABLE.Constant, i: number): {
137
- type: number;
138
- parent: number;
139
- value: Uint8Array;
140
- };
141
- getEntry(t: TABLE.CustomAttribute, i: number): {
142
- parent: number;
143
- type: number;
144
- value: Uint8Array;
145
- };
146
- getEntry(t: TABLE.FieldMarshal, i: number): {
147
- parent: number;
148
- native_type: Uint8Array;
149
- };
150
- getEntry(t: TABLE.DeclSecurity, i: number): {
151
- action: number;
152
- parent: number;
153
- permission_set: Uint8Array;
154
- };
155
- getEntry(t: TABLE.ClassLayout, i: number): {
156
- packing_size: number;
157
- class_size: number;
158
- parent: number;
159
- };
160
- getEntry(t: TABLE.FieldLayout, i: number): {
161
- offset: number;
162
- field: number;
163
- };
164
- getEntry(t: TABLE.StandAloneSig, i: number): {
165
- signature: Uint8Array;
166
- };
167
- getEntry(t: TABLE.EventMap, i: number): {
168
- parent: number;
169
- event_list: number;
170
- };
171
- getEntry(t: TABLE.Event, i: number): {
172
- flags: number;
173
- name: string;
174
- event_type: number;
175
- };
176
- getEntry(t: TABLE.PropertyMap, i: number): {
177
- parent: number;
178
- property_list: number;
179
- };
180
- getEntry(t: TABLE.Property, i: number): {
181
- flags: number;
182
- name: string;
183
- type: Uint8Array;
184
- };
185
- getEntry(t: TABLE.MethodSemantics, i: number): {
186
- flags: number;
187
- method: number;
188
- association: number;
189
- };
190
- getEntry(t: TABLE.MethodImpl, i: number): {
191
- clss: number;
192
- method_body: number;
193
- method_declaration: number;
194
- };
195
- getEntry(t: TABLE.ModuleRef, i: number): {
196
- name: string;
197
- };
198
- getEntry(t: TABLE.TypeSpec, i: number): {
199
- signature: Uint8Array;
200
- };
201
- getEntry(t: TABLE.ImplMap, i: number): {
202
- flags: number;
203
- member_forwarded: number;
204
- name: string;
205
- scope: number;
206
- };
207
- getEntry(t: TABLE.FieldRVA, i: number): {
208
- rva: number;
209
- field: number;
210
- };
211
- getEntry(t: TABLE.Assembly, i: number): {
212
- hashalg: number;
213
- major: number;
214
- minor: number;
215
- build: number;
216
- rev: number;
217
- flags: number;
218
- publickey: Uint8Array;
219
- name: string;
220
- culture: string;
221
- };
222
- getEntry(t: TABLE.AssemblyProcessor, i: number): {
223
- processor: number;
224
- };
225
- getEntry(t: TABLE.AssemblyOS, i: number): {
226
- platform: number;
227
- minor: number;
228
- major: number;
229
- };
230
- getEntry(t: TABLE.AssemblyRef, i: number): {
231
- major: number;
232
- minor: number;
233
- build: number;
234
- rev: number;
235
- flags: number;
236
- publickey: Uint8Array;
237
- name: string;
238
- culture: string;
239
- hashvalue: Uint8Array;
240
- };
241
- getEntry(t: TABLE.AssemblyRefProcessor, i: number): {
242
- processor: number;
243
- assembly: number;
244
- };
245
- getEntry(t: TABLE.AssemblyRefOS, i: number): {
246
- platform: number;
247
- major: number;
248
- minor: number;
249
- assembly: number;
250
- };
251
- getEntry(t: TABLE.File, i: number): {
252
- flags: number;
253
- name: string;
254
- hash: Uint8Array;
255
- };
256
- getEntry(t: TABLE.ExportedType, i: number): {
257
- flags: number;
258
- typedef_id: number;
259
- name: string;
260
- namespce: string;
261
- implementation: number;
262
- };
263
- getEntry(t: TABLE.ManifestResource, i: number): {
264
- data: number;
265
- flags: number;
266
- name: string;
267
- implementation: number;
268
- };
269
- getEntry(t: TABLE.NestedClass, i: number): {
270
- nested_class: number;
271
- enclosing_class: number;
272
- };
273
- getEntry(t: TABLE.GenericParam, i: number): {
274
- number: number;
275
- flags: number;
276
- owner: number;
277
- name: string;
278
- };
279
- getEntry(t: TABLE.MethodSpec, i: number): {
280
- method: number;
281
- instantiation: Uint8Array;
282
- };
283
- getEntry(t: TABLE.GenericParamConstraint, i: number): {
284
- owner: number;
285
- constraint: number;
286
- };
485
+ getEntry<T extends TABLE>(t: T, i: number): binary.ReadType<typeof TableReaders[T]>;
287
486
  getEntry(t: TABLE, i: number): any;
288
- getTable(t: TABLE.Module): {
289
- generation: number;
290
- name: string;
291
- mvid: string;
292
- encid: string;
293
- encbaseid: string;
294
- }[];
295
- getTable(t: TABLE.TypeRef): {
296
- scope: number;
297
- name: string;
298
- namespce: string;
299
- }[];
300
- getTable(t: TABLE.TypeDef): {
301
- flags: number;
302
- name: string;
303
- namespce: string;
304
- extends: number;
305
- fields: number;
306
- methods: number;
307
- }[];
308
- getTable(t: TABLE.Field): {
309
- flags: number;
310
- name: string;
311
- signature: Uint8Array;
312
- }[];
313
- getTable(t: TABLE.MethodDef): {
314
- code: number;
315
- implflags: number;
316
- flags: number;
317
- name: string;
318
- signature: Uint8Array;
319
- paramlist: number;
320
- }[];
321
- getTable(t: TABLE.Param): {
322
- flags: number;
323
- sequence: number;
324
- name: string;
325
- }[];
326
- getTable(t: TABLE.InterfaceImpl): {
327
- clss: number;
328
- interfce: number;
329
- }[];
330
- getTable(t: TABLE.MemberRef): {
331
- clss: number;
332
- name: string;
333
- signature: Uint8Array;
334
- }[];
335
- getTable(t: TABLE.Constant): {
336
- type: number;
337
- parent: number;
338
- value: Uint8Array;
339
- }[];
340
- getTable(t: TABLE.CustomAttribute): {
341
- parent: number;
342
- type: number;
343
- value: Uint8Array;
344
- }[];
345
- getTable(t: TABLE.FieldMarshal): {
346
- parent: number;
347
- native_type: Uint8Array;
348
- }[];
349
- getTable(t: TABLE.DeclSecurity): {
350
- action: number;
351
- parent: number;
352
- permission_set: Uint8Array;
353
- }[];
354
- getTable(t: TABLE.ClassLayout): {
355
- packing_size: number;
356
- class_size: number;
357
- parent: number;
358
- }[];
359
- getTable(t: TABLE.FieldLayout): {
360
- offset: number;
361
- field: number;
362
- }[];
363
- getTable(t: TABLE.StandAloneSig): {
364
- signature: Uint8Array;
365
- }[];
366
- getTable(t: TABLE.EventMap): {
367
- parent: number;
368
- event_list: number;
369
- }[];
370
- getTable(t: TABLE.Event): {
371
- flags: number;
372
- name: string;
373
- event_type: number;
374
- }[];
375
- getTable(t: TABLE.PropertyMap): {
376
- parent: number;
377
- property_list: number;
378
- }[];
379
- getTable(t: TABLE.Property): {
380
- flags: number;
381
- name: string;
382
- type: Uint8Array;
383
- }[];
384
- getTable(t: TABLE.MethodSemantics): {
385
- flags: number;
386
- method: number;
387
- association: number;
388
- }[];
389
- getTable(t: TABLE.MethodImpl): {
390
- clss: number;
391
- method_body: number;
392
- method_declaration: number;
393
- }[];
394
- getTable(t: TABLE.ModuleRef): {
395
- name: string;
396
- }[];
397
- getTable(t: TABLE.TypeSpec): {
398
- signature: Uint8Array;
399
- }[];
400
- getTable(t: TABLE.ImplMap): {
401
- flags: number;
402
- member_forwarded: number;
403
- name: string;
404
- scope: number;
405
- }[];
406
- getTable(t: TABLE.FieldRVA): {
407
- rva: number;
408
- field: number;
409
- }[];
410
- getTable(t: TABLE.Assembly): {
411
- hashalg: number;
412
- major: number;
413
- minor: number;
414
- build: number;
415
- rev: number;
416
- flags: number;
417
- publickey: Uint8Array;
418
- name: string;
419
- culture: string;
420
- }[];
421
- getTable(t: TABLE.AssemblyProcessor): {
422
- processor: number;
423
- }[];
424
- getTable(t: TABLE.AssemblyOS): {
425
- platform: number;
426
- minor: number;
427
- major: number;
428
- }[];
429
- getTable(t: TABLE.AssemblyRef): {
430
- major: number;
431
- minor: number;
432
- build: number;
433
- rev: number;
434
- flags: number;
435
- publickey: Uint8Array;
436
- name: string;
437
- culture: string;
438
- hashvalue: Uint8Array;
439
- }[];
440
- getTable(t: TABLE.AssemblyRefProcessor): {
441
- processor: number;
442
- assembly: number;
443
- }[];
444
- getTable(t: TABLE.AssemblyRefOS): {
445
- platform: number;
446
- major: number;
447
- minor: number;
448
- assembly: number;
449
- }[];
450
- getTable(t: TABLE.File): {
451
- flags: number;
452
- name: string;
453
- hash: Uint8Array;
454
- }[];
455
- getTable(t: TABLE.ExportedType): {
456
- flags: number;
457
- typedef_id: number;
458
- name: string;
459
- namespce: string;
460
- implementation: number;
461
- }[];
462
- getTable(t: TABLE.ManifestResource): {
463
- data: number;
464
- flags: number;
465
- name: string;
466
- implementation: number;
467
- }[];
468
- getTable(t: TABLE.NestedClass): {
469
- nested_class: number;
470
- enclosing_class: number;
471
- }[];
472
- getTable(t: TABLE.GenericParam): {
473
- number: number;
474
- flags: number;
475
- owner: number;
476
- name: string;
477
- }[];
478
- getTable(t: TABLE.MethodSpec): {
479
- method: number;
480
- instantiation: Uint8Array;
481
- }[];
482
- getTable(t: TABLE.GenericParamConstraint): {
483
- owner: number;
484
- constraint: number;
485
- }[];
487
+ getTable<T extends TABLE>(t: T): binary.ReadType<typeof TableReaders[T]>[];
486
488
  getTable(t: TABLE): any;
487
489
  getResources(block: string): Record<string, any> | undefined;
488
490
  getResource(block: string, name: string): any;