Skip to content

Fix: system-design-doc#100

Closed
rahulk789 wants to merge 2 commits into
pointblank-club:mainfrom
rahulk789:main
Closed

Fix: system-design-doc#100
rahulk789 wants to merge 2 commits into
pointblank-club:mainfrom
rahulk789:main

Conversation

@rahulk789

Copy link
Copy Markdown

Fixes indents and numbering along with basic categorization

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the architecture overview section of the README to refine the system design diagram, clarify stages/layers, and improve categorization of the obfuscation pipeline.

Changes:

  • Reworked the ASCII architecture diagram to describe a multi-stage obfuscation pipeline (pre-compilation, IR-level, compilation hardening, and post-compilation packing).
  • Clarified descriptions of symbol obfuscation, string encryption, LLVM passes, and binary packing, including toolchain hardening options.
  • Adjusted wording and ordering to emphasize pipeline stages and packed-binary output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment on lines +171 to +222
┌──────────────────────────────────────────────────────────────┐
│ LLVM Obfuscator │
├──────────────────────────────────────────────────────────────┤
│ │
│ Input: source.c → [Pipeline] → Output: packed binary │
│ │
│ ───────────────────────────────────────────────────────── │
│ Stage 1: Pre-compilation Obfuscation │
│ ───────────────────────────────────────────────────────── │
│ Layer 1: Symbol Obfuscation │
│ ├─ Cryptographic hashing (SHA256 / BLAKE2b) │
│ ├─ Function & variable renaming │
│ ├─ String table anonymization │
│ └─ Optional mapping file (debug / recovery) │
│ │
│ Layer 2: String Encryption │
│ ├─ XOR / AES-based string encryption │
│ ├─ Compile-time encryption │
│ ├─ Runtime decryption stubs │
│ └─ Constructor-based initialization │
│ │
│ ───────────────────────────────────────────────────────── │
│ Stage 2: IR-level Obfuscation (LLVM Passes) │
│ ───────────────────────────────────────────────────────── │
│ Layer 3: OLLVM / Custom LLVM Passes │
│ ├─ Control Flow Flattening │
│ ├─ Bogus Control Flow │
│ ├─ Instruction Substitution │
│ ├─ Basic Block Splitting │
│ └─ Opaque predicates │
│ │
│ ───────────────────────────────────────────────────────── │
│ Stage 3: Compilation & Toolchain Hardening │
│ ───────────────────────────────────────────────────────── │
│ Layer 4: Compiler & Linker Hardening │
│ ├─ Link-Time Optimization (-flto) │
│ ├─ Symbol visibility hiding (-fvisibility=hidden) │
│ ├─ Frame pointer omission (-fomit-frame-pointer) │
│ ├─ Stack protections (-fstack-protector-strong) │
│ └─ Speculative execution hardening │
│ (-mspeculative-load-hardening) │
│ │
│ ───────────────────────────────────────────────────────── │
│ Stage 4: Post-compilation Binary Protection │
│ ───────────────────────────────────────────────────────── │
│ Layer 5: Binary Packing & Compression │
│ ├─ UPX packing (LZMA / NRV) │
│ ├─ 50–70% size reduction │
│ ├─ Additional static-analysis resistance │
│ └─ Transparent runtime decompression │
│ │
└──────────────────────────────────────────────────────────────┘

Copilot AI Feb 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated architecture diagram is no longer wrapped in a fenced code block, whereas the previous version was. Without a code block, the ASCII diagram will render in a proportional font and may misalign across different Markdown viewers. Please wrap this diagram in a fenced code block again to preserve its monospace layout and readability.

Copilot uses AI. Check for mistakes.
@Incharajayaram

Copy link
Copy Markdown
Member

@rahulk789 Please update the PR by documenting all the layers, you can refer https://oaas.pointblank.club
Also, to run locally using docker, download the binaries from releases.

@rahulk789 rahulk789 closed this Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants