From ec7b4337cea24ac9e13c97ed0e04ec0bc990dbfb Mon Sep 17 00:00:00 2001
From: "(Havox)" <135835548+AbishekPonmudi@users.noreply.github.com>
Date: Fri, 10 Jul 2026 13:14:07 -0700
Subject: [PATCH] Update README.md
---
README.md | 44 +++++++++++++++++++++++++++-----------------
1 file changed, 27 insertions(+), 17 deletions(-)
diff --git a/README.md b/README.md
index 88f259a..99038d0 100644
--- a/README.md
+++ b/README.md
@@ -2,20 +2,30 @@
**Modular Windows loader using C++**
-For **[usage](#usage)** and **[testing / demo](#demo)**.
+
+
+For Workaround Check -> **[Building](#Building)**, **[usage](#usage)** and **[testing / demo](#demo)**.
---
## Overview
-**Dynloader** is a research-oriented Windows loader for studying how payload is delivered, staged, and executed in both **local** and **remote** process contexts. The current version supports shellcode staging only — planned work is under **[Planned features](#planned-features)**.
+**Dynloader** is a research-oriented Windows loader for studying how payload is delivered, staged, and executed in both **local** and **remote** process contexts, the currect verison support only shellcode staging, Planned more implementation -> check out **[Planned features](#Planned-features)**.
-It can:
+**It can:**
-- Load shellcode from a local `.bin` file
-- Fetch shellcode **filelessly** over HTTP (optional AES-256-CBC at runtime)
-- Inject into a target by **PID** or **process name**
-- Spawn a missing process **headless** (suspended + hidden), inject, then resume
+> - Load shellcode from a local `.bin` file
+> - Fetch shellcode **filelessly** over HTTP (optional AES-256-CBC at runtime)
+> - Inject into a target by **PID** or **process name**
+> - Spawn a missing process **headless** (suspended + hidden), inject, then resume
Core evasion and resolution primitives are provided by **[Dynveil](https://github.com/Abishekponmudi/dynveil)** (`lib/`) — a reusable library that implements PEB/PE parsing, API hashing, Tartarus Gate indirect syscalls, section mapping, AES crypto, and HTTP transport. Dynloader is the CLI + ingestion orchestration layer on top of Dynveil.
@@ -118,7 +128,7 @@ build.bat clean :: Clean
build.bat --install :: Install minimal VS Build Tools if missing, then build
```
-`build.bat` finds MSBuild via `vswhere`, picks a compatible toolset (`v145` / `v143` / `v142`), and builds `loader.sln`. On a machine with no compiler, `--install` pulls official Build Tools + C++ workload (winget or bootstrapper).
+> `build.bat` finds MSBuild via `vswhere`, picks a compatible toolset (`v145` / `v143` / `v142`), and builds `loader.sln`. On a machine with no compiler, `--install` pulls official Build Tools + C++ workload (winget or bootstrapper).
---
@@ -172,14 +182,14 @@ loader.exe payload.bin --verbose
loader.exe --process notepad payload.bin --verbose
```
-If `notepad` is not running, Dynloader spawns it headless, injects, resumes.
-
-- Target by **PID** or **process name** (e.g. `notepad` / `1234`) — supports many legitimate binaries in the same session without elevation (`!SeDebugPrivilege` not required for same-integrity targets)
-- Process discovery via **`NtQuerySystemInformation`** (SystemProcessInformation) over Tartarus Gate
-- If the named process is **not running** → spawn **headless** (`CREATE_SUSPENDED` + no window), inject, then resume
-- Remote stage: `NtAllocateVirtualMemory` → `NtWriteVirtualMemory` → `NtProtectVirtualMemory` (RX)
-- Remote run: hash-resolved `CreateRemoteThread`
-- Open target prefers `NtOpenProcess`, falls back to hashed `OpenProcess`
+> If `notepad` is not running, Dynloader spawns it headless, injects, resumes.
+>
+> - Target by **PID** or **process name** (e.g. `notepad` / `1234`) — supports many legitimate binaries in the same session without elevation (`!SeDebugPrivilege` not required for same-integrity targets)
+> - Process discovery via **`NtQuerySystemInformation`** (SystemProcessInformation) over Tartarus Gate
+> - If the named process is **not running** → spawn **headless** (`CREATE_SUSPENDED` + no window), inject, then resume
+> - Remote stage: `NtAllocateVirtualMemory` → `NtWriteVirtualMemory` → `NtProtectVirtualMemory` (RX)
+> - Remote run: hash-resolved `CreateRemoteThread`
+> - Open target prefers `NtOpenProcess`, falls back to hashed `OpenProcess`
### 4) Remote by PID
@@ -217,7 +227,7 @@ Writes `.enc` + `.key` next to the input for lab packaging.
---
-## Planned features
+## Planned-features
- **Manual PE loader** — full PE / DLL support alongside shellcode (`.bin`)
- **Manual DLL loader / remote DLL ingestion** — map and run DLLs in local or remote processes without relying only on raw shellcode blobs