lief 0.15.1__cp38-cp38-win_amd64.whl → 0.16.0__cp38-cp38-win_amd64.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.
Potentially problematic release.
This version of lief might be problematic. Click here for more details.
- lief/{ART.pyi → ART/__init__.pyi} +65 -45
- lief/Android/__init__.pyi +33 -0
- lief/DEX/__init__.pyi +512 -0
- lief/ELF/__init__.pyi +5342 -0
- lief/MachO/__init__.pyi +2678 -0
- lief/OAT/__init__.pyi +348 -0
- lief/PE/__init__.pyi +4098 -0
- lief/VDEX/__init__.pyi +54 -0
- lief/__init__.py +3 -0
- lief/__init__.pyi +457 -316
- lief/_lief.pyd +0 -0
- lief/assembly/__init__.pyi +104 -0
- lief/assembly/aarch64/__init__.pyi +20200 -0
- lief/assembly/aarch64/operands/__init__.pyi +48 -0
- lief/assembly/arm/__init__.pyi +9004 -0
- lief/assembly/ebpf/__init__.pyi +984 -0
- lief/assembly/mips/__init__.pyi +5798 -0
- lief/assembly/powerpc/__init__.pyi +5714 -0
- lief/assembly/riscv/__init__.pyi +27674 -0
- lief/assembly/x86/__init__.pyi +40433 -0
- lief/assembly/x86/operands/__init__.pyi +32 -0
- lief/dsc/__init__.pyi +220 -0
- lief/dwarf/__init__.pyi +224 -125
- lief/dwarf/parameters/__init__.pyi +14 -0
- lief/dwarf/types/__init__.pyi +167 -0
- lief/logging/__init__.pyi +44 -0
- lief/objc/__init__.pyi +89 -0
- lief/pdb/__init__.pyi +66 -50
- lief/pdb/types/__init__.pyi +69 -0
- lief-0.16.0.dist-info/METADATA +86 -0
- lief-0.16.0.dist-info/RECORD +33 -0
- lief/Android.pyi +0 -29
- lief/DEX.pyi +0 -382
- lief/ELF.pyi +0 -3179
- lief/MachO.pyi +0 -1717
- lief/OAT.pyi +0 -271
- lief/PE.pyi +0 -2951
- lief/VDEX.pyi +0 -49
- lief/dwarf/types.pyi +0 -72
- lief/logging.pyi +0 -27
- lief/objc.pyi +0 -68
- lief/pdb/types.pyi +0 -68
- lief-0.15.1.dist-info/METADATA +0 -157
- lief-0.15.1.dist-info/RECORD +0 -21
- {lief-0.15.1.dist-info → lief-0.16.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import enum
|
|
2
|
+
from typing import Iterator, Optional, Union as _Union
|
|
3
|
+
|
|
4
|
+
import lief
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Array(lief.dwarf.Type):
|
|
8
|
+
class size_info_t:
|
|
9
|
+
@property
|
|
10
|
+
def type(self) -> lief.dwarf.Type: ...
|
|
11
|
+
|
|
12
|
+
@property
|
|
13
|
+
def name(self) -> str: ...
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def size(self) -> int: ...
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def size_info(self) -> Array.size_info_t: ...
|
|
23
|
+
|
|
24
|
+
class Atomic(lief.dwarf.Type):
|
|
25
|
+
@property
|
|
26
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
27
|
+
|
|
28
|
+
class Base(lief.dwarf.Type):
|
|
29
|
+
class ENCODING(enum.Enum):
|
|
30
|
+
NONE = 0
|
|
31
|
+
|
|
32
|
+
SIGNED = 1
|
|
33
|
+
|
|
34
|
+
SIGNED_CHAR = 2
|
|
35
|
+
|
|
36
|
+
UNSIGNED = 3
|
|
37
|
+
|
|
38
|
+
UNSIGNED_CHAR = 4
|
|
39
|
+
|
|
40
|
+
FLOAT = 5
|
|
41
|
+
|
|
42
|
+
BOOLEAN = 6
|
|
43
|
+
|
|
44
|
+
ADDRESS = 7
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def encoding(self) -> Base.ENCODING: ...
|
|
48
|
+
|
|
49
|
+
class Class(ClassLike):
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
class ClassLike(lief.dwarf.Type):
|
|
53
|
+
class Member:
|
|
54
|
+
@property
|
|
55
|
+
def name(self) -> str: ...
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def type(self) -> Optional[lief.dwarf.Type]: ...
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def is_external(self) -> bool: ...
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def is_declaration(self) -> bool: ...
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def offset(self) -> Optional[int]: ...
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def bit_offset(self) -> Optional[int]: ...
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def members(self) -> list[ClassLike.Member]: ...
|
|
74
|
+
|
|
75
|
+
def find_member(self, offset: int) -> Optional[ClassLike.Member]: ...
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def functions(self) -> Iterator[Optional[lief.dwarf.Function]]: ...
|
|
79
|
+
|
|
80
|
+
class Coarray(lief.dwarf.Type):
|
|
81
|
+
pass
|
|
82
|
+
|
|
83
|
+
class Const(lief.dwarf.Type):
|
|
84
|
+
@property
|
|
85
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
86
|
+
|
|
87
|
+
class Dynamic(lief.dwarf.Type):
|
|
88
|
+
pass
|
|
89
|
+
|
|
90
|
+
class Enum(lief.dwarf.Type):
|
|
91
|
+
pass
|
|
92
|
+
|
|
93
|
+
class File(lief.dwarf.Type):
|
|
94
|
+
pass
|
|
95
|
+
|
|
96
|
+
class Immutable(lief.dwarf.Type):
|
|
97
|
+
@property
|
|
98
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
99
|
+
|
|
100
|
+
class Interface(lief.dwarf.Type):
|
|
101
|
+
pass
|
|
102
|
+
|
|
103
|
+
class Packed(ClassLike):
|
|
104
|
+
pass
|
|
105
|
+
|
|
106
|
+
class Pointer(lief.dwarf.Type):
|
|
107
|
+
@property
|
|
108
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
109
|
+
|
|
110
|
+
class PointerToMember(lief.dwarf.Type):
|
|
111
|
+
@property
|
|
112
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
113
|
+
|
|
114
|
+
@property
|
|
115
|
+
def containing_type(self) -> Optional[lief.dwarf.Type]: ...
|
|
116
|
+
|
|
117
|
+
class RValueReference(lief.dwarf.Type):
|
|
118
|
+
@property
|
|
119
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
120
|
+
|
|
121
|
+
class Reference(lief.dwarf.Type):
|
|
122
|
+
@property
|
|
123
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
124
|
+
|
|
125
|
+
class Restrict(lief.dwarf.Type):
|
|
126
|
+
@property
|
|
127
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
128
|
+
|
|
129
|
+
class SetTy(lief.dwarf.Type):
|
|
130
|
+
@property
|
|
131
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
132
|
+
|
|
133
|
+
class Shared(lief.dwarf.Type):
|
|
134
|
+
@property
|
|
135
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
136
|
+
|
|
137
|
+
class StringTy(lief.dwarf.Type):
|
|
138
|
+
pass
|
|
139
|
+
|
|
140
|
+
class Structure(ClassLike):
|
|
141
|
+
pass
|
|
142
|
+
|
|
143
|
+
class Subroutine(lief.dwarf.Type):
|
|
144
|
+
@property
|
|
145
|
+
def parameters(self) -> list[Optional[lief.dwarf.Parameter]]: ...
|
|
146
|
+
|
|
147
|
+
class TemplateAlias(lief.dwarf.Type):
|
|
148
|
+
@property
|
|
149
|
+
def parameters(self) -> list[Optional[lief.dwarf.Parameter]]: ...
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
153
|
+
|
|
154
|
+
class Thrown(lief.dwarf.Type):
|
|
155
|
+
@property
|
|
156
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
157
|
+
|
|
158
|
+
class Typedef(lief.dwarf.Type):
|
|
159
|
+
@property
|
|
160
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
161
|
+
|
|
162
|
+
class Union(ClassLike):
|
|
163
|
+
pass
|
|
164
|
+
|
|
165
|
+
class Volatile(lief.dwarf.Type):
|
|
166
|
+
@property
|
|
167
|
+
def underlying_type(self) -> lief.dwarf.Type: ...
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import enum
|
|
2
|
+
from typing import Iterator, Optional, Union
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class LEVEL(enum.Enum):
|
|
6
|
+
OFF = 0
|
|
7
|
+
|
|
8
|
+
TRACE = 1
|
|
9
|
+
|
|
10
|
+
DEBUG = 2
|
|
11
|
+
|
|
12
|
+
CRITICAL = 6
|
|
13
|
+
|
|
14
|
+
ERROR = 5
|
|
15
|
+
|
|
16
|
+
WARN = 4
|
|
17
|
+
|
|
18
|
+
INFO = 3
|
|
19
|
+
|
|
20
|
+
def critical(msg: str) -> None: ...
|
|
21
|
+
|
|
22
|
+
def debug(msg: str) -> None: ...
|
|
23
|
+
|
|
24
|
+
def disable() -> None: ...
|
|
25
|
+
|
|
26
|
+
def enable() -> None: ...
|
|
27
|
+
|
|
28
|
+
def enable_debug() -> None: ...
|
|
29
|
+
|
|
30
|
+
def err(msg: str) -> None: ...
|
|
31
|
+
|
|
32
|
+
def get_level() -> LEVEL: ...
|
|
33
|
+
|
|
34
|
+
def info(msg: str) -> None: ...
|
|
35
|
+
|
|
36
|
+
def log(level: LEVEL, msg: str) -> None: ...
|
|
37
|
+
|
|
38
|
+
def reset() -> None: ...
|
|
39
|
+
|
|
40
|
+
def set_level(level: LEVEL) -> None: ...
|
|
41
|
+
|
|
42
|
+
def set_path(path: str) -> None: ...
|
|
43
|
+
|
|
44
|
+
def warn(msg: str) -> None: ...
|
lief/objc/__init__.pyi
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
from typing import Iterator, Optional, Union
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Class:
|
|
5
|
+
@property
|
|
6
|
+
def name(self) -> str: ...
|
|
7
|
+
|
|
8
|
+
@property
|
|
9
|
+
def demangled_name(self) -> str: ...
|
|
10
|
+
|
|
11
|
+
@property
|
|
12
|
+
def super_class(self) -> Optional[Class]: ...
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def is_meta(self) -> bool: ...
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
def methods(self) -> Iterator[Optional[Method]]: ...
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def protocols(self) -> Iterator[Optional[Protocol]]: ...
|
|
22
|
+
|
|
23
|
+
@property
|
|
24
|
+
def properties(self) -> Iterator[Optional[Property]]: ...
|
|
25
|
+
|
|
26
|
+
@property
|
|
27
|
+
def ivars(self) -> Iterator[Optional[IVar]]: ...
|
|
28
|
+
|
|
29
|
+
def to_decl(self, opt: DeclOpt = ...) -> str: ...
|
|
30
|
+
|
|
31
|
+
class DeclOpt:
|
|
32
|
+
def __init__(self) -> None: ...
|
|
33
|
+
|
|
34
|
+
show_annotations: bool
|
|
35
|
+
|
|
36
|
+
class IVar:
|
|
37
|
+
@property
|
|
38
|
+
def name(self) -> str: ...
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def mangled_type(self) -> str: ...
|
|
42
|
+
|
|
43
|
+
class Metadata:
|
|
44
|
+
def to_decl(self, opt: DeclOpt = ...) -> str: ...
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def classes(self) -> Iterator[Optional[Class]]: ...
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def protocols(self) -> Iterator[Optional[Protocol]]: ...
|
|
51
|
+
|
|
52
|
+
def get_class(self, name: str) -> Optional[Class]: ...
|
|
53
|
+
|
|
54
|
+
def get_protocol(self, name: str) -> Optional[Protocol]: ...
|
|
55
|
+
|
|
56
|
+
class Method:
|
|
57
|
+
@property
|
|
58
|
+
def name(self) -> str: ...
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def mangled_type(self) -> str: ...
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def address(self) -> int: ...
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def is_instance(self) -> bool: ...
|
|
68
|
+
|
|
69
|
+
class Property:
|
|
70
|
+
@property
|
|
71
|
+
def name(self) -> str: ...
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
def attribute(self) -> str: ...
|
|
75
|
+
|
|
76
|
+
class Protocol:
|
|
77
|
+
@property
|
|
78
|
+
def mangled_name(self) -> str: ...
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def optional_methods(self) -> Iterator[Optional[Method]]: ...
|
|
82
|
+
|
|
83
|
+
@property
|
|
84
|
+
def required_methods(self) -> Iterator[Optional[Method]]: ...
|
|
85
|
+
|
|
86
|
+
@property
|
|
87
|
+
def properties(self) -> Iterator[Optional[Property]]: ...
|
|
88
|
+
|
|
89
|
+
def to_decl(self, opt: DeclOpt = ...) -> str: ...
|
lief/pdb/__init__.pyi
CHANGED
|
@@ -1,86 +1,102 @@
|
|
|
1
|
-
|
|
1
|
+
import enum
|
|
2
|
+
from typing import Iterator, Optional, Union
|
|
3
|
+
|
|
4
|
+
from . import types as types
|
|
5
|
+
import lief
|
|
2
6
|
|
|
3
|
-
import lief # type: ignore
|
|
4
|
-
import lief.pdb # type: ignore
|
|
5
|
-
import lief.pdb.Type # type: ignore
|
|
6
7
|
|
|
7
8
|
class CompilationUnit:
|
|
8
|
-
def __init__(self, *args, **kwargs) -> None: ...
|
|
9
|
-
@property
|
|
10
|
-
def functions(self) -> Iterator[Optional[lief.pdb.Function]]: ...
|
|
11
9
|
@property
|
|
12
10
|
def module_name(self) -> str: ...
|
|
11
|
+
|
|
13
12
|
@property
|
|
14
13
|
def object_filename(self) -> str: ...
|
|
14
|
+
|
|
15
15
|
@property
|
|
16
16
|
def sources(self) -> Iterator[str]: ...
|
|
17
17
|
|
|
18
|
+
@property
|
|
19
|
+
def functions(self) -> Iterator[Optional[Function]]: ...
|
|
20
|
+
|
|
18
21
|
class DebugInfo(lief.DebugInfo):
|
|
19
|
-
def __init__(self, *args, **kwargs) -> None: ...
|
|
20
|
-
def find_public_symbol(self, name: str) -> Optional[lief.pdb.PublicSymbol]: ...
|
|
21
|
-
def find_type(self, name: str) -> Optional[lief.pdb.Type]: ...
|
|
22
|
-
@staticmethod
|
|
23
|
-
def from_file(filepath: str) -> Optional[lief.pdb.DebugInfo]: ...
|
|
24
22
|
@property
|
|
25
23
|
def age(self) -> int: ...
|
|
26
|
-
|
|
27
|
-
def compilation_units(self) -> Iterator[Optional[lief.pdb.CompilationUnit]]: ...
|
|
24
|
+
|
|
28
25
|
@property
|
|
29
26
|
def guid(self) -> str: ...
|
|
27
|
+
|
|
28
|
+
@staticmethod
|
|
29
|
+
def from_file(filepath: str) -> Optional[DebugInfo]: ...
|
|
30
|
+
|
|
31
|
+
def find_type(self, name: str) -> Optional[Type]: ...
|
|
32
|
+
|
|
33
|
+
def find_public_symbol(self, name: str) -> Optional[PublicSymbol]: ...
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def public_symbols(self) -> Iterator[Optional[PublicSymbol]]: ...
|
|
37
|
+
|
|
30
38
|
@property
|
|
31
|
-
def
|
|
39
|
+
def compilation_units(self) -> Iterator[Optional[CompilationUnit]]: ...
|
|
40
|
+
|
|
32
41
|
@property
|
|
33
|
-
def types(self) -> Iterator[Optional[
|
|
42
|
+
def types(self) -> Iterator[Optional[Type]]: ...
|
|
34
43
|
|
|
35
44
|
class Function:
|
|
36
|
-
|
|
45
|
+
@property
|
|
46
|
+
def name(self) -> str: ...
|
|
47
|
+
|
|
37
48
|
@property
|
|
38
49
|
def RVA(self) -> int: ...
|
|
50
|
+
|
|
39
51
|
@property
|
|
40
52
|
def code_size(self) -> int: ...
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def section_name(self) -> str: ...
|
|
56
|
+
|
|
41
57
|
@property
|
|
42
58
|
def debug_location(self) -> lief.debug_location_t: ...
|
|
59
|
+
|
|
60
|
+
class PublicSymbol:
|
|
43
61
|
@property
|
|
44
62
|
def name(self) -> str: ...
|
|
63
|
+
|
|
45
64
|
@property
|
|
46
65
|
def section_name(self) -> str: ...
|
|
47
66
|
|
|
48
|
-
class PublicSymbol:
|
|
49
|
-
def __init__(self, *args, **kwargs) -> None: ...
|
|
50
67
|
@property
|
|
51
68
|
def RVA(self) -> int: ...
|
|
69
|
+
|
|
52
70
|
@property
|
|
53
71
|
def demangled_name(self) -> str: ...
|
|
54
|
-
@property
|
|
55
|
-
def name(self) -> str: ...
|
|
56
|
-
@property
|
|
57
|
-
def section_name(self) -> str: ...
|
|
58
72
|
|
|
59
73
|
class Type:
|
|
60
|
-
class KIND:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
CLASS
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
def
|
|
74
|
+
class KIND(enum.Enum):
|
|
75
|
+
UNKNOWN = 0
|
|
76
|
+
|
|
77
|
+
CLASS = 1
|
|
78
|
+
|
|
79
|
+
POINTER = 2
|
|
80
|
+
|
|
81
|
+
SIMPLE = 3
|
|
82
|
+
|
|
83
|
+
ENUM = 4
|
|
84
|
+
|
|
85
|
+
FUNCTION = 5
|
|
86
|
+
|
|
87
|
+
MODIFIER = 6
|
|
88
|
+
|
|
89
|
+
BITFIELD = 7
|
|
90
|
+
|
|
91
|
+
ARRAY = 8
|
|
92
|
+
|
|
93
|
+
UNION = 9
|
|
94
|
+
|
|
95
|
+
STRUCTURE = 10
|
|
96
|
+
|
|
97
|
+
INTERFACE = 11
|
|
98
|
+
|
|
99
|
+
@property
|
|
100
|
+
def kind(self) -> Type.KIND: ...
|
|
101
|
+
|
|
102
|
+
def load(path: str) -> Optional[DebugInfo]: ...
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from typing import Iterator, Optional, Union as _Union
|
|
2
|
+
|
|
3
|
+
import lief
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Array(lief.pdb.Type):
|
|
7
|
+
pass
|
|
8
|
+
|
|
9
|
+
class Attribute:
|
|
10
|
+
@property
|
|
11
|
+
def name(self) -> str: ...
|
|
12
|
+
|
|
13
|
+
@property
|
|
14
|
+
def type(self) -> Optional[lief.pdb.Type]: ...
|
|
15
|
+
|
|
16
|
+
@property
|
|
17
|
+
def field_offset(self) -> int: ...
|
|
18
|
+
|
|
19
|
+
class BitField(lief.pdb.Type):
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
class Class(ClassLike):
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
class ClassLike(lief.pdb.Type):
|
|
26
|
+
@property
|
|
27
|
+
def attributes(self) -> Iterator[Optional[Attribute]]: ...
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def methods(self) -> Iterator[Optional[Method]]: ...
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def unique_name(self) -> str: ...
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def name(self) -> str: ...
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def size(self) -> int: ...
|
|
40
|
+
|
|
41
|
+
class Enum(lief.pdb.Type):
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
class Function(lief.pdb.Type):
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
class Interface(ClassLike):
|
|
48
|
+
pass
|
|
49
|
+
|
|
50
|
+
class Method:
|
|
51
|
+
@property
|
|
52
|
+
def name(self) -> str: ...
|
|
53
|
+
|
|
54
|
+
class Modifier(lief.pdb.Type):
|
|
55
|
+
@property
|
|
56
|
+
def underlying_type(self) -> Optional[lief.pdb.Type]: ...
|
|
57
|
+
|
|
58
|
+
class Pointer(lief.pdb.Type):
|
|
59
|
+
@property
|
|
60
|
+
def underlying_type(self) -> Optional[lief.pdb.Type]: ...
|
|
61
|
+
|
|
62
|
+
class Simple(lief.pdb.Type):
|
|
63
|
+
pass
|
|
64
|
+
|
|
65
|
+
class Structure(ClassLike):
|
|
66
|
+
pass
|
|
67
|
+
|
|
68
|
+
class Union(ClassLike):
|
|
69
|
+
pass
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: lief
|
|
3
|
+
Version: 0.16.0
|
|
4
|
+
Summary: Library to instrument executable formats
|
|
5
|
+
Keywords: parser,elf,pe,macho,reverse-engineering
|
|
6
|
+
Home-page: https://lief-project.github.io/
|
|
7
|
+
Author-Email: Romain Thomas <contact@lief.re>
|
|
8
|
+
License: Apache License 2.0
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: C++
|
|
12
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
13
|
+
Project-URL: Homepage, https://lief-project.github.io/
|
|
14
|
+
Project-URL: Documentation, https://lief-project.github.io/doc/latest/
|
|
15
|
+
Project-URL: Repository, https://github.com/lief-project/LIEF
|
|
16
|
+
Project-URL: Changelog, https://lief-project.github.io/doc/latest/changelog.html
|
|
17
|
+
Project-URL: Funding, https://github.com/sponsors/lief-project
|
|
18
|
+
Project-URL: Tracker, https://github.com/lief-project/LIEF/issues
|
|
19
|
+
Requires-Python: >=3.8
|
|
20
|
+
Description-Content-Type: text/x-rst
|
|
21
|
+
|
|
22
|
+
About
|
|
23
|
+
=====
|
|
24
|
+
|
|
25
|
+
The purpose of this project is to provide a cross platform library that can parse, modify and
|
|
26
|
+
abstract ELF, PE and MachO formats.
|
|
27
|
+
|
|
28
|
+
Main features:
|
|
29
|
+
|
|
30
|
+
* **Parsing**: LIEF can parse ELF, PE, MachO, OAT, DEX, VDEX, ART and provides an user-friendly API to access to format internals.
|
|
31
|
+
* **Modify**: LIEF enables to modify some parts of these formats
|
|
32
|
+
* **Abstract**: Three formats have common features like sections, symbols, entry point... LIEF factors them.
|
|
33
|
+
* **API**: LIEF can be used in C, C++, Python and Rust
|
|
34
|
+
|
|
35
|
+
LIEF Extended:
|
|
36
|
+
|
|
37
|
+
* DWARF/PDB Support
|
|
38
|
+
* Objective-C Metadata
|
|
39
|
+
* dyld shared cache
|
|
40
|
+
|
|
41
|
+
Checkout: https://lief.re/doc/latest/extended/intro.html for the details
|
|
42
|
+
|
|
43
|
+
Getting Started
|
|
44
|
+
================
|
|
45
|
+
|
|
46
|
+
.. code-block:: console
|
|
47
|
+
|
|
48
|
+
$ pip install lief
|
|
49
|
+
|
|
50
|
+
.. code-block:: python
|
|
51
|
+
|
|
52
|
+
import lief
|
|
53
|
+
|
|
54
|
+
elf = lief.ELF.parse("/bin/ls")
|
|
55
|
+
for section in elf.sections:
|
|
56
|
+
print(section.name, len(section.content))
|
|
57
|
+
|
|
58
|
+
pe = lief.PE.parse("cmd.exe")
|
|
59
|
+
for imp in pe.imports:
|
|
60
|
+
print(imp.name)
|
|
61
|
+
|
|
62
|
+
fat = lief.MachO.parse("/bin/dyld")
|
|
63
|
+
for macho in fat:
|
|
64
|
+
for sym in macho.symbols:
|
|
65
|
+
print(sym)
|
|
66
|
+
|
|
67
|
+
Documentation
|
|
68
|
+
=============
|
|
69
|
+
|
|
70
|
+
* `Main documentation <https://lief.re/doc/latest/index.html>`_
|
|
71
|
+
* `API <https://lief.re/doc/latest/api/python/index.html>`_
|
|
72
|
+
|
|
73
|
+
Contact
|
|
74
|
+
=======
|
|
75
|
+
|
|
76
|
+
* **Mail**: contact at lief.re
|
|
77
|
+
* **Discord**: `LIEF <https://discord.gg/jGQtyAYChJ>`_
|
|
78
|
+
|
|
79
|
+
Authors
|
|
80
|
+
=======
|
|
81
|
+
|
|
82
|
+
Romain Thomas `@rh0main <https://x.com/rh0main>`_
|
|
83
|
+
|
|
84
|
+
----
|
|
85
|
+
|
|
86
|
+
LIEF is provided under the `Apache 2.0 license <https://github.com/lief-project/LIEF/blob/0.15.1/LICENSE>`_
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
lief/ART/__init__.pyi,sha256=1j1sBIH6yL_Yt57jfU5NjKApThpi3yIuZ55GVJw1cXA,1892
|
|
2
|
+
lief/Android/__init__.pyi,sha256=H01bnBakndPhjeV76KbniMaqCfOg6h06oMP3T-AcUrg,567
|
|
3
|
+
lief/DEX/__init__.pyi,sha256=NVtyApo4dTyj32PBAnhkO9X9x4dfFBeKdmVlrtKEI6c,9783
|
|
4
|
+
lief/ELF/__init__.pyi,sha256=wBbX0oVTKDvB1oHt9tKsDiqHBdFEUsbP8i6ey8a427U,98611
|
|
5
|
+
lief/MachO/__init__.pyi,sha256=4zVeZjSOngDh2Yhl6qN02N1bvRH19TjxDMX4hVTuWXc,55020
|
|
6
|
+
lief/OAT/__init__.pyi,sha256=_mR9e3n29myQFK4WSTwqXOnVmhXt53ASTQGz0mmB6E4,6802
|
|
7
|
+
lief/PE/__init__.pyi,sha256=JvOJY6HPj2-ZrUVPj4nN-JERFrb0Tz93Kn6bYacJmGE,70421
|
|
8
|
+
lief/VDEX/__init__.pyi,sha256=9YUZKojOWhtb15Vbn3JPuUu7HWkLnXH4eP1PQpp1-D4,1097
|
|
9
|
+
lief/__init__.py,sha256=sOMCNwqJ22NGeTiw6U8ZGdU974xKMcPJeVrqw_IuAFo,643
|
|
10
|
+
lief/__init__.pyi,sha256=Pw-RQM-xjzfEVX3K465XOBW5P0tqVsHW5kEjonWR6ok,11053
|
|
11
|
+
lief/_lief.pyd,sha256=wAPvuZZB7DVXcGHA4Y72tfcfmGUhCxafhj3F8O_05hc,8775680
|
|
12
|
+
lief/assembly/__init__.pyi,sha256=9lEo2ZtNqce4cdVzkV1_mQ3P2PFGbMwBchjFFIe3gl0,1914
|
|
13
|
+
lief/assembly/aarch64/__init__.pyi,sha256=9YkVkhh5w72vtHpZNAGqyhRoa80puk5W1ix3rGo6bGs,250900
|
|
14
|
+
lief/assembly/aarch64/operands/__init__.pyi,sha256=otjElFFmQmWz2qctYMB0ALmIRp4fUbRX36f_CQ1HuPo,1002
|
|
15
|
+
lief/assembly/arm/__init__.pyi,sha256=ru8DCl_u6HaILmV6GS86-01jx_6zH1vaE0DNWNQj2pI,108139
|
|
16
|
+
lief/assembly/ebpf/__init__.pyi,sha256=bfdbPUbzRZ4MBCTyNKms89eQJ5PEc_lKC30PKtUczGo,10772
|
|
17
|
+
lief/assembly/mips/__init__.pyi,sha256=N_CvN0GWAwSPjQwZfeXrQ7sw_3Hi3J-aHN0qXmeq35A,63710
|
|
18
|
+
lief/assembly/powerpc/__init__.pyi,sha256=Nt76r-HG7up81X95-UWN6TtASft0NnC0enl8G-mgBlg,59818
|
|
19
|
+
lief/assembly/riscv/__init__.pyi,sha256=SGG87C93DuLK0BQPmoBPDwf7_Be4PCcWkY1KIB4rkiw,491250
|
|
20
|
+
lief/assembly/x86/__init__.pyi,sha256=5QstuvVdFad9OBgRqfbfnC_pWy1zrGL9ztxKDnqaKQk,537260
|
|
21
|
+
lief/assembly/x86/operands/__init__.pyi,sha256=kGeLtyxU5xM5JT9RENtBd3clc0OtVDcxrRTzVf5aIz8,707
|
|
22
|
+
lief/dsc/__init__.pyi,sha256=nvPvXFCj_qWPS3VLCseIpLm-poaPBGbbqydevZMQ6Ms,4123
|
|
23
|
+
lief/dwarf/__init__.pyi,sha256=EH9xs19CjBp0Sun9y2jI-WN4q2jD4ugiN9N11YLz5Es,5332
|
|
24
|
+
lief/dwarf/parameters/__init__.pyi,sha256=8CKvucoHGmj2NkmgHgbNUZrHRZuyV1BFEzLAzW_Ipwg,268
|
|
25
|
+
lief/dwarf/types/__init__.pyi,sha256=VSIY3NHUsIQNE59_oxLdVh_SxbbsusfWmGo7UPMpeJM,3519
|
|
26
|
+
lief/logging/__init__.pyi,sha256=Wxhe9RqLOmZ74-GfgrY-Yjq9PnCQktUYIncHkSIoYrc,626
|
|
27
|
+
lief/objc/__init__.pyi,sha256=jYeFLOHsdI76IZk0q3LdqI5Q4D-Om4oc7WzfjvHMapc,1854
|
|
28
|
+
lief/pdb/__init__.pyi,sha256=kouZpAbkGg6QzeZLpMfGL7uKdoVur6AT3f901AVPdW0,1849
|
|
29
|
+
lief/pdb/types/__init__.pyi,sha256=KDf2dzaUWprt_yJgmcVeFF8q2k1w7C-zDcX-6PEzd6o,1194
|
|
30
|
+
lief/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
lief-0.16.0.dist-info/METADATA,sha256=7wBVzhrE-t35BZe5BbidTMbM_Xy_XMW-2o5vouIY4bo,2466
|
|
32
|
+
lief-0.16.0.dist-info/WHEEL,sha256=EQ8fsLen1boG9X1MSUnsz9h05eu812vNIH8dFJW8lqg,103
|
|
33
|
+
lief-0.16.0.dist-info/RECORD,,
|
lief/Android.pyi
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
from typing import Any, ClassVar
|
|
2
|
-
|
|
3
|
-
import lief.Android # type: ignore
|
|
4
|
-
|
|
5
|
-
class ANDROID_VERSIONS:
|
|
6
|
-
UNKNOWN: ClassVar[ANDROID_VERSIONS] = ...
|
|
7
|
-
VERSION_601: ClassVar[ANDROID_VERSIONS] = ...
|
|
8
|
-
VERSION_700: ClassVar[ANDROID_VERSIONS] = ...
|
|
9
|
-
VERSION_710: ClassVar[ANDROID_VERSIONS] = ...
|
|
10
|
-
VERSION_712: ClassVar[ANDROID_VERSIONS] = ...
|
|
11
|
-
VERSION_800: ClassVar[ANDROID_VERSIONS] = ...
|
|
12
|
-
VERSION_810: ClassVar[ANDROID_VERSIONS] = ...
|
|
13
|
-
VERSION_900: ClassVar[ANDROID_VERSIONS] = ...
|
|
14
|
-
__name__: str
|
|
15
|
-
def __init__(self, *args, **kwargs) -> None: ...
|
|
16
|
-
@staticmethod
|
|
17
|
-
def from_value(arg: int, /) -> lief.Android.ANDROID_VERSIONS: ...
|
|
18
|
-
def __ge__(self, other) -> bool: ...
|
|
19
|
-
def __gt__(self, other) -> bool: ...
|
|
20
|
-
def __hash__(self) -> int: ...
|
|
21
|
-
def __index__(self) -> Any: ...
|
|
22
|
-
def __int__(self) -> int: ...
|
|
23
|
-
def __le__(self, other) -> bool: ...
|
|
24
|
-
def __lt__(self, other) -> bool: ...
|
|
25
|
-
@property
|
|
26
|
-
def value(self) -> int: ...
|
|
27
|
-
|
|
28
|
-
def code_name(version: lief.Android.ANDROID_VERSIONS) -> str: ...
|
|
29
|
-
def version_string(version: lief.Android.ANDROID_VERSIONS) -> str: ...
|