lief 0.15.1__cp311-cp311-win_amd64.whl → 0.16.1__cp311-cp311-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.

Files changed (45) hide show
  1. lief/{ART.pyi → ART/__init__.pyi} +65 -45
  2. lief/Android/__init__.pyi +33 -0
  3. lief/DEX/__init__.pyi +512 -0
  4. lief/ELF/__init__.pyi +5342 -0
  5. lief/MachO/__init__.pyi +2678 -0
  6. lief/OAT/__init__.pyi +348 -0
  7. lief/PE/__init__.pyi +4098 -0
  8. lief/VDEX/__init__.pyi +54 -0
  9. lief/__init__.py +3 -0
  10. lief/__init__.pyi +457 -316
  11. lief/_lief.pyd +0 -0
  12. lief/assembly/__init__.pyi +104 -0
  13. lief/assembly/aarch64/__init__.pyi +20200 -0
  14. lief/assembly/aarch64/operands/__init__.pyi +48 -0
  15. lief/assembly/arm/__init__.pyi +9004 -0
  16. lief/assembly/ebpf/__init__.pyi +984 -0
  17. lief/assembly/mips/__init__.pyi +5798 -0
  18. lief/assembly/powerpc/__init__.pyi +5714 -0
  19. lief/assembly/riscv/__init__.pyi +27674 -0
  20. lief/assembly/x86/__init__.pyi +40433 -0
  21. lief/assembly/x86/operands/__init__.pyi +32 -0
  22. lief/dsc/__init__.pyi +220 -0
  23. lief/dwarf/__init__.pyi +224 -125
  24. lief/dwarf/parameters/__init__.pyi +14 -0
  25. lief/dwarf/types/__init__.pyi +167 -0
  26. lief/logging/__init__.pyi +44 -0
  27. lief/objc/__init__.pyi +89 -0
  28. lief/pdb/__init__.pyi +66 -50
  29. lief/pdb/types/__init__.pyi +69 -0
  30. lief-0.16.1.dist-info/METADATA +86 -0
  31. lief-0.16.1.dist-info/RECORD +33 -0
  32. lief/Android.pyi +0 -29
  33. lief/DEX.pyi +0 -382
  34. lief/ELF.pyi +0 -3179
  35. lief/MachO.pyi +0 -1717
  36. lief/OAT.pyi +0 -271
  37. lief/PE.pyi +0 -2951
  38. lief/VDEX.pyi +0 -49
  39. lief/dwarf/types.pyi +0 -72
  40. lief/logging.pyi +0 -27
  41. lief/objc.pyi +0 -68
  42. lief/pdb/types.pyi +0 -68
  43. lief-0.15.1.dist-info/METADATA +0 -157
  44. lief-0.15.1.dist-info/RECORD +0 -21
  45. {lief-0.15.1.dist-info → lief-0.16.1.dist-info}/WHEEL +0 -0
