Commit graph

443 commits

Author SHA1 Message Date
dword64
0c2e3e122e updated pe parsing, split operators, update docs 2026-04-05 00:02:58 +02:00
dword64
667eea2b1e unique_ptr ownership, safer virtual interfaces, and pch/unity speedups and more 2026-04-04 20:13:26 +02:00
dword64
4292245507 possible fix tracer stack overflow vulnerabilities (#52 , #78 ), cap/keystone version bump, #79 and #81 2026-04-01 16:57:42 +02:00
windy
34f5502b0b fix https://github.com/vtil-project/VTIL-Core/issues/74 2022-07-13 13:35:18 +08:00
zZzetaS
32ee99ee8d merged & added tests for bblock_thunk_removal_pass 2022-01-14 22:55:20 +01:00
Duncan Ogilvie
033c7577ce Improve CMake and add instructions to README 2022-01-14 16:32:31 +01:00
Duncan Ogilvie
cda7694f91
Merge pull request #62 from wallds/patch-1
Fix test_access
2022-01-14 13:37:39 +01:00
windy
b92c3f736f make compatible (x86) 2022-01-14 12:48:12 +01:00
wallds
611c274b2e Fix test_access 2022-01-13 11:44:45 +08:00
z3t4s
617df086bf Applied fixes that are not yet available in master. Also added a new thunk removal pass 2022-01-12 23:42:06 +01:00
Duncan Ogilvie
c658914c53 Fix compilation on GCC 11.1 2022-01-10 22:08:33 +01:00
windy
f0316a22ab Fix bit operation 2021-08-30 23:35:55 +08:00
windy
04fd7da3ac Make arch::size to signed int 2021-08-26 22:41:46 +08:00
windy
ffaf8ca91f Add unit tests for optimization passes 2021-08-20 13:03:49 +08:00
windy
566d2a998c Fix constexpr compile error 2021-08-18 22:05:41 +08:00
windy
57fda60379 Fix all warning in x86 2021-08-17 23:24:32 +08:00
windy
4c465af036 Fix x86 optimizers, demo-tests:
```
:: After:
 | | Entry point VIP:       0x1337
 | | Stack pointer:         -0x8
 | | Already visited?:      N
 | | ------------------------
 | | 0000: [ PSEUDO ]     -0x8     movd     eax          0x1
 | | 0001: [ PSEUDO ]     -0x8     strd     $sp          -0x4         0x0
 | | 0002: [ PSEUDO ]     -0x8     strd     $sp          -0x8         0x1
 | | 0003: [ PSEUDO ]     -0x8     vpinrd   eax
 | | 0004: [ PSEUDO ]     -0x8     vexitq   0x0
```
2021-08-16 02:54:00 +08:00
windy
37b436a584 x86 Test OK 2021-08-08 23:16:28 +08:00
windy
1004668b55 Add build docs for Visual Studio 2021-08-02 23:41:48 +08:00
nullxzero
dd9edf6634
Fix failed validation for wrong bit_count()
For some rare targets, this assertion fails:

```cpp
cvalidate( operands[ idx ].bit_count() == 64 );
```

Can mentioned it should likely be fine if the operand is immediate, so adding this to the equation solved the problem.
2021-03-17 23:05:28 -07:00
Peter Meerwald-Stadler
74134a8f56 Use C++-style include cstdint 2021-02-10 23:20:09 +01:00
Peter Meerwald-Stadler
6e668bdd08 Fix some typos 2021-02-10 23:19:57 +01:00
Can Bölük
7e741095ab
Fixing a bug with calling conventions. 2020-12-06 18:29:37 +01:00
Duncan Ogilvie
9c56d906fd Add implicit conversion from enum in register_desc 2020-11-16 03:22:49 +01:00
Can Bölük
3ea858c8e6 Fix batch translator for non-free variables, add util finally. 2020-08-24 20:49:53 +02:00
Can Bölük
5b6d37e129 Const-correct VM interface. 2020-08-24 06:08:18 +02:00
Can Bölük
a25ce864fe Routine uses unordered_map now, other minor changes. 2020-08-24 04:38:15 +02:00
Can Bölük
0b316c6cfd Implemented basic std::fs support, reworked time/iterator helpers. 2020-08-24 04:00:44 +02:00
Can Bölük
e415dcdcf4 Serialization now checks for invalid files. 2020-08-24 00:23:40 +02:00
Can Bölük
7e85f61632 Don't reset stack. 2020-08-23 23:41:29 +02:00
Can Bölük
e751abf966 Fixing style. 2020-08-23 23:40:15 +02:00
Can Bölük
930843a267 Fixing pathing logic yet again. 2020-08-23 23:38:57 +02:00
Can Bölük
8ce6834536 Fixing pathing logic. 2020-08-23 23:38:21 +02:00
Can Bölük
dd3d0d6946 Converting has_path into debug warning. 2020-08-23 11:12:37 +02:00
Can Bölük
6e174a6492 Fixing access check logic for call conventions. 2020-08-23 07:42:42 +02:00
Can Bölük
0ec97f0c17 Fixing further bugs with test_access, improved access_details interface. 2020-08-23 07:07:11 +02:00
Can Bölük
98e8748dd8 Skipping branches that do not reach the target in rtrace. 2020-08-23 06:41:22 +02:00
Can Bölük
af918e0d74 Fixing a major bug discarding second operation on identical operand. 2020-08-23 06:34:38 +02:00
Can Bölük
e5660264c3 Implementing proper access_details merging. 2020-08-23 06:34:02 +02:00
Can Bölük
1e878c0d83 Fix ::flush lock type. 2020-08-23 05:46:54 +02:00
Can Bölük
0bbc82b8f8 Implemented optimizer::execution_order. 2020-08-23 05:44:11 +02:00
Can Bölük
fbd82c8469 Better naming of depth ordered list. 2020-08-23 03:55:23 +02:00
Can Bölük
3bff85e673 Clone now fixes depth-ord cache, move out of multivariate. 2020-08-23 03:02:13 +02:00
Can Bölük
4c00a06de8 Implemented routine::get_depth_ordered_list, implemented cfg epoch. 2020-08-23 02:31:39 +02:00
Can Bölük
38c882e75f Uncomment loop detection. 2020-08-22 06:34:14 +02:00
Can Bölük
e9323a0dbb Implemented epoch tracking for vtil::routine. 2020-08-22 06:32:21 +02:00
Can Bölük
5a2b31e495 Removing tracer limit, implementing more efficient iteration. 2020-08-22 03:48:02 +02:00
Can Bölük
fac4c68236 Removed vector allocating ::recurse, replacing with ::enum_paths. 2020-08-22 03:47:49 +02:00
Can Bölük
01beb45a76 Fixing potential loop detection logic. 2020-08-22 01:23:48 +02:00
Can Bölük
dc4d0d3598 Fixing typo. 2020-08-22 01:21:31 +02:00