Skip to content

Commit 160cd79

Browse files
authored
Merge branch 'kernelwernel:main' into main
2 parents 9957676 + 4baef21 commit 160cd79

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

docs/documentation.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,6 +673,11 @@ This is the table of all the brands the lib supports.
673673
| Qihoo 360 Sandbox | `brands::QIHOO` | Sandbox | |
674674
| nsjail | `brands::NSJAIL` | Process isolator | |
675675
| DBVM | `brands::DBVM` | Hypervisor (type 1) | See the [Cheat Engine's Website](https://www.cheatengine.org/aboutdbvm.php) |
676+
| UTM | `brands::UTM` | Hypervisor (type 2) | |
677+
| Compaq FX!32 | `brands::COMPAQ` | Emulator | |
678+
| Insignia RealPC | `brands::INSIGNIA` | Emulator | |
679+
| Connectix Virtual PC | `brands::CONNECTIX` | Emulator |
680+
676681
677682
<br>
678683

src/vmaware.hpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9782,7 +9782,7 @@ struct VM {
97829782

97839783
using POBJECT_DIRECTORY_INFORMATION = OBJECT_DIRECTORY_INFORMATION*;
97849784
constexpr auto DIRECTORY_QUERY = 0x0001;
9785-
constexpr NTSTATUS STATUS_NO_MORE_ENTRIES = static_cast<NTSTATUS>(0x8000001A);
9785+
constexpr NTSTATUS NO_MORE_ENTRIES = 0x8000001A;
97869786

97879787
HANDLE dir = nullptr;
97889788
OBJECT_ATTRIBUTES object_attributes{};
@@ -9839,7 +9839,7 @@ struct VM {
98399839
);
98409840

98419841
// Stop if we have iterated through all objects
9842-
if (status == STATUS_NO_MORE_ENTRIES) {
9842+
if (status == NO_MORE_ENTRIES) {
98439843
break;
98449844
}
98459845

@@ -10687,10 +10687,10 @@ struct VM {
1068710687
// need to do a lambda wrapper to isolate SEH from the parent function's stack unwinding
1068810688
// target aes is required for clang/gcc while in MSVC not, and this target can only be applied to functions, meaning we need a struct
1068910689
struct aes_executor {
10690-
#if (CLANG || GCC)
10691-
__attribute__((__target__("aes")))
10692-
#endif
10693-
static bool check_aes_integrity(const unsigned char* pt, const unsigned char* k, unsigned char* o, bool support) {
10690+
#if (CLANG || GCC)
10691+
__attribute__((__target__("aes")))
10692+
#endif
10693+
static bool check_aes_integrity(const unsigned char* pt, const unsigned char* k, unsigned char* o, bool support) {
1069410694
__try {
1069510695
__m128i block = _mm_loadu_si128(reinterpret_cast<const __m128i*>(pt));
1069610696
__m128i key_vec = _mm_loadu_si128(reinterpret_cast<const __m128i*>(k));
@@ -10707,7 +10707,8 @@ struct VM {
1070710707
}
1070810708
__except (GetExceptionCode() == EXCEPTION_ILLEGAL_INSTRUCTION
1070910709
? EXCEPTION_EXECUTE_HANDLER
10710-
: EXCEPTION_CONTINUE_SEARCH) {
10710+
: EXCEPTION_CONTINUE_SEARCH
10711+
) {
1071110712
if (support) {
1071210713
debug("CPU_HEURISTIC: Hypervisor reports AES, but it is not handled correctly");
1071310714
return true;

0 commit comments

Comments
 (0)