Reverse Engineering a Dead Citroën Dealer Tool Back to Life: Static Hosting + AI-Assisted Reconstruction

Engineer reverse-engineered a crashing Citroën dealer tool into a static, multilingual documentation site covering 48 models.
A software engineer reverse-engineered Citroën's crashing offline dealer tool DocBackup — extracting its Firebird database, decrypting Blowfish-encrypted images, and parsing multilingual XML documents — then rebuilt everything as a zero-dependency static site. The result covers 48 models, 124,000+ documents, 108,000+ illustrations, and five languages with full-text search. Images were re-encoded to AVIF, cutting 4.5 GB down to 1.6 GB. A one-repo-per-vehicle GitHub Pages architecture bypasses size limits. The project was built with Claude Code, with the engineer handling all architecture decisions and AI accelerating implementation.
A Dying Dealer Application Rebuilt as an Online Documentation Library
For years, authorized Citroën dealers used an internal application called Service Box for every repair job. It had virtually everything a technician needed: repair procedures, parts catalogs with exploded diagrams, standard labor times, technical bulletins, and more. For offline use, an official offline copy called "DocBackup" was distributed as a Windows installer, bundling a Tomcat server and an embedded Firebird database.
The problem? This aging software was notoriously unstable. A Reddit user — also a software engineer — found that his copy crashed constantly, and no other tool on the market could read its data. So he did something quintessentially engineering: he reverse-engineered the entire thing and rebuilt it as a set of pure static files — no installation, no deployment, just hosted online for anyone to use.

