Commit Graph
34 Commits
Author SHA1 Message Date
KingKDot 6d1a20206d rename all instances of "hvnc" to "backstage" 2026-07-13 10:22:19 -05:00
KingKDot 04b04831da save current 2026-07-06 20:19:38 -05:00
KingKDot e2be2b4394 fix minifying and reuse code 2026-06-22 19:21:06 -05:00
KingKDot b6672ee375 major improvements 2026-06-12 09:14:49 -05:00
KingKDot 146626ec0d add recording, fix solpush, persistence tests and tiny improvements 2026-06-02 17:18:46 -05:00
KingKDot 707ba172c0 optimize docker, more rate limiting, remove not needed shit in build-prod-package. 2026-05-30 23:20:15 -05:00
KingKDot 5933297686 completely move off sharp, use monaco for the editor now and use tabulator for tables (much easier and better performance). 2026-05-30 20:38:32 -05:00
KingKDot 38cdf609b0 family friendly naming 2026-05-22 20:34:20 -05:00
KingKDot c499b76227 fix reflective injection 0xc5 errors (c5 reference) and then add sgn and windows shellcode building. 2026-05-17 13:11:21 -05:00
Michael 4fae9e56cf Shellcode clean (#21)
* feat: shellcode output via Donut (Windows) + memfd stub (Linux)

- Donut (Windows): PE → PIC shellcode (.bin) via donut-manager.ts
  Flags: -f1 -a<arch> -b3 -x1 (continue on AMSI fail, thread exit)
- Linux shellcode: 113-byte x86_64 memfd_create+execveat stub
  (linux-shellcode-manager.ts) wraps ELF for memfd_create+execveat
- Two-pass build for shellcode+persistence: Pass 1 = normal agent with
  persist compiled in; Pass 2 = selfembed agent that drops+registers
  Pass 1 on first run (isRunningInMemory() gates the path)
- Show console option: shellcode_console build tag calls AllocConsole()
  on start for debug builds; AttachConsole fallback included
- isRunningInMemory() Windows: VirtualQuery on .data sentinel
  (MEM_PRIVATE = injected, MEM_IMAGE = normal disk load) replaces
  os.Executable() which returned host process path when injected
- Build UI: Donut mode, Linux shellcode mode, show-console checkboxes;
  settings persisted across sessions via collectFormSettings()
- GODEBUG=netdns=cgo hardcoded in build env (fixes IPv6 DNS on VPN)
- Dockerfile: pre-seed Go module cache; add curl to runtime image
- docker-compose.yml: switch healthcheck to wget (curl absent in slim)

* fix: add missing shellcode UI functions and restore dynamic linking

applyDonutMode, applyLinuxShellcodeMode, and updateShellcodeCheckboxVisibility
were called throughout build.js but never defined, breaking platform selection
and the build button. Add the missing implementations.

Also remove forced -extldflags '-static' on Linux CGO builds; fully static
glibc binaries cannot call dlopen, which broke native plugin loading entirely.

* fix: call updateShellcodeCheckboxVisibility on page load

Shellcode rows were hidden on initial load because the function was only
wired to checkbox change events. Call it at startup and in applyFormSettings
so pre-selected platforms correctly show their shellcode options immediately.

* feat: Linux plugin subprocess shim for static-agent compatibility

Static musl binaries cannot call dlopen. Introduce a small C shim
(plugin_host.c) that is compiled at agent-build time into a
dynamically-linked binary, embedded via go:embed, and fork+exec'd to
load .so plugins on behalf of the static agent over a Unix socketpair.

Empty placeholder files allow go:embed to compile without error; the
real binaries are produced by build-process.ts before go build runs and
are never committed. Documents the IPC protocol and build matrix in
PLUGINS.md Section 12.

* fix: define sp_memfd_create/sp_write_all in subproc CGO preamble

CGO preamble functions are per-file translation units; so_memfd_create
and so_write_all from loader_linux.go are not visible in
loader_linux_subproc.go. Add local equivalents with sp_ prefix.

* fix: use CGO helper for shim memfd_create instead of syscall.SYS_MEMFD_CREATE

syscall.SYS_MEMFD_CREATE is not defined in Go stdlib syscall package.
Replace with sp_memfd_create_nocloe() CGO helper (flags=0, no CLOEXEC).

* fix: compile plugin host shim statically to avoid glibc version mismatch

A dynamically-linked shim compiled on Debian Bookworm (glibc 2.36) fails
on older glibc targets. Compile with -static so the shim is self-contained
and runs on any glibc version. Static glibc can still call dlopen at runtime
via the system ld-linux.so.2.

Also surface subprocess errors instead of silently falling through to dlopen
so failures are visible in the build log.

* Restore docker build cache
2026-05-13 22:55:51 -05:00
KingKDot dd6007fb74 run another check against the duplication api. Also fix mac building with CGO enabled. 2026-05-07 20:16:02 -05:00
KingKDot d7c05af1a3 fix build issue with docker when building obfuscated builds (my english is shit I'm going to bed) 2026-05-03 02:02:47 -05:00
KingKDot bbfd03d118 massive shrink on docker 2026-05-02 22:19:28 -05:00
KingKDot 8232216873 fuck stupid ass bun compiling I fucking hate ts 2026-04-27 21:52:35 -05:00
KingKDot 6f2f076a2b fix sharp issue 2026-04-27 21:24:38 -05:00
KingKDot d104f01ee8 remove minification for now 2026-04-25 21:12:16 -05:00
KingKDot 86c1897406 Get AI to make me a POC. Will need to push to the git so I can test. Will revert if it doesn't work and probably just delete commit history for it as well. 2026-04-19 15:07:44 -05:00
KingKDot 04df67f42e proper minify (thank you claude for making the code) 2026-04-19 00:41:56 -05:00
KingKDot 15ec9f5992 add bundle step 2026-04-18 23:07:51 -05:00
KingKDot 55ebf3dcbd fix resolving cwd 2026-04-18 22:38:08 -05:00
KingKDot e8a77fd45c use prod version on docker 2026-04-18 21:50:33 -05:00
KingKDot 580a5d17c2 sanity check 2026-04-18 21:20:23 -05:00
KingKDot b3adac41b3 GPU HVNC capturing 2026-04-16 10:01:49 -05:00
KingKDot 792de1e22c new mac update for permission issues. 2026-04-13 10:49:36 -05:00
KingKDot afce95c9e4 remove old zig shit and hopefully fix static compilation for linux 2026-04-03 11:30:01 -05:00
KingKDot 4c96c209e6 upgrade go version 2026-03-26 13:32:52 -05:00
unknown 05818870bd feat: pre-install UPX in Docker image 2026-03-16 14:43:57 +01:00
KingKDot f1ba410cf8 yeah fuck you linux 2026-03-12 00:38:56 -05:00
KingKDot ae9a1f9321 add hvnc cloning 2026-03-11 23:11:44 -05:00
KingKDot 49583849f5 building for android 2026-03-10 17:09:27 -05:00
KingKDot 82e4a5daaf hopefully all ts works (it's getting pushed to prod fuck you) 2026-03-08 03:07:23 -05:00
KingKDot 14f8ab0353 enable CGO by default now. 2026-03-06 12:43:42 -06:00
KingKDot 049c99552c fix building hopefully 2026-03-05 12:50:16 -06:00
KingKDot f8515a2883 inital commit 2026-03-05 00:04:26 -06:00