867 Commits

Author SHA1 Message Date
rthomas
2bfd277360 Revert Python 3.9 on Windows 2020-11-10 18:30:00 +01:00
rthomas
43a223b70f Package json.hpp into third-party directory 2020-11-10 17:52:34 +01:00
rthomas
24d89a1315 Lint 2020-11-10 17:21:28 +01:00
Romain
122e6ab443
Merge pull request #487 from aeflores/add-mips-abstract
add mips to the elf architecture mapping.
2020-11-10 16:54:10 +01:00
rthomas
ab4df2db1e Re-enable other python versions 2020-11-10 16:48:12 +01:00
rthomas
ad6189e38c Enable Python 3.9 on Appveyor 2020-11-10 16:47:23 +01:00
Antonio Flores Montoya
f2151dbe41 add mips to the elf architecture mapping. 2020-11-10 10:44:39 -05:00
rthomas
a35a97aa83 Log improvements 2020-11-10 06:32:12 +01:00
rthomas
1364f22c78 Improve logging interface 2020-11-09 21:02:50 +01:00
rthomas
044f3d992c Merge branch 'pr/486' 2020-11-07 15:46:58 +01:00
Meir Komet
1851382170 added eBPF file support (compiled to ELF, via new llvm support) 2020-11-07 15:46:28 +01:00
rthomas
c02bfee0e6 Add ftime-tracing script 2020-11-07 15:45:03 +01:00
Romain
a76eb4a4f9
Merge pull request #483 from rafael-santiago/master
Changing library artifact suffix take into consideration CRT choice on MSVC based builds
2020-11-06 17:03:03 +01:00
rafael-santiago
7b5e8503d6 Changing library artifact suffix...
...take into consideration CRT choice on MSVC based builds.
2020-11-05 09:37:16 -03:00
rthomas
b8a6c68731 Add test for empty gnu hash 2020-11-04 15:42:14 +01:00
rthomas
b90d3c433d Update changelog & references 2020-11-04 14:50:42 +01:00
rthomas
1381f9a115 Force rebuild GNU hash table even though it's empty 2020-11-04 14:26:58 +01:00
rthomas
dc31e15fc9 Fix #477 according to @Clcanny fix 2020-11-04 14:18:36 +01:00
rthomas
d84f190790 Fix #479 2020-11-04 11:30:49 +01:00
rthomas
437fbeb3ea Update changelog 2020-10-22 14:50:14 +02:00
rthomas
3d9b84c6ec Add support for Python 3.9 2020-10-22 14:48:27 +02:00
rthomas
3bd530b880 Resolve #476 2020-10-15 09:14:18 +02:00
rthomas
1390f8b090 Add method to query binary's virtual size 2020-10-12 16:25:33 +02:00
rthomas
2d0005dc60 Unify GuardFlags 2020-10-11 20:18:20 +02:00
rthomas
d6753b17c5 Fix error 2020-10-10 11:01:05 +02:00
rthomas
2e65a94b7c Export binding's original offset 2020-10-09 18:42:52 +02:00
rthomas
a7921647cf Update OSX versions 2020-10-09 13:21:15 +02:00
Romain
96632324c3
Merge pull request #474 from 0xced/fix_fatbinary_segfault
Fix segmentation fault when accessing the raw data of a FatBinary
2020-10-09 08:45:48 +02:00
Cédric Luthi
4d4ef09e8e Fix segmentation fault when accessing the raw data of a FatBinary
Here is how to trigger the segmentation fault:

```cpp
#include <iostream>
#include <LIEF/MachO.hpp>

int main(int argc, const char * argv[])
{
    std::string path = "/usr/bin/yes";
    std::unique_ptr<LIEF::MachO::FatBinary> fat_binary = LIEF::MachO::Parser::parse(path);
    std::vector<uint8_t> raw = fat_binary->raw();
    std::cout << path << " size: " << raw.size() << std::endl;
    fat_binary.reset();
    return 0;
}
```

The `build()` method must not be called when the `Builder` is initilaized with a `FatBinary` because `this->binary_` is null (which causes the segmentation fault when accessing `this->binary_->is64_`). Anyway, calling `get_build()` is enough since `build()`or `build_fat()` is already called in the constructors of the `LIEF::MachO::Builder` class.

Before this commit:

```
./a.out
[1]    37481 segmentation fault  ./a.out
```

Afer this commit:

```
./a.out
/usr/bin/yes size: 30944
```
2020-10-08 10:28:11 +02:00
rthomas
f8f353b5ed Fix 2020-10-04 21:30:21 +02:00
rthomas
de766d3165 Fix python version 2020-10-04 21:00:53 +02:00
rthomas
1663ebd843 Fix typo 2020-10-04 19:54:09 +02:00
rthomas
c6a2b93628 Trigger with Linux/3.8 2020-10-04 19:42:35 +02:00
rthomas
ab3557654e Update changelog 2020-09-28 06:39:52 +02:00
Romain
7884e57aa1
Merge pull request #469 from aguinet/fix/lief_tuto_bin2lib
Enhance the bin2lib tutorial to support new glic versions
2020-09-28 06:34:52 +02:00
Adrien Guinet
48f72bd036 Enhance the bin2lib tutorial to support new glic versions
Glibc >= 2.29 versions do not allow the loading of a PIE binary with
dlopen. Explain this and how to workaround it.

An associated PR for https://github.com/lief-project/tutorials/ is
incoming
2020-09-27 11:52:02 +02:00
rthomas
1a416ea365 Fix reconstruction issue when the binary is prelinked
Resolve issue #466
2020-09-26 17:34:12 +02:00
rthomas
9e6902c19c Fix .eh_frame parsing issue 2020-09-26 12:24:53 +02:00
rthomas
013a3861c0 Setup cmake configuration as RelWithDebInfo when building in debug mode 2020-09-26 11:17:03 +02:00
rthomas
61e93d71f2 Add missing enum string 2020-09-25 20:13:13 +02:00
rthomas
e0457bd779 Add DF_1_PIE 2020-09-25 16:47:41 +02:00
rthomas
081ec5c0e9 Add DF_1_PIE enum 2020-09-23 13:33:42 +02:00
Romain
c31e7b4c3b
Merge pull request #459 from kohnakagawa/fix/msvc_warning
Fix C4146 error when building LIEF with MSVC
2020-09-01 12:56:08 +02:00
Koh M. Nakagawa
32ad568691 Fix to remove C4146 errors 2020-08-31 16:54:22 +09:00
Romain
f955a6bc0c
Merge pull request #458 from metaverse-systems/fix-include-dir-pkgconfig
Fixes incorrect include directory in pkgconfig file.
2020-08-28 09:27:38 +02:00
Tim Schwartz
390d140fed Fixes incorrect include directory in pkgconfig file. 2020-08-27 15:34:54 -05:00
rthomas
19e06755e8 Fix 449 2020-08-27 11:14:32 +02:00
rthomas
5f26216f90 Resolve #455 2020-08-27 09:59:59 +02:00
Romain
4881c6f5c4
Merge pull request #456 from metaverse-systems/add-pkgconfig-file
Generates LIEF.pc and installs in /lib/pkgconfig/
2020-08-27 09:27:16 +02:00
Tim Schwartz
5fed2461a9 Generates LIEF.pc and installs in /lib/pkgconfig/ 2020-08-26 08:16:21 -05:00