Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
cddb4f6
feat: Add command entry by reading process PEB
supervoidcoder Jan 31, 2026
3c3df85
fix: try adding #define
supervoidcoder Jan 31, 2026
b66390e
fix: return pointer instead of character and add missing include stat…
supervoidcoder Jan 31, 2026
f20951d
fix: try changing dword to size_t
supervoidcoder Jan 31, 2026
13e2ace
fix: remove stupid useless defines
supervoidcoder Jan 31, 2026
07fce97
fix: a
supervoidcoder Jan 31, 2026
43b0330
fix: Add x64 implementation to manually read process PEB and return c…
supervoidcoder Jan 31, 2026
09e2dea
fix: Fix typos and wrong functions
supervoidcoder Jan 31, 2026
8487b74
fix: add missing newline after User entry
supervoidcoder Jan 31, 2026
4e731b5
style: made error statements nicer
supervoidcoder Jan 31, 2026
aca3416
fix: stdcerr remove
supervoidcoder Jan 31, 2026
5291195
feat: add force_ansi env var
supervoidcoder Jan 31, 2026
405172c
Merge pull request #63 from supervoidcoder/main
supervoidcoder Feb 1, 2026
c561d7b
fix: update error messages for Git Bash and add architecture support …
supervoidcoder Feb 2, 2026
ef2601e
Merge branch 'main' into command-and-git-peb
supervoidcoder Feb 2, 2026
16110ec
Merge branch 'main' into command-and-git-peb
supervoidcoder Feb 2, 2026
1fab362
fix: add fail-fast false
supervoidcoder Feb 2, 2026
51d6a74
fix: CI TESTS
supervoidcoder Feb 2, 2026
7d4d552
fix: add debug log
supervoidcoder Feb 2, 2026
932b51f
fix: correct wow64 checking
supervoidcoder Feb 2, 2026
3d24e3c
ci: add way more process tests ci
supervoidcoder Feb 2, 2026
960e7ea
feat: make it so the program actually knows the version
supervoidcoder Feb 2, 2026
4e70436
fix: missing bracket
supervoidcoder Feb 2, 2026
f27388c
ci: Remove wrong or not working tests from process.bat test CI
supervoidcoder Feb 2, 2026
038d172
ci: more tests
supervoidcoder Feb 2, 2026
151bbfc
ci: add hosted-compute-agent to process.bat
supervoidcoder Feb 2, 2026
3e3e1a1
ci: add provjobd.exe entries to process.bat
supervoidcoder Feb 2, 2026
6cc86f3
ci: add provjobd.exe handling to process.bat and create provdjob.bat
supervoidcoder Feb 2, 2026
e586c8e
feat: Add support for reading command line of 32-bit and 64-bit proce…
supervoidcoder Feb 3, 2026
5e35271
fix: Replace AreWeWoW64 with IsWow64Process because i'm stupid and us…
supervoidcoder Feb 3, 2026
942e314
fix: Improve error handling for function pointer retrieval and memory…
supervoidcoder Feb 3, 2026
3a77bd6
just add a bunch of debugs for now
supervoidcoder Feb 3, 2026
8054ef0
feat: Add PROCESS_BASIC_INFORMATION64 structure and update function p…
supervoidcoder Feb 3, 2026
6290464
refactor: Remove debug and error logging statements for function poin…
supervoidcoder Feb 3, 2026
90a7a56
feat: Address code review issues. Fixed label with undefined block in…
supervoidcoder Feb 3, 2026
66e342b
feat: read WoW64 from x64 and arm64
supervoidcoder Feb 3, 2026
bb1be52
fix: Add error handling for build process in release.yml
supervoidcoder Feb 3, 2026
68c537d
feat: Add error handling for function pointer retrieval in main.cpp
supervoidcoder Feb 3, 2026
65c6fbd
fix: version number embed during compilation
supervoidcoder Feb 3, 2026
29a3138
fix: version
supervoidcoder Feb 3, 2026
f82f6f2
IDK
supervoidcoder Feb 3, 2026
7ddec09
address code review
supervoidcoder Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ permissions:
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
include:
- arch: x64
Expand Down Expand Up @@ -65,14 +66,16 @@ jobs:
# Verify the exe is accessible
Write-Host "Checking win-witr.exe availability..."
win-witr --version
if ($LASTEXITCODE -ne 0) {
Write-Error "it's broken 💥"
exit 1
}

# Run all test .bat files
$env:force_ansi = 1
Get-ChildItem -Path tests -Recurse -Filter *.bat | ForEach-Object {
Write-Host "Running test: $($_.FullName)"
& $_.FullName
if ($LASTEXITCODE -ne 0) {
Write-Error "Test failed: $($_.Name)"
exit 1
}

}

51 changes: 25 additions & 26 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -310,33 +310,32 @@ jobs:
- uses: actions/checkout@v4

- name: Compile for ${{ matrix.arch }}
shell: cmd
shell: pwsh
run: |
@echo off
REM Find vcvarsall.bat dynamically
for /f "usebackq tokens=*" %%i in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
set "VS_PATH=%%i"
)

if not exist "%VS_PATH%\VC\Auxiliary\Build\vcvarsall.bat" (
echo Error: vcvarsall.bat not found.
exit /b 1
)

REM Map architecture for cross-compilation (host_target)
REM GitHub Actions windows-latest runners are x64, so we need x64_<target> for cross-compilation
set "TARGET_ARCH=${{ matrix.arch }}"
set "VCVARS_ARCH=%TARGET_ARCH%"
if "%TARGET_ARCH%"=="x86" set "VCVARS_ARCH=x64_x86"
if "%TARGET_ARCH%"=="arm64" set "VCVARS_ARCH=x64_arm64"

REM Initialize environment for the target architecture
call "%VS_PATH%\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_ARCH%

set outName=win-witr-${{ matrix.arch }}.exe
echo Compiling %outName%...
cl /O2 /Ot /GL /std:c++20 /EHsc main.cpp /DUNICODE /D_UNICODE /Fe:%outName%
if errorlevel 1 exit /b 1
# Set version as environment variable
$env:VERSION_NUMBER = "${{ needs.prepare.outputs.version }}"

# Find and initialize MSVC
$vsPath = & "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" `
-latest -products * `
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
-property installationPath

$vcvarsPath = Join-Path $vsPath "VC\Auxiliary\Build\vcvarsall.bat"

$targetArch = "${{ matrix.arch }}"
$vcvarsArch = $targetArch
if ($targetArch -eq "x86") { $vcvarsArch = "x64_x86" }
if ($targetArch -eq "arm64") { $vcvarsArch = "x64_arm64" }

# Use cmd to call vcvarsall and then cl
$outName = "win-witr-${{ matrix.arch }}.exe"
$ver = "${{ needs.prepare.outputs.version_number }}"
cmd /c "`"$vcvarsPath`" $vcvarsArch && cl /O2 /Ot /GL /std:c++20 /EHsc main.cpp /DUNICODE /D_UNICODE /DVERSION_NUMBER=\"$ver\" /Fe:$outName"
if ($LASTEXITCODE -ne 0) {
Write-Host "Build failed with exit code $LASTEXITCODE"
Exit $LASTEXITCODE
}

- name: Upload build artifact for ${{ matrix.arch }}
uses: actions/upload-artifact@v4
Expand Down
Loading
Loading