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
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: ...
|
lief-0.15.1.dist-info/METADATA
DELETED
|
@@ -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>`_
|
lief-0.15.1.dist-info/RECORD
DELETED
|
@@ -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=30RZb3xnktO9vIY1VLnKfxqfJExw3cwcdNbwoi-fY90,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=EQ8fsLen1boG9X1MSUnsz9h05eu812vNIH8dFJW8lqg,103
|
|
21
|
-
lief-0.15.1.dist-info/RECORD,,
|
|
File without changes
|