lief/VDEX.pyi DELETED
@@ -1,49 +0,0 @@
1
- from typing import Optional, Union
2
-
3
- from typing import overload
4
- import io
5
- import lief.Android # type: ignore
6
- import lief.DEX # type: ignore
7
- import lief.OAT.Binary # type: ignore
8
- import lief.VDEX # type: ignore
9
- import os
10
-
11
- class File(lief.Object):
12
- class it_dex_files:
13
- def __init__(self, *args, **kwargs) -> None: ...
14
- def __getitem__(self, arg: int, /) -> lief.DEX.File: ...
15
- def __iter__(self) -> lief.OAT.Binary.it_dex_files: ...
16
- def __len__(self) -> int: ...
17
- def __next__(self) -> lief.DEX.File: ...
18
- def __init__(self, *args, **kwargs) -> None: ...
19
- @property
20
- def dex2dex_json_info(self) -> str: ...
21
- @property
22
- def dex_files(self) -> lief.OAT.Binary.it_dex_files: ...
23
- @property
24
- def header(self) -> lief.VDEX.Header: ...
25
-
26
- class Header(lief.Object):
27
- def __init__(self, *args, **kwargs) -> None: ...
28
- @property
29
- def dex_size(self) -> int: ...
30
- @property
31
- def magic(self) -> list[int]: ...
32
- @property
33
- def nb_dex_files(self) -> int: ...
34
- @property
35
- def quickening_info_size(self) -> int: ...
36
- @property
37
- def verifier_deps_size(self) -> int: ...
38
- @property
39
- def version(self) -> int: ...
40
-
41
- def android_version(vdex_version: int) -> lief.Android.ANDROID_VERSIONS: ...
42
- @overload
43
- def parse(filename: str) -> Optional[lief.VDEX.File]: ...
44
- @overload
45
- def parse(obj: Union[io.IOBase|os.PathLike], name: str = ...) -> Optional[lief.VDEX.File]: ...
46
- @overload
47
- def version(file: str) -> int: ...
48
- @overload
49
- def version(raw: list[int]) -> int: ...
lief/dwarf/types.pyi DELETED
@@ -1,72 +0,0 @@
1
- from typing import Any, ClassVar, Optional
2
-
3
- import lief.dwarf # type: ignore
4
- import lief.dwarf.types.Base # type: ignore
5
- import lief.dwarf.types.ClassLike # type: ignore
6
-
7
- class Array(lief.dwarf.Type):
8
- def __init__(self, *args, **kwargs) -> None: ...
9
- @property
10
- def underlying_type(self) -> lief.dwarf.Type: ...
11
-
12
- class Base(lief.dwarf.Type):
13
- class ENCODING:
14
- ADDRESS: ClassVar[Base.ENCODING] = ...
15
- BOOLEAN: ClassVar[Base.ENCODING] = ...
16
- FLOAT: ClassVar[Base.ENCODING] = ...
17
- NONE: ClassVar[Base.ENCODING] = ...
18
- SIGNED: ClassVar[Base.ENCODING] = ...
19
- SIGNED_CHAR: ClassVar[Base.ENCODING] = ...
20
- UNSIGNED: ClassVar[Base.ENCODING] = ...
21
- UNSIGNED_CHAR: ClassVar[Base.ENCODING] = ...
22
- __name__: str
23
- def __init__(self, *args, **kwargs) -> None: ...
24
- def __ge__(self, other) -> bool: ...
25
- def __gt__(self, other) -> bool: ...
26
- def __hash__(self) -> int: ...
27
- def __index__(self) -> Any: ...
28
- def __int__(self) -> int: ...
29
- def __le__(self, other) -> bool: ...
30
- def __lt__(self, other) -> bool: ...
31
- def __init__(self, *args, **kwargs) -> None: ...
32
- @property
33
- def encoding(self) -> lief.dwarf.types.Base.ENCODING: ...
34
-
35
- class Class(ClassLike):
36
- def __init__(self, *args, **kwargs) -> None: ...
37
-
38
- class ClassLike(lief.dwarf.Type):
39
- class Member:
40
- def __init__(self, *args, **kwargs) -> None: ...
41
- @property
42
- def bit_offset(self) -> Optional[int]: ...
43
- @property
44
- def is_declaration(self) -> bool: ...
45
- @property
46
- def is_external(self) -> bool: ...
47
- @property
48
- def name(self) -> str: ...
49
- @property
50
- def offset(self) -> Optional[int]: ...
51
- @property
52
- def type(self) -> Optional[lief.dwarf.Type]: ...
53
- def __init__(self, *args, **kwargs) -> None: ...
54
- def find_member(self, offset: int) -> Optional[lief.dwarf.types.ClassLike.Member]: ...
55
- @property
56
- def members(self) -> list[lief.dwarf.types.ClassLike.Member]: ...
57
-
58
- class Const(lief.dwarf.Type):
59
- def __init__(self, *args, **kwargs) -> None: ...
60
- @property
61
- def underlying_type(self) -> lief.dwarf.Type: ...
62
-
63
- class Pointer(lief.dwarf.Type):
64
- def __init__(self, *args, **kwargs) -> None: ...
65
- @property
66
- def underlying_type(self) -> lief.dwarf.Type: ...
67
-
68
- class Structure(ClassLike):
69
- def __init__(self, *args, **kwargs) -> None: ...
70
-
71
- class Union(ClassLike):
72
- def __init__(self, *args, **kwargs) -> None: ...
lief/logging.pyi DELETED
@@ -1,27 +0,0 @@
1
- from typing import Any, ClassVar
2
-
3
- import lief.logging # type: ignore
4
-
5
- class LEVEL:
6
- CRITICAL: ClassVar[LEVEL] = ...
7
- DEBUG: ClassVar[LEVEL] = ...
8
- ERROR: ClassVar[LEVEL] = ...
9
- INFO: ClassVar[LEVEL] = ...
10
- TRACE: ClassVar[LEVEL] = ...
11
- WARN: ClassVar[LEVEL] = ...
12
- __name__: str
13
- def __init__(self, *args, **kwargs) -> None: ...
14
- def __ge__(self, other) -> bool: ...
15
- def __gt__(self, other) -> bool: ...
16
- def __hash__(self) -> int: ...
17
- def __index__(self) -> Any: ...
18
- def __int__(self) -> int: ...
19
- def __le__(self, other) -> bool: ...
20
- def __lt__(self, other) -> bool: ...
21
-
22
- def disable() -> None: ...
23
- def enable() -> None: ...
24
- def log(level: lief.logging.LEVEL, msg: str) -> None: ...
25
- def reset() -> None: ...
26
- def set_level(level: lief.logging.LEVEL) -> None: ...
27
- def set_path(path: str) -> None: ...
lief/objc.pyi DELETED
@@ -1,68 +0,0 @@
1
- from typing import Iterator, Optional
2
-
3
- import lief.objc # type: ignore
4
-
5
- class Class:
6
- def __init__(self, *args, **kwargs) -> None: ...
7
- @property
8
- def demangled_name(self) -> str: ...
9
- @property
10
- def is_meta(self) -> bool: ...
11
- @property
12
- def ivars(self) -> Iterator[Optional[lief.objc.IVar]]: ...
13
- @property
14
- def methods(self) -> Iterator[Optional[lief.objc.Method]]: ...
15
- @property
16
- def name(self) -> str: ...
17
- @property
18
- def properties(self) -> Iterator[Optional[lief.objc.Property]]: ...
19
- @property
20
- def protocols(self) -> Iterator[Optional[lief.objc.Protocol]]: ...
21
- @property
22
- def super_class(self) -> Optional[lief.objc.Class]: ...
23
-
24
- class IVar:
25
- def __init__(self, *args, **kwargs) -> None: ...
26
- @property
27
- def mangled_type(self) -> str: ...
28
- @property
29
- def name(self) -> str: ...
30
-
31
- class Metadata:
32
- def __init__(self, *args, **kwargs) -> None: ...
33
- def get_class(self, name: str) -> Optional[lief.objc.Class]: ...
34
- def get_protocol(self, name: str) -> Optional[lief.objc.Protocol]: ...
35
- def to_decl(self) -> str: ...
36
- @property
37
- def classes(self) -> Iterator[Optional[lief.objc.Class]]: ...
38
- @property
39
- def protocols(self) -> Iterator[Optional[lief.objc.Protocol]]: ...
40
-
41
- class Method:
42
- def __init__(self, *args, **kwargs) -> None: ...
43
- @property
44
- def address(self) -> int: ...
45
- @property
46
- def is_instance(self) -> bool: ...
47
- @property
48
- def mangled_type(self) -> str: ...
49
- @property
50
- def name(self) -> str: ...
51
-
52
- class Property:
53
- def __init__(self, *args, **kwargs) -> None: ...
54
- @property
55
- def attribute(self) -> str: ...
56
- @property
57
- def name(self) -> str: ...
58
-
59
- class Protocol:
60
- def __init__(self, *args, **kwargs) -> None: ...
61
- @property
62
- def mangled_name(self) -> str: ...
63
- @property
64
- def optional_methods(self) -> Iterator[Optional[lief.objc.Method]]: ...
65
- @property
66
- def properties(self) -> Iterator[Optional[lief.objc.Property]]: ...
67
- @property
68
- def required_methods(self) -> Iterator[Optional[lief.objc.Method]]: ...
lief/pdb/types.pyi DELETED
@@ -1,68 +0,0 @@
1
- from typing import Iterator, Optional
2
-
3
- import lief.pdb # type: ignore
4
- import lief.pdb.types # type: ignore
5
-
6
- class Array(lief.pdb.Type):
7
- def __init__(self, *args, **kwargs) -> None: ...
8
-
9
- class Attribute:
10
- def __init__(self, *args, **kwargs) -> None: ...
11
- @property
12
- def field_offset(self) -> int: ...
13
- @property
14
- def name(self) -> str: ...
15
- @property
16
- def type(self) -> Optional[lief.pdb.Type]: ...
17
-
18
- class BitField(lief.pdb.Type):
19
- def __init__(self, *args, **kwargs) -> None: ...
20
-
21
- class Class(ClassLike):
22
- def __init__(self, *args, **kwargs) -> None: ...
23
-
24
- class ClassLike(lief.pdb.Type):
25
- def __init__(self, *args, **kwargs) -> None: ...
26
- @property
27
- def attributes(self) -> Iterator[Optional[lief.pdb.types.Attribute]]: ...
28
- @property
29
- def methods(self) -> Iterator[Optional[lief.pdb.types.Method]]: ...
30
- @property
31
- def name(self) -> str: ...
32
- @property
33
- def size(self) -> int: ...
34
- @property
35
- def unique_name(self) -> str: ...
36
-
37
- class Enum(lief.pdb.Type):
38
- def __init__(self, *args, **kwargs) -> None: ...
39
-
40
- class Function(lief.pdb.Type):
41
- def __init__(self, *args, **kwargs) -> None: ...
42
-
43
- class Interface(ClassLike):
44
- def __init__(self, *args, **kwargs) -> None: ...
45
-
46
- class Method:
47
- def __init__(self, *args, **kwargs) -> None: ...
48
- @property
49
- def name(self) -> str: ...
50
-
51
- class Modifier(lief.pdb.Type):
52
- def __init__(self, *args, **kwargs) -> None: ...
53
- @property
54
- def underlying_type(self) -> Optional[lief.pdb.Type]: ...
55
-
56
- class Pointer(lief.pdb.Type):
57
- def __init__(self, *args, **kwargs) -> None: ...
58
- @property
59
- def underlying_type(self) -> Optional[lief.pdb.Type]: ...
60
-
61
- class Simple(lief.pdb.Type):
62
- def __init__(self, *args, **kwargs) -> None: ...
63
-
64
- class Structure(ClassLike):
65
- def __init__(self, *args, **kwargs) -> None: ...
66
-
67
- class Union(ClassLike):
68
- def __init__(self, *args, **kwargs) -> None: ...
@@ -1,157 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: lief
3
- Version: 0.15.1
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++ and Python
34
-
35
-
36
- Downloads / Install
37
- ===================
38
-
39
- First, make sure to have an updated version of setuptools:
40
-
41
- .. code-block:: console
42
-
43
- $ pip install setuptools --upgrade
44
-
45
- To install the latest **version** (release):
46
-
47
- .. code-block:: console
48
-
49
- $ pip install lief
50
-
51
- To install nightly build:
52
-
53
- .. code-block:: console
54
-
55
- $ pip install [--user] --index-url https://lief.s3-website.fr-par.scw.cloud/latest lief
56
-
57
-
58
- Getting started
59
- ===============
60
-
61
- Python
62
- ------
63
-
64
- .. code-block:: python
65
-
66
- import lief
67
-
68
- # ELF
69
- binary = lief.parse("/usr/bin/ls")
70
- print(binary)
71
-
72
- # PE
73
- binary = lief.parse("C:\\Windows\\explorer.exe")
74
- print(binary)
75
-
76
- # Mach-O
77
- binary = lief.parse("/usr/bin/ls")
78
- print(binary)
79
-
80
- C++
81
- ---
82
-
83
- .. code-block:: cpp
84
-
85
- #include <LIEF/LIEF.hpp>
86
-
87
- int main(int argc, char** argv) {
88
- // ELF
89
- try {
90
- std::unique_ptr<LIEF::ELF::Binary> elf = LIEF::ELF::Parser::parse("/bin/ls");
91
- std::cout << *elf << '\n';
92
- } catch (const LIEF::exception& err) {
93
- std::cerr << err.what() << '\n';
94
- }
95
-
96
- // PE
97
- try {
98
- std::unique_ptr<LIEF::PE::Binary> pe = LIEF::PE::Parser::parse("C:\\Windows\\explorer.exe");
99
- std::cout << *pe << '\n';
100
- } catch (const LIEF::exception& err) {
101
- std::cerr << err.what() << '\n';
102
- }
103
-
104
- // Mach-O
105
- try {
106
- std::unique_ptr<LIEF::MachO::FatBinary> macho = LIEF::MachO::Parser::parse("/bin/ls");
107
- std::cout << *macho << '\n';
108
- } catch (const LIEF::exception& err) {
109
- std::cerr << err.what() << '\n';
110
- }
111
-
112
- return 0;
113
- }
114
-
115
- C (Limited API)
116
- ----------------
117
-
118
- .. code-block:: cpp
119
-
120
- #include <LIEF/LIEF.h>
121
-
122
- int main(int argc, char** argv) {
123
- Elf_Binary_t* elf = elf_parse("/usr/bin/ls");
124
-
125
- Elf_Section_t** sections = elf->sections;
126
-
127
- for (size_t i = 0; sections[i] != NULL; ++i) {
128
- printf("%s\n", sections[i]->name);
129
- }
130
-
131
- elf_binary_destroy(elf);
132
- return 0;
133
- }
134
-
135
- Documentation
136
- =============
137
-
138
- * `Main documentation <https://lief-project.github.io/doc/latest/index.html>`_
139
- * `Tutorial <https://lief-project.github.io/doc/latest/tutorials/index.html>`_
140
- * `API <https://lief-project.github.io/doc/latest/api/index.html>`_
141
- * `Doxygen <https://lief-project.github.io/doc/latest/doxygen/index.html>`_
142
-
143
- Contact
144
- =======
145
-
146
- * **Mail**: contact at lief.re
147
- * **Gitter**: `lief-project <https://gitter.im/lief-project>`_
148
-
149
-
150
- Authors
151
- =======
152
-
153
- Romain Thomas `@rh0main <https://twitter.com/rh0main>`_ - `Quarkslab <https://www.quarkslab.com>`_
154
-
155
- ----
156
-
157
- LIEF is provided under the `Apache 2.0 license <https://github.com/lief-project/LIEF/blob/0.12.3/LICENSE>`_
@@ -1,21 +0,0 @@
1
- lief/ART.pyi,sha256=okrdxoGK3rdKCV-WISRQAvfyGPrAUjPN_D4RyD-qYvk,2376
2
- lief/Android.pyi,sha256=0Sy9vgnifJFc8VJ2KyDlDzcyeHNct0qcAsMuDx9dzRg,1102
3
- lief/DEX.pyi,sha256=NLOpH2wHo__KRhsDkx0nntpvAIPyPNTPo-Bkhzjz3H8,14056
4
- lief/ELF.pyi,sha256=St7QpXiMVHsWqddda2rdZBIpYoAzkgbd3j9n6cdAbIc,148550
5
- lief/MachO.pyi,sha256=7r6AWobJ3eUJ2j_4yNqBKjeCwQL52M6adKodCm5xeEU,69567
6
- lief/OAT.pyi,sha256=ro8E1XU6Jhium5ecvoxLp0TNxQfWvv1yOkzMUpg433s,9821
7
- lief/PE.pyi,sha256=aQanWqgeCmRE3XqoGA9EMJa3D9bor8Zo09_As8KxB5g,121268
8
- lief/VDEX.pyi,sha256=VStSPLoR-Vhs50e17YDDSls_VYUkzzt7oXKNRJtQHhw,1538
9
- lief/__init__.py,sha256=lBwJw2tZUxUz7pdrhptJpjj9BkXV2bWqCpTsvPmMjQ0,520
10
- lief/__init__.pyi,sha256=10H07vSY1qjAGQyGdMtjQMMYRNyBSN7umE0s0e-4WHI,14570
11
- lief/_lief.pyd,sha256=2ZOoSA9qy6w1vNnZuZRzYesZkE2ZlFGxmBIYAPCs_bY,6862848
12
- lief/dwarf/__init__.pyi,sha256=m0-zG9BTNBDVuRbaDsxchhfLK49y1MlVAnhwJEaym1E,6983
13
- lief/dwarf/types.pyi,sha256=5crWFL1XzgBlw_yYcAj17ZTO8kGem12ugGHGk127aZs,2527
14
- lief/logging.pyi,sha256=HFlBKdZvcpowG8rY_Dk_H60yeZ76XWBBDV-bRWa1TAI,850
15
- lief/objc.pyi,sha256=Vi9Ss2SutQlnstL21o90wwdKdRMz8S0WgC5TkJ27YXQ,2088
16
- lief/pdb/__init__.pyi,sha256=PC6MdB3HOf4LX1oBxJZGkpT0sf7UuPYtY2rqeS0GkW0,2853
17
- lief/pdb/types.pyi,sha256=gBIbdm_tPCu3XtMWQ0oCZPv0ZdjwaWGm1JmvAMUhoMI,1917
18
- lief/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- lief-0.15.1.dist-info/METADATA,sha256=xjs8qKGJLKSXO6mx2BZvX9Y60BegUUcN00vmaMwGsYU,3987
20
- lief-0.15.1.dist-info/WHEEL,sha256=-Yst4Hgd7P-E_HPJpJU1HnAXaIsrqZTDP2G2meu6zJg,105
21
- lief-0.15.1.dist-info/RECORD,,
File without changes