Commit Graph

13 Commits

Author SHA1 Message Date
Romain Thomas 969411f8ef Welcome 2023 2023-01-03 10:38:09 +01:00
Romain Thomas 77328b0071 Bump year 2022-02-08 21:16:25 +01:00
Romain Thomas e9782c5927 Clean & modernize LIEF code base
This commit (obviously non-atomic) cleans LIEF's code base by:
  - Using pointer semantics (`std::unique_ptr<>`)
  - Using LEAF boost error in the binary stream
  - Reducing the scope of the iterators (`it_section`, ...)
  - Removing `Structures.hpp` from the public headers
  - etc
2022-02-05 06:09:06 +01:00
Romain Thomas b730ec068d Hide the JSON implementation of LIEF
This commit removes the public include of nlohmann/json
as it is a *detail of implementation*. Instead, the public
API exposes:

```cpp
std::string to_json(...);
```

In addition, it enables to externally provide nlohmann/json using
the cmake option ``-DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=on``.
For instance, this option can be used as follows:

```bash
$ cmake -DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=on \
        -Dnlohmann_json_DIR=<PATH>/lib/cmake/nlohmann_json
```

Related to #605
2022-01-29 09:51:03 +01:00
Romain Thomas 6720ed2385 Update copyright 2021-01-16 18:17:17 +01:00
Romain Thomas 3b17aba10e Refactor some parts of the Architecture:
* JSON visitor are located in the format namespace
  * Visitor are *real* visitor
  * Visitable class has been renamed to Object
  * Due to a bug in Visual Studio 2015, we move to VS2017
2018-03-13 16:49:02 +01:00
Romain Thomas 404e0ecca3 Enhance LIEF 'modules' separation 2017-11-18 18:07:14 +01:00
Romain Thomas 0234e3b8bb Parse the PE Load Configuration structure 2017-10-06 07:55:58 +02:00
Romain Thomas 754b8afa2b Add object (ELF::DynamicEntryFlags) for ELF's DT_FLAGS and DT_FLAGS_1 2017-08-01 15:22:01 +02:00
Romain Thomas 8ddc71d337 Parse PE Rich Header (resolve #15) 2017-06-27 09:12:40 +02:00
Romain Thomas e4cd61e4bf Serialize PE object into json (resolve #18) 2017-06-14 10:17:45 +02:00
Romain Thomas 37cd8aa3cc Resolve #36 2017-06-11 15:26:42 +02:00
Romain Thomas 306a191a03 First public release 2017-03-30 16:56:49 +02:00