lief 0.17.3__cp314-cp314-manylinux_2_28_x86_64.whl

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.
lief/COFF/__init__.pyi ADDED
@@ -0,0 +1,708 @@
1
+ import enum
2
+ import io
3
+ import os
4
+ from typing import Iterator, Optional, Union, overload
5
+
6
+ import lief
7
+ import lief.PE
8
+ import lief.assembly
9
+
10
+
11
+ class Header:
12
+ class KIND(enum.Enum):
13
+ UNKNOWN = 0
14
+
15
+ REGULAR = 1
16
+
17
+ BIGOBJ = 2
18
+
19
+ @property
20
+ def kind(self) -> Header.KIND: ...
21
+
22
+ machine: lief.PE.Header.MACHINE_TYPES
23
+
24
+ nb_sections: int
25
+
26
+ pointerto_symbol_table: int
27
+
28
+ nb_symbols: int
29
+
30
+ timedatestamp: int
31
+
32
+ def __str__(self) -> str: ...
33
+
34
+ def copy(self) -> Optional[Header]: ...
35
+
36
+ class RegularHeader(Header):
37
+ sizeof_optionalheader: int
38
+
39
+ characteristics: int
40
+
41
+ class BigObjHeader(Header):
42
+ version: int
43
+
44
+ @property
45
+ def uuid(self) -> memoryview: ...
46
+
47
+ sizeof_data: int
48
+
49
+ flags: int
50
+
51
+ metadata_size: int
52
+
53
+ metadata_offset: int
54
+
55
+ class Binary:
56
+ class it_section:
57
+ def __getitem__(self, arg: int, /) -> Section: ...
58
+
59
+ def __len__(self) -> int: ...
60
+
61
+ def __iter__(self) -> Binary.it_section: ...
62
+
63
+ def __next__(self) -> Section: ...
64
+
65
+ class it_relocations:
66
+ def __getitem__(self, arg: int, /) -> Relocation: ...
67
+
68
+ def __len__(self) -> int: ...
69
+
70
+ def __iter__(self) -> Binary.it_relocations: ...
71
+
72
+ def __next__(self) -> Relocation: ...
73
+
74
+ class it_symbols:
75
+ def __getitem__(self, arg: int, /) -> Symbol: ...
76
+
77
+ def __len__(self) -> int: ...
78
+
79
+ def __iter__(self) -> Binary.it_symbols: ...
80
+
81
+ def __next__(self) -> Symbol: ...
82
+
83
+ class it_strings_table:
84
+ def __getitem__(self, arg: int, /) -> String: ...
85
+
86
+ def __len__(self) -> int: ...
87
+
88
+ def __iter__(self) -> Binary.it_strings_table: ...
89
+
90
+ def __next__(self) -> String: ...
91
+
92
+ class it_functions:
93
+ def __getitem__(self, arg: int, /) -> Symbol: ...
94
+
95
+ def __len__(self) -> int: ...
96
+
97
+ def __iter__(self) -> Binary.it_functions: ...
98
+
99
+ def __next__(self) -> Symbol: ...
100
+
101
+ @property
102
+ def header(self) -> Header: ...
103
+
104
+ @property
105
+ def sections(self) -> Binary.it_section: ...
106
+
107
+ @property
108
+ def relocations(self) -> Binary.it_relocations: ...
109
+
110
+ @property
111
+ def symbols(self) -> lief.PE.Binary.it_symbols: ...
112
+
113
+ @property
114
+ def functions(self) -> Binary.it_functions: ...
115
+
116
+ @property
117
+ def string_table(self) -> lief.PE.Binary.it_strings_table: ...
118
+
119
+ def find_string(self, offset: int) -> String: ...
120
+
121
+ def find_function(self, name: str) -> Symbol: ...
122
+
123
+ def find_demangled_function(self, name: str) -> Symbol: ...
124
+
125
+ @overload
126
+ def disassemble(self, function: Symbol) -> Iterator[Optional[lief.assembly.Instruction]]: ...
127
+
128
+ @overload
129
+ def disassemble(self, function_name: str) -> Iterator[Optional[lief.assembly.Instruction]]: ...
130
+
131
+ def disassemble_from_bytes(self, buffer: bytes, address: int = 0) -> Iterator[Optional[lief.assembly.Instruction]]: ...
132
+
133
+ def __str__(self) -> str: ...
134
+
135
+ class ParserConfig:
136
+ def __init__(self) -> None: ...
137
+
138
+ default_conf: ParserConfig = ...
139
+
140
+ all: ParserConfig = ...
141
+
142
+ def parse(obj: Union[str | io.IOBase | os.PathLike | bytes | list[int]], config: ParserConfig = ...) -> Optional[Binary]: ...
143
+
144
+ class String:
145
+ string: str
146
+
147
+ offset: int
148
+
149
+ def __str__(self) -> str: ...
150
+
151
+ class Symbol(lief.Symbol):
152
+ class it_auxiliary_symbols_t:
153
+ def __getitem__(self, arg: int, /) -> AuxiliarySymbol: ...
154
+
155
+ def __len__(self) -> int: ...
156
+
157
+ def __iter__(self) -> Symbol.it_auxiliary_symbols_t: ...
158
+
159
+ def __next__(self) -> AuxiliarySymbol: ...
160
+
161
+ class STORAGE_CLASS(enum.Enum):
162
+ @staticmethod
163
+ def from_value(arg: int, /) -> Symbol.STORAGE_CLASS: ...
164
+
165
+ def __eq__(self, arg, /) -> bool: ...
166
+
167
+ def __ne__(self, arg, /) -> bool: ...
168
+
169
+ def __int__(self) -> int: ...
170
+
171
+ END_OF_FUNCTION = -1
172
+
173
+ NONE = 0
174
+
175
+ AUTOMATIC = 1
176
+
177
+ EXTERNAL = 2
178
+
179
+ STATIC = 3
180
+
181
+ REGISTER = 4
182
+
183
+ EXTERNAL_DEF = 5
184
+
185
+ LABEL = 6
186
+
187
+ UNDEFINED_LABEL = 7
188
+
189
+ MEMBER_OF_STRUCT = 8
190
+
191
+ ARGUMENT = 9
192
+
193
+ STRUCT_TAG = 10
194
+
195
+ MEMBER_OF_UNION = 11
196
+
197
+ UNION_TAG = 12
198
+
199
+ TYPE_DEFINITION = 13
200
+
201
+ UNDEFINED_STATIC = 14
202
+
203
+ ENUM_TAG = 15
204
+
205
+ MEMBER_OF_ENUM = 16
206
+
207
+ REGISTER_PARAM = 17
208
+
209
+ BIT_FIELD = 18
210
+
211
+ BLOCK = 100
212
+
213
+ FUNCTION = 101
214
+
215
+ END_OF_STRUCT = 102
216
+
217
+ FILE = 103
218
+
219
+ SECTION = 104
220
+
221
+ WEAK_EXTERNAL = 105
222
+
223
+ CLR_TOKEN = 107
224
+
225
+ class BASE_TYPE(enum.Enum):
226
+ @staticmethod
227
+ def from_value(arg: int, /) -> Symbol.BASE_TYPE: ...
228
+
229
+ def __eq__(self, arg, /) -> bool: ...
230
+
231
+ def __ne__(self, arg, /) -> bool: ...
232
+
233
+ def __int__(self) -> int: ...
234
+
235
+ NULL = 0
236
+
237
+ VOID = 1
238
+
239
+ CHAR = 2
240
+
241
+ SHORT = 3
242
+
243
+ INT = 4
244
+
245
+ LONG = 5
246
+
247
+ FLOAT = 6
248
+
249
+ DOUBLE = 7
250
+
251
+ STRUCT = 8
252
+
253
+ UNION = 9
254
+
255
+ ENUM = 10
256
+
257
+ MOE = 11
258
+
259
+ BYTE = 12
260
+
261
+ WORD = 13
262
+
263
+ UINT = 14
264
+
265
+ DWORD = 15
266
+
267
+ class COMPLEX_TYPE(enum.Enum):
268
+ @staticmethod
269
+ def from_value(arg: int, /) -> Symbol.COMPLEX_TYPE: ...
270
+
271
+ def __eq__(self, arg, /) -> bool: ...
272
+
273
+ def __ne__(self, arg, /) -> bool: ...
274
+
275
+ def __int__(self) -> int: ...
276
+
277
+ NULL = 0
278
+
279
+ POINTER = 1
280
+
281
+ FUNCTION = 2
282
+
283
+ ARRAY = 3
284
+
285
+ type: int
286
+
287
+ @property
288
+ def base_type(self) -> Symbol.BASE_TYPE: ...
289
+
290
+ @property
291
+ def complex_type(self) -> Symbol.COMPLEX_TYPE: ...
292
+
293
+ @property
294
+ def storage_class(self) -> Symbol.STORAGE_CLASS: ...
295
+
296
+ section_idx: int
297
+
298
+ @property
299
+ def section(self) -> Section: ...
300
+
301
+ @property
302
+ def is_external(self) -> bool: ...
303
+
304
+ @property
305
+ def is_absolute(self) -> bool: ...
306
+
307
+ @property
308
+ def is_weak_external(self) -> bool: ...
309
+
310
+ @property
311
+ def is_undefined(self) -> bool: ...
312
+
313
+ @property
314
+ def is_function_line_info(self) -> bool: ...
315
+
316
+ @property
317
+ def is_file_record(self) -> bool: ...
318
+
319
+ @property
320
+ def is_function(self) -> bool: ...
321
+
322
+ @property
323
+ def auxiliary_symbols(self) -> Symbol.it_auxiliary_symbols_t: ...
324
+
325
+ @property
326
+ def coff_name(self) -> String: ...
327
+
328
+ @property
329
+ def demangled_name(self) -> str: ...
330
+
331
+ def __str__(self) -> str: ...
332
+
333
+ class Section(lief.Section):
334
+ class it_relocations:
335
+ def __getitem__(self, arg: int, /) -> Relocation: ...
336
+
337
+ def __len__(self) -> int: ...
338
+
339
+ def __iter__(self) -> Section.it_relocations: ...
340
+
341
+ def __next__(self) -> Relocation: ...
342
+
343
+ class it_symbols:
344
+ def __getitem__(self, arg: int, /) -> Symbol: ...
345
+
346
+ def __len__(self) -> int: ...
347
+
348
+ def __iter__(self) -> Section.it_symbols: ...
349
+
350
+ def __next__(self) -> Symbol: ...
351
+
352
+ class ComdatInfo:
353
+ @property
354
+ def symbol(self) -> Symbol: ...
355
+
356
+ @property
357
+ def kind(self) -> AuxiliarySectionDefinition.COMDAT_SELECTION: ...
358
+
359
+ virtual_size: int
360
+
361
+ sizeof_raw_data: int
362
+
363
+ pointerto_raw_data: int
364
+
365
+ pointerto_relocation: int
366
+
367
+ pointerto_line_numbers: int
368
+
369
+ numberof_relocations: int
370
+
371
+ numberof_line_numbers: int
372
+
373
+ characteristics: int
374
+
375
+ @property
376
+ def characteristics_lists(self) -> list[lief.PE.Section.CHARACTERISTICS]: ...
377
+
378
+ def has_characteristic(self, characteristic: lief.PE.Section.CHARACTERISTICS) -> bool: ...
379
+
380
+ @property
381
+ def is_discardable(self) -> bool: ...
382
+
383
+ @property
384
+ def relocations(self) -> Section.it_relocations: ...
385
+
386
+ @property
387
+ def symbols(self) -> Section.it_symbols: ...
388
+
389
+ @property
390
+ def has_extended_relocations(self) -> bool: ...
391
+
392
+ @property
393
+ def comdat_info(self) -> Section.ComdatInfo | None: ...
394
+
395
+ def __str__(self) -> str: ...
396
+
397
+ class Relocation(lief.Relocation):
398
+ class TYPE(enum.Enum):
399
+ @staticmethod
400
+ def from_value(arg: int, /) -> Relocation.TYPE: ...
401
+
402
+ def __eq__(self, arg, /) -> bool: ...
403
+
404
+ def __ne__(self, arg, /) -> bool: ...
405
+
406
+ def __int__(self) -> int: ...
407
+
408
+ UNKNOWN = 4294967295
409
+
410
+ AMD64_ABSOLUTE = 262144
411
+
412
+ AMD64_ADDR32 = 262146
413
+
414
+ AMD64_ADDR32NB = 262147
415
+
416
+ AMD64_ADDR64 = 262145
417
+
418
+ AMD64_PAIR = 262159
419
+
420
+ AMD64_REL32 = 262148
421
+
422
+ AMD64_REL32_1 = 262149
423
+
424
+ AMD64_REL32_2 = 262150
425
+
426
+ AMD64_REL32_3 = 262151
427
+
428
+ AMD64_REL32_4 = 262152
429
+
430
+ AMD64_REL32_5 = 262153
431
+
432
+ AMD64_SECREL = 262155
433
+
434
+ AMD64_SECREL7 = 262156
435
+
436
+ AMD64_SECTION = 262154
437
+
438
+ AMD64_SREL32 = 262158
439
+
440
+ AMD64_SSPAN32 = 262160
441
+
442
+ AMD64_TOKEN = 262157
443
+
444
+ ARM64_ABSOLUTE = 1048576
445
+
446
+ ARM64_ADDR32 = 1048577
447
+
448
+ ARM64_ADDR32NB = 1048578
449
+
450
+ ARM64_ADDR64 = 1048590
451
+
452
+ ARM64_BRANCH14 = 1048592
453
+
454
+ ARM64_BRANCH19 = 1048591
455
+
456
+ ARM64_BRANCH26 = 1048579
457
+
458
+ ARM64_PAGEBASE_REL21 = 1048580
459
+
460
+ ARM64_PAGEOFFSET_12A = 1048582
461
+
462
+ ARM64_PAGEOFFSET_12L = 1048583
463
+
464
+ ARM64_REL21 = 1048581
465
+
466
+ ARM64_REL32 = 1048593
467
+
468
+ ARM64_SECREL = 1048584
469
+
470
+ ARM64_SECREL_HIGH12A = 1048586
471
+
472
+ ARM64_SECREL_LOW12A = 1048585
473
+
474
+ ARM64_SECREL_LOW12L = 1048587
475
+
476
+ ARM64_SECTION = 1048589
477
+
478
+ ARM64_TOKEN = 1048588
479
+
480
+ ARM_ABSOLUTE = 524288
481
+
482
+ ARM_ADDR32 = 524289
483
+
484
+ ARM_ADDR32NB = 524290
485
+
486
+ ARM_BLX11 = 524297
487
+
488
+ ARM_BLX23T = 524309
489
+
490
+ ARM_BLX24 = 524296
491
+
492
+ ARM_BRANCH11 = 524292
493
+
494
+ ARM_BRANCH20T = 524306
495
+
496
+ ARM_BRANCH24 = 524291
497
+
498
+ ARM_BRANCH24T = 524308
499
+
500
+ ARM_MOV32A = 524304
501
+
502
+ ARM_MOV32T = 524305
503
+
504
+ ARM_PAIR = 524310
505
+
506
+ ARM_REL32 = 524298
507
+
508
+ ARM_SECREL = 524303
509
+
510
+ ARM_SECTION = 524302
511
+
512
+ ARM_TOKEN = 524293
513
+
514
+ I386_ABSOLUTE = 131072
515
+
516
+ I386_DIR16 = 131073
517
+
518
+ I386_DIR32 = 131078
519
+
520
+ I386_DIR32NB = 131079
521
+
522
+ I386_REL16 = 131074
523
+
524
+ I386_REL32 = 131092
525
+
526
+ I386_SECREL = 131083
527
+
528
+ I386_SECREL7 = 131085
529
+
530
+ I386_SECTION = 131082
531
+
532
+ I386_SEG12 = 131081
533
+
534
+ I386_TOKEN = 131084
535
+
536
+ MIPS_ABSOLUTE = 2097152
537
+
538
+ MIPS_GPREL = 2097158
539
+
540
+ MIPS_JMPADDR = 2097155
541
+
542
+ MIPS_JMPADDR16 = 2097168
543
+
544
+ MIPS_LITERAL = 2097159
545
+
546
+ MIPS_PAIR = 2097189
547
+
548
+ MIPS_REFHALF = 2097153
549
+
550
+ MIPS_REFHI = 2097156
551
+
552
+ MIPS_REFLO = 2097157
553
+
554
+ MIPS_REFWORD = 2097154
555
+
556
+ MIPS_REFWORDNB = 2097186
557
+
558
+ MIPS_SECREL = 2097163
559
+
560
+ MIPS_SECRELHI = 2097165
561
+
562
+ MIPS_SECRELLO = 2097164
563
+
564
+ MIPS_SECTION = 2097162
565
+
566
+ @property
567
+ def symbol_idx(self) -> int: ...
568
+
569
+ @property
570
+ def symbol(self) -> Symbol: ...
571
+
572
+ @property
573
+ def type(self) -> Relocation.TYPE: ...
574
+
575
+ @property
576
+ def section(self) -> Section: ...
577
+
578
+ def __str__(self) -> str: ...
579
+
580
+ class AuxiliarySymbol:
581
+ class TYPE(enum.Enum):
582
+ @staticmethod
583
+ def from_value(arg: int, /) -> AuxiliarySymbol.TYPE: ...
584
+
585
+ def __eq__(self, arg, /) -> bool: ...
586
+
587
+ def __ne__(self, arg, /) -> bool: ...
588
+
589
+ def __int__(self) -> int: ...
590
+
591
+ UNKNOWN = 0
592
+
593
+ CLR_TOKEN = 1
594
+
595
+ FUNC_DEF = 2
596
+
597
+ BF_AND_EF = 3
598
+
599
+ WEAK_EXTERNAL = 4
600
+
601
+ FILE = 5
602
+
603
+ SEC_DEF = 6
604
+
605
+ @property
606
+ def type(self) -> AuxiliarySymbol.TYPE: ...
607
+
608
+ @property
609
+ def payload(self) -> memoryview: ...
610
+
611
+ def __str__(self) -> str: ...
612
+
613
+ def copy(self) -> Optional[AuxiliarySymbol]: ...
614
+
615
+ class AuxiliaryCLRToken(AuxiliarySymbol):
616
+ @property
617
+ def aux_type(self) -> int: ...
618
+
619
+ @property
620
+ def reserved(self) -> int: ...
621
+
622
+ @property
623
+ def symbol_idx(self) -> int: ...
624
+
625
+ @property
626
+ def symbol(self) -> Symbol: ...
627
+
628
+ @property
629
+ def rgb_reserved(self) -> memoryview: ...
630
+
631
+ class AuxiliaryFunctionDefinition(AuxiliarySymbol):
632
+ @property
633
+ def tag_index(self) -> int: ...
634
+
635
+ @property
636
+ def total_size(self) -> int: ...
637
+
638
+ @property
639
+ def ptr_to_line_number(self) -> int: ...
640
+
641
+ @property
642
+ def ptr_to_next_func(self) -> int: ...
643
+
644
+ @property
645
+ def padding(self) -> int: ...
646
+
647
+ class AuxiliaryWeakExternal(AuxiliarySymbol):
648
+ class CHARACTERISTICS(enum.Enum):
649
+ SEARCH_NOLIBRARY = 1
650
+
651
+ SEARCH_LIBRARY = 2
652
+
653
+ SEARCH_ALIAS = 3
654
+
655
+ ANTI_DEPENDENCY = 4
656
+
657
+ @property
658
+ def sym_idx(self) -> int: ...
659
+
660
+ @property
661
+ def characteristics(self) -> AuxiliaryWeakExternal.CHARACTERISTICS: ...
662
+
663
+ @property
664
+ def padding(self) -> memoryview: ...
665
+
666
+ class AuxiliarybfAndefSymbol(AuxiliarySymbol):
667
+ pass
668
+
669
+ class AuxiliarySectionDefinition(AuxiliarySymbol):
670
+ class COMDAT_SELECTION(enum.Enum):
671
+ NONE = 0
672
+
673
+ NODUPLICATES = 1
674
+
675
+ ANY = 2
676
+
677
+ SAME_SIZE = 3
678
+
679
+ EXACT_MATCH = 4
680
+
681
+ ASSOCIATIVE = 5
682
+
683
+ LARGEST = 6
684
+
685
+ @property
686
+ def length(self) -> int: ...
687
+
688
+ @property
689
+ def nb_relocs(self) -> int: ...
690
+
691
+ @property
692
+ def nb_line_numbers(self) -> int: ...
693
+
694
+ @property
695
+ def checksum(self) -> int: ...
696
+
697
+ @property
698
+ def section_idx(self) -> int: ...
699
+
700
+ @property
701
+ def selection(self) -> AuxiliarySectionDefinition.COMDAT_SELECTION: ...
702
+
703
+ @property
704
+ def reserved(self) -> int: ...
705
+
706
+ class AuxiliaryFile(AuxiliarySymbol):
707
+ @property
708
+ def filename(self) -> str: ...