Commit graph

72 commits

Author SHA1 Message Date
Max Raulea
02587aae30 windows fix
Some checks failed
vs2026-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2026-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2026-ci / Deploy release (push) Has been cancelled
2026-08-24 11:57:23 +02:00
Max Raulea
7bcb464fce windows fix 2026-08-24 11:31:33 +02:00
Max Raulea
2f59ad7c70 Kernel Module now Links and compiles!!
The kernel module now links and compiles, there are still a lot of empty
TODOs left, there are empty stubs for hypertrace, assembly files and
kdserial etc. these can be introduced one by one. My first step will be
loading the kernel module from the userspace cli.

Big step forward! :)
2026-08-24 11:20:24 +02:00
Max Raulea
bf66d87e02 New fail came up, so new fix
Some checks are pending
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
2026-08-23 15:17:38 +02:00
Max Raulea
d45fabed13 New wiondows build fix 2026-08-23 14:58:56 +02:00
Max Raulea
9a1db34a4d fix build 2026-08-23 14:29:04 +02:00
Max Raulea
95389e46df A lot of platform function swaps and left hyperevade out of the build
Created a lot of new platform wrappers for windows only functions
also removed hyperevade from the linux module build and added a empty
stub for the transparent functions they provide which can be filled in
later.
2026-08-23 14:18:12 +02:00
Max Raulea
98fe5abd96 Added new types in the WDK linux header and went through hyperevade to sweep windows functions for the platform functions 2026-08-23 13:04:20 +02:00
Max Raulea
1233397d18 hyperhv now compiles! Together with the Zydis submodule for linux 2026-08-23 13:04:20 +02:00
Max Raulea
26a6415b70 new platform API functions 2026-08-23 13:04:20 +02:00
Max Raulea
e439fd38d3 Added new platform API functions and changed them in the source code 2026-08-23 13:04:20 +02:00
Max Raulea
845318ff0c Created empty stubs for the GNU assembler assembly files instead of the MASM files for linux kernel module 2026-08-23 13:04:20 +02:00
Max Raulea
ec7e4207c4 New platform functions added for hyperhv compilation 2026-08-23 13:04:20 +02:00
Max Raulea
a5b2c13c4b fix build
Some checks failed
vs2026-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2026-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2026-ci / Deploy release (push) Has been cancelled
2026-08-17 15:33:46 +02:00
Max Raulea
82ad5fc9b6 Swepped hyperhv project for platform functions and swapped them 2026-08-17 15:24:25 +02:00
Max Raulea
925c90ab26 For the WDK definitions a new file now exists to store them for the linux build 2026-08-14 18:23:38 +02:00
Max Raulea
a02a0a25fd Port hyperlog to the Linux kernel module
Logging.c and UnloadDll.c compile and link into HyperDbg.ko, along with
the two components that were waiting on the logging layer (BinarySearch,
OptimizationsExamples).

- new PlatformStr.{h,c}: PlatformVsnprintf/Sprintf/Strnlen replace
  vsprintf_s/sprintf_s/strnlen_s; PlatformSprintf moved here out of
  PlatformMem so both spellings return -1 on truncation
- BasicTypes.h: IRP/IO_STACK_LOCATION/IO_STATUS_BLOCK/UNICODE_STRING
  grow the members shared code touches, plus the NT status and access
  constants the notify path needs
- Environment.h: RTL_NUMBER_OF, _Analysis_assume_, ASSERT -> WARN_ON
- PlatformEvent: ExEventObjectType placeholder token
- HyperLogCallback.c stays out of the module: it defines the same
  LogCallback* entry points as Logging.c (it is the per-DLL forwarding
  shim on Windows), so in one link unit it is a duplicate symbol
2026-08-14 16:25:37 +02:00
Max Raulea
a7d6535442 Add files to the build files
Hopefully fixes build issue
2026-08-14 15:41:00 +02:00
Max Raulea
4dc132937f Port components/Spinlock.c to Linux kernel module
Some checks are pending
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
Route Spinlock.c's three MSVC intrinsics through the platform
intrinsics layer instead of the Windows builtins:
  _mm_pause                 -> CpuPause (already existed)
  _interlockedbittestandset -> CpuInterlockedBitTestAndSet (new)
  InterlockedCompareExchange-> CpuInterlockedCompareExchange (new, 32-bit)

