Projects

SilkroadBot — .NET 8 Silkroad Online Bot

2026·1 min read

C#
.NET 8
TCP Proxy
Cryptography
Reverse Engineering
In progress

A clean-room, modern .NET 8 reimplementation of a phBot-equivalent for Silkroad Online — built to work against any Silkroad variant (iSRO, vSRO, and SR-R private servers) through per-server profiles.

A clean-room, modern .NET 8 reimplementation of a phBot-equivalent for Silkroad Online — built to work against any Silkroad variant (iSRO, vSRO, and SR-R private servers) through per-server profiles.

Status: Phase 2 in progress. The TCP proxy works and can log raw packet traffic. The security layer (handshake + per-packet encryption) is written but unverified against live server traffic.

Architecture

A layered .NET solution that separates the game-archive format, the wire protocol, the proxy, and the app shell — so each concern can be tested and evolved on its own.

SilkroadBot/
├── src/
│   ├── SilkroadBot.Pk2/        Pk2 (Joymax archive) reader — Blowfish ECB
│   ├── SilkroadBot.Security/   Silkroad packet protocol — framer, Blowfish, handshake
│   ├── SilkroadBot.Core/       Game state, server profiles, networking glue
│   ├── SilkroadBot.Proxy/      TCP proxy + packet logger
│   └── SilkroadBot.App/        CLI entry point (Pk2 dumper today, GUI later)
├── tools/
│   └── Pk2KeyFinder/           Stand-alone brute-force tool for non-Joymax pk2 keys
└── tests/
    └── SilkroadBot.Tests/      xUnit tests

Highlights

  • Pk2 archive reader — parses Joymax's encrypted Media.pk2 game archives (Blowfish ECB), with a standalone brute-force key finder for non-Joymax (private-server) archives.
  • Protocol & security layer — a packet framer plus the Silkroad handshake and per-packet Blowfish encryption, implemented from spec.
  • Packet-logging proxy — a TCP proxy that sits between client and gateway/agent server and captures raw traffic for analysis.
  • Server profiles — designed from the start to target multiple Silkroad variants (iSRO, vSRO, SR-R private servers) rather than hard-coding one.
  • Tested & documented — xUnit test project plus architecture, roadmap, status, and runbook docs to make the work resumable from any machine.

Tech stack

Layer Choice
Runtime .NET 8
Language C#
Crypto Blowfish (ECB for Pk2, per-packet for the wire)
Networking Raw TCP proxy + packet framer
Tests xUnit

Acknowledgements

The protocol details follow the reverse-engineering work of the Silkroad community — notably pushedx and DaxterSoul on Silkroad-Security-API. Reimplemented here from spec; no source is copied verbatim.