What's Inside the Project
The scope of the rebuilt documentation library is impressive. According to the author, it covers 48 vehicle models — from early models like the AX, BX, and XM, to the C3, C6, DS5, and the Jumper III commercial vehicle.
The specifics:
- Over 124,000 documents: including repair procedures with torque specs, step-by-step instructions, parts catalogs with interactive hotspot diagrams, standard labor times, and fault records.
- Over 108,000 illustrations: the original parts explosion diagrams and schematics.
- Five languages: French, English, German, Spanish, and Italian — switchable directly on any document page.
- Full-text search: supports searching by vehicle, with filtering by engine type and body variant — essentially restoring the core experience of the original software.
For vintage Citroën owners, independent repair shops, and DIY enthusiasts, the value of official dealer-grade repair documentation — previously locked inside dealer networks — speaks for itself.
Technical Breakdown: How It Was Done
The truly interesting part of this project lies in its reverse engineering and architectural decisions.
Documents and Multilingual Support
The original application stored documents as encoded XML files paired with 24 language dictionaries. The author's approach was to export both the XML documents and the dictionaries from the database, then render them client-side in the browser. This means a single document file serves all languages without needing a separate copy for each — dramatically reducing storage size.
Image Decryption and Re-encoding
Images were the centerpiece of the reverse engineering effort. The original illustrations were stored as Blowfish-encrypted, LZMA-compressed files (.7en format), with the decryption key recoverable from the installer. Once decrypted, the author re-encoded the images in AVIF format, shrinking the original 4.5 GB image archive down to 1.6 GB — a significant compression win.
Blowfish is a symmetric block cipher designed by cryptographer Bruce Schneier in 1993. It saw widespread adoption in embedded and desktop software throughout the 1990s and 2000s due to its simple implementation, speed, and royalty-free availability. LZMA (Lempel–Ziv–Markov chain Algorithm) is the lossless compression algorithm used by 7-Zip, known for exceptional compression ratios at the cost of higher memory usage during decompression. Layering both (compress then encrypt) was a common approach for protecting proprietary assets at the time — not intended to resist serious attackers, just to prevent casual users from reading files directly. Since the key was hardcoded in the installer's executable, an experienced reverse engineer can recover it through static analysis or dynamic debugging (e.g., tracing decryption calls with x64dbg or IDA) — and that's exactly the breakthrough that unlocked the data for this project.
AVIF (AV1 Image File Format) is a next-generation image format based on the AV1 video codec, released by the Alliance for Open Media in 2019. Compared to JPEG, AVIF typically saves over 50% in file size at equivalent visual quality, with notable advantages over WebP as well. For technical illustrations like parts explosion diagrams — full of fine lines and text — AVIF's high compression ratio is especially effective, as demonstrated here by the reduction from 4.5 GB to 1.6 GB (roughly 64% compression). All major browsers have supported AVIF since 2021–2022, making it a drop-in choice for static web delivery with no extra processing required.
Fully Static Architecture
The entire site has no server, no database, and no cookies. The author hosts the viewer on a single GitHub Pages site, with a separate repository for each vehicle model's data — a design choice made to work around GitHub's per-repository size limits. The total content adds up to roughly 6 GB. Anyone can clone a specific vehicle's repository and get a complete offline copy.
Worth noting: the site uses anonymous analytics, logging only page views, referrer links, and basic browser info — no personal data. The author admits this is simply to gauge whether anyone cares about the project and whether it's worth continuing to maintain.
GitHub Pages has a soft size limit of around 1 GB per repository (officially recommended to stay under 1 GB; repositories over 5 GB may be contacted for reduction), so placing all 6 GB into a single repo simply isn't viable. The "one repo per vehicle" split elegantly sidesteps this constraint: each model's data lives independently, keeping individual repo sizes manageable while still taking advantage of GitHub's free static hosting and global CDN. This multi-repo architecture also brings natural modularity — users only need to clone the models they care about, rather than downloading the entire 6 GB dataset, making offline use much more accessible. Developers looking to replicate this kind of project should also keep GitHub Pages' bandwidth soft cap in mind (roughly 100 GB/month); high-traffic scenarios may warrant migration to Cloudflare Pages or Netlify.
AI-Assisted Development: Engineer Leads, Claude Does the Work
The author's description of his development approach is worth noting. He openly states the entire project was "vibe coded" using Claude Code (specifically calling out Fable 5.1).
But he also drew a clear line between his role and the AI's. As the software engineer, he made all the key technical and architectural decisions himself — static hosting, one-repo-per-vehicle, client-side XML rendering with dictionaries. The AI handled writing the code and much of the tedious grunt work involved in reverse engineering.
This is a remarkably pragmatic example of AI-assisted development as it actually works today: AI doesn't replace the engineer's architectural judgment — it dramatically accelerates execution once the direction is set. For reverse engineering in particular — where success requires repeated trial and error, parsing binary formats, and working through encryption — having AI handle the grunt work is especially valuable.
"Vibe coding" is an informal term that's gained traction in the developer community, referring to a more intuitive, conversational style of working with AI programming assistants — describing intent, letting the AI generate code, and rapidly iterating — rather than writing every line by hand. Claude Code is a command-line AI coding tool from Anthropic that can directly read and write local files, execute commands, and reason across a project's full context over multiple turns — well-suited for complex, multi-file tasks. Reverse engineering scenarios are particularly AI-friendly: parsing unknown binary formats typically involves countless cycles of "write a script → observe output → revise assumptions," exactly the kind of high-repetition, locally-scoped work where current large language models excel. Meanwhile, the higher-level judgments — how to organize the data, how to decompose the system — remain highly dependent on the engineer's experience and contextual understanding.
The Build Pipeline Isn't Open Source Yet
What's publicly available right now is the finished documentation library and viewer. The build pipeline itself has not been released — including the database export, image decryption, renderer, and publishing steps. The author says this code still needs cleanup, and may be open-sourced later if there's enough interest.
He also left a valuable hint: if you have a similar dying dealer application from another brand, this methodology is transferable. In other words, this isn't just a win for Citroën owners — it's a general playbook for rescuing data from endangered proprietary software.
Closing Thoughts
This project is a textbook example of personal pain point + engineering capability + AI acceleration. From a crashing legacy Windows application to an installation-free, multilingual, offline-capable static site, the author used reverse engineering to bring a set of nearly inaccessible official documentation back into the public domain. For the vintage car repair ecosystem, this is tangible, real-world value. For developers, it's also a clear-eyed demonstration of how to use AI coding tools responsibly.
Both the project site and repositories are publicly available, and the author has indicated he's happy to answer questions about the reverse engineering process and the build pipeline.
Related articles

X-Hinges: Giving Everyday Objects Sensing Capabilities Through 3D Printing
X-Hinges is a design software that automatically embeds sensors into 3D-printed objects, enabling lamps, gloves, and other everyday items to sense human contact and respond adaptively. This article covers its core features, design approach, and potential limitations.

Free Unlimited Claude Code Solution: Agnes AI + CC Switch Setup Guide
No paid subscription needed — pair the free AI platform Agnes AI with the open-source tool CC Switch to provide a backend for Claude Code, enabling unlimited free calls to text, image, and video models. This guide covers the full setup, test results, and usage boundaries.

A Complete Zero-Cost Guide to Getting Started with Claude Code for Beginners in China
A beginner's guide to Claude Code for users in China: two installation methods (command line and IDE plugin), full configuration steps for replacing the official API with the free domestic LongCat model, and a hands-on demo of building a small tool with natural language, plus tips.