Add the two new Cpu* wrappers to the kernel PlatformIntrinsics
{.h,.c} with win + linux arms (Linux uses __atomic_* builtins,
mirroring the existing 64-bit CAS), keeping the Cpu* wrappers the
single intrinsic boundary.
2026-08-14 11:35:21 +02:00
Max Raulea
2a23d05ce6 Filled in the time stubs for platformtime functions for linux
Some checks failed
vs2026-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2026-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2026-ci / Deploy release (push) Has been cancelled
2026-08-11 13:13:07 +02:00
Max Raulea
33571e2c51 Implementationb of the platform spinlocks file for linux kernel module 2026-08-11 13:02:16 +02:00
Max Raulea
786cb1775d Filled in PlatformProcess.c for linux module build 2026-08-11 12:53:18 +02:00
Max Raulea
b0de162deb Added linux part of PlatformIrql
Added the linux part of PlatformIrql by adding preempt_enable() and preempt_disable.
2026-08-11 12:20:50 +02:00
Max Raulea
d64ce241f7 Added stub for the PLatform event file
Some checks are pending
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
Added a  empty stub for the event functions on linux, since they don't
have a one to one mapping. also removed some redundant guards.
2026-08-11 11:17:35 +02:00
Max Raulea
6bb174b006 linux BHqueue for windows DPC port
In order for PlatformDpc to compile on linux I stubbed out the DPC part
and made a skeleton for the linux implementation using the BHqueue.
2026-08-11 10:53:17 +02:00
Max Raulea
622ea9df97 Porting Documentation update
Some checks failed
vs2026-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2026-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2026-ci / Deploy release (push) Has been cancelled
2026-08-01 17:09:55 +02:00
Max Raulea
bdc7a150cb Fixed bug that made script-engine segfault, explained in the porting status, so you can type commands now
Some checks failed
vs2026-ci / win-amd64-build (debug, x64) (push) Has been cancelled
vs2026-ci / win-amd64-build (release, x64) (push) Has been cancelled
vs2026-ci / Deploy release (push) Has been cancelled
2026-07-24 22:28:44 +02:00
Max Raulea
1a9a62a916 Forgot to add the new linux stubs to tracked files, so here it is 2026-07-24 22:10:08 +02:00
Max Raulea
f938929a8c Empty Linux stub for the keystone library 2026-07-24 21:20:44 +02:00
Max Raulea
600eaa47ba update doc and added stub for vendorID pci-id.cpp file, TODO on linux 2026-07-24 21:11:23 +02:00
Max Raulea
d19ffdcd42 Documentation update 2026-07-24 20:02:22 +02:00
Max Raulea
5175381c73 script engine linux build complete, added undefined references with empty stubs or linux port and updated the Cmake file accordingly 2026-07-24 20:02:00 +02:00
Max Raulea
8583d99d14 Added ucpuid to CMakeList.txt and made it portable 2026-07-24 19:48:24 +02:00
Max Raulea
f5f822a46f Added the hwdbg files to the cmake files and replaced the platform files, RTLzeroMemory 2026-07-24 19:21:06 +02:00
Max Raulea
7141e23aad Added unix implementation of asm-vmx-checks.asm, and made naming convention for both files. Updated the Porting status and updated the build files.
Some checks are pending
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
2026-07-24 18:27:26 +02:00
Max Raulea
6683c2dc3d New socket platform API and named-pipe linux file 2026-07-22 11:32:39 +02:00
Max Raulea
1abac35edc new email and some changes 2026-07-22 11:05:07 +02:00
Max Raulea
6f7bc287fe Guards and Documentation 2026-07-22 10:16:22 +02:00
Max Raulea
5fdd2e7738 rdmsr file and updates status 2026-07-22 10:02:29 +02:00
Max Raulea
926070135d Sweeps and extra guards and some new platform functionsd 2026-07-21 15:53:34 +02:00
Max Raulea
a29e210ab0 Porting status update and terminate thread platform call
Some checks are pending
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
2026-07-20 12:32:10 +02:00
Max Raulea
c13f45f8b0 CpuIdEx replacements 2026-07-20 12:12:21 +02:00
Max Raulea
0c7adbd244 New platform ioctl func and some sweeps of already existing platform functions 2026-07-18 19:20:56 +02:00
Max Raulea
db3064cb24 Sweeps of PLatform functions 2026-07-18 17:09:52 +02:00
Max Raulea
d6f70eecd9 Added driver install for linux stub, and new platform functions and 1:1 mappings 2026-07-18 16:38:09 +02:00
Max Raulea
3805190db8 ud.cpp, new additions to platform API and guards
Some checks are pending
vs2026-ci / win-amd64-build (release, x64) (push) Waiting to run
vs2026-ci / win-amd64-build (debug, x64) (push) Waiting to run
vs2026-ci / Deploy release (push) Blocked by required conditions
2026-07-18 15:01:56 +02:00
Max Raulea
5bd330c6de Porting status markdown file 2026-07-18 12:11:48 +02:00
sina
aa18675760 update changelog and fix minor issues 2026-06-21 14:22:33 +02:00
maxraulea
3a8d8ab2d1 Add guidelines for contribution 2026-06-20 09:48:19 +02:00
sina
af3b3e2f71 fix compiling error for user and kernel intrinsics in Linux 2026-05-08 18:58:20 +02:00