From 877b34ecab0043bc56aa0773d2333161039731f1 Mon Sep 17 00:00:00 2001 From: jammyfu Date: Sat, 31 Oct 2026 03:11:30 +0000 Subject: [PATCH] Add recent reverse-engineering projects: totk-pc-recomp, gta-vcs-recomp, mhfz-decomp, outrunners-port, decomp-tools - valentderah/totk-pc-recomp: static recomp of Zelda Tears of the Kingdom for native Windows - gothamor/gta-vcs-recomp: static recomp of GTA Vice City Stories (PS2) to native PC - yamahuser/mhfz-decomp: Monster Hunter Frontier Z client RE tooling - cheviman/outrunners-port: native port of OutRunners based on matching decomp - LostArtefacts/decomp-tools: tooling for matching Tomb Raider Windows decomps Updated stars.json with current counts (112 projects changed). Regenerated all READMEs. --- README.ja.md | 23 ++-- README.ko.md | 23 ++-- README.md | 23 ++-- README.zh-CN.md | 23 ++-- README.zh-TW.md | 23 ++-- data.json | 42 ++++++- descriptions.json | 37 +++++- images.json | 7 +- images/totk-pc-recomp-card.png | Bin 0 -> 119050 bytes stars.json | 223 +++++++++++++++++---------------- 10 files changed, 267 insertions(+), 157 deletions(-) create mode 100644 images/totk-pc-recomp-card.png diff --git a/README.ja.md b/README.ja.md index db36370..c41528d 100644 --- a/README.ja.md +++ b/README.ja.md @@ -49,34 +49,34 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ —rea-capcut
Xiangyu-CASREA で CapCut を調べて作り直したオープンソースのオフライン動画編集✅ はい— N0zoM1z0/dx-balldx-ball
N0zoM1z0DX-Ball 1.07 を C/C++ で再構築、元の x86 と照合テスト✅ はいプロジェクト README michaelshimeles/sketchsketch
michaelshimelesPaper を研究して作った Rust 製の無限デザインキャンバス✅ はいプロジェクト README -Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiyバトルフィールド 2 のエンジンを C++20 でクリーンルーム再実装(手持ちの製品版を使用)✅ はいプロジェクト README —decomp.anything
giveen更新停止したマッチング型デコンパイラ decomp.wtf の継続フォーク。Windows/Linux バイナリ対応と REA 連携を追加し、ゲーム以外のプログラムもエージェントが解析できるようにした。✅ はい— +Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiyバトルフィールド 2 のエンジンを C++20 でクリーンルーム再実装(手持ちの製品版を使用)✅ はいプロジェクト README czcdr/dsh-plugin-readsh-plugin-rea
czcdrDeepSeek Harness で REA を、Ghidra も自動導入✅ はいプロジェクト README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomilMCP 経由で AI エージェントから IDA Free を使う✅ はいリポジトリカード lxistired/ledger-rebornledger-reborn
lxistiredQuickBooks for Mac を参考にしたローカル優先の会計アプリ✅ はいプロジェクト README —open-scrantic
glauberlimaREA で逆解析した 1992 年 Johnny Castaway スクリーンセーバーの Rust 再実装✅ はい— N0zoM1z0/th04th04
N0zoM1z0東方幻想郷(PC-98)を読めるソースに、当時のコンパイラで検証✅ はいプロジェクト README —sims3-modernization
rodneypantonial最新 PC でシムズ3 のカクつきとクラッシュを減らす✅ はい— -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra・Hopper・IDA 版がある REA の Docker イメージ✅ はいリポジトリカード —game-frame
tanepiper配布ファイルからエージェントがゲームを解析するフレームワーク✅ はい— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra・Hopper・IDA 版がある REA の Docker イメージ✅ はいリポジトリカード —MiTV-Remote
EndLess728Mac・Android・iPhone から Wi-Fi で Xiaomi テレビを操作✅ はい— -ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodiaデスクトップをまた壊そう:Gemtree の 2000 年作を macOS とブラウザへ✅ はいプロジェクト README —a6000-fw-decomp
nicolvusREA と Ghidra で Sony A6000 のファームウェアを解析✅ はい— +ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodiaデスクトップをまた壊そう:Gemtree の 2000 年作を macOS とブラウザへ✅ はいプロジェクト README sickpyramid/ReaFuseReaFuse
sickpyramidREA を使って 2 つの JS/TS プロジェクトを融合✅ はいリポジトリカード -grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL 用の Linux カーネルモジュール✅ はいリポジトリカード pablodiazjorge/rea-labrea-lab
pablodiazjorgeWindows + Ghidra の演習と事前登録した REA 評価✅ はいリポジトリカード +grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL 用の Linux カーネルモジュール✅ はいリポジトリカード NullLabTests/OpenBSD_netcat_REAOpenBSD_netcat_REA
NullLabTestsREA と Ghidra で netcat-openbsd を静的解析✅ はいプロジェクト README iammukeshm/hexgrabhexgrab
iammukeshmPowerToys のバイナリを調べて作った小さな Windows カラーピッカー✅ はいリポジトリカード cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexusLinux デスクトップを Quest・Pico へストリーミング✅ はいリポジトリカード zhaofeng130/dsh-readsh-rea
zhaofeng130DeepSeek Harness に REA のスキルとツールを追加✅ はいリポジトリカード +pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeClaude Code の結論すべてに実際の REA 証拠を引用させる✅ はいプロジェクト README —soundconnect-desktop
B-HowellWindows デスクトップから Sony の Bluetooth ヘッドホンを操作✅ はい— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die の雪合戦を Rust + SDL2 で再現(素材は各自用意)✅ はいプロジェクト README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel を Rust + Bevy で復活✅ はいプロジェクト README sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig設定だけで DeepSeek Harness に REA を組み込む✅ はいリポジトリカード -pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeClaude Code の結論すべてに実際の REA 証拠を引用させる✅ はいプロジェクト README +a-barzanti/ai-rebuildsai-rebuilds
a-barzanti見捨てられたゲームをブラウザで復活、元ファイルは含まない✅ はいリポジトリカード Nowng/rea-mcprea-mcp
NowngLM Studio のローカルモデルで REA を使う✅ はいリポジトリカード ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4DeepSeek Harness に REA の MCP ツールを登録✅ はいリポジトリカード -a-barzanti/ai-rebuildsai-rebuilds
a-barzanti見捨てられたゲームをブラウザで復活、元ファイルは含まない✅ はいリポジトリカード az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713Wispr Flow の音声パイプラインを分解、64 行の再実装付き✅ はい動画サムネイル KarlssonChristoffer/DiskLensDiskLens
KarlssonChristofferWinDirStat 風に Windows 11 のディスク使用量を可視化✅ はいリポジトリカード cognixws/picode-reapicode-rea
cognixwsPiCode から REA の静的解析ツールを使う✅ はいリポジトリカード @@ -306,6 +306,7 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ +
画像プロジェクト概要rea 使用画像の出典
—gta-vcs-recomp
gothamor
元の PS2 ゲーム『グランド・セフト・オート:バイスシティ・ストーリーズ』の実行ファイルを再コンパイルして、ネイティブの Windows / Linux 版を作ります。ディスクイメージは自分で用意。いいえ—
thiagordsfx/urban-reign-recompurban-reign-recomp
thiagordsfx
PS2の格闘ゲーム『Urban Reign』を静的リコンパイルしてネイティブPC移植版に。60FPS・高解像度・HDテクスチャ対応。いいえリポジトリカード
@@ -350,6 +351,7 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ N0zoM1z0/th10th10
N0zoM1z0東方風神録をソースコードとして再構築❔ 未確認プロジェクト README N0zoM1z0/th09th09
N0zoM1z0東方花映塚をソースコードとして再構築❔ 未確認プロジェクト README N0zoM1z0/touhou-reverse-engineeringtouhou-reverse-engineering
N0zoM1z0証拠重視の東方 IDA ノート、実行時パッチ実験付きいいえリポジトリカード +—mhfz-decomp
yamahuser『モンスターハンター フロンティアZ』オンラインクライアントのリバースエンジニアリング:関数名、仕様、補助ツール。カプコンのオリジナルコードは含みません。いいえ— #### リメイク / 移植 @@ -364,6 +366,7 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ scummvm/scummvmscummvm
scummvm名作ポイント&クリック ADV をほぼ何でも動かすいいえプロジェクト README OpenXcom/OpenXcomOpenXcom
OpenXcom初代 UFO / X-COM を最新のオープンソースエンジンでいいえリポジトリカード perfect-dark-pc-port/perfect_darkperfect_dark
perfect-dark-pc-portパーフェクトダークを PC でネイティブに(ROM は各自)いいえWikipedia(© 権利者) +valentderah/totk-pc-recomptotk-pc-recomp
valentderahNintendo Switch 版『ゼルダの伝説 ティアーズ オブ ザ キングダム』を、エミュレータなしで動くネイティブ Windows プログラムに静的再コンパイルします。ゲームファイルは自分で用意。いいえリポジトリカード julianxhokaxhiu/FFNxFFNx
julianxhokaxhiuPC 版 FF7/FF8 向けの最新ドライバー兼 Mod 基盤いいえプロジェクト README —smm2recomp
smm2recompクローズドソースの Switch『スーパーマリオメーカー2』を静的再コンパイルして PC・Mac・Linux などでネイティブに動くアプリにしたもの。自分のダンプが必要。いいえ— fallout2-ce/fallout2-cefallout2-ce
fallout2-ceFallout 2 を現行 OS で(手持ちのゲームデータを使用)いいえプロジェクト README @@ -373,6 +376,7 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ AsyncFinn/rookrook
AsyncFinnStudio と照合してテストする Rust 製 Roblox 互換エンジンいいえリポジトリカード ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodiaデスクトップをまた壊そう:Gemtree の 2000 年作を macOS とブラウザへ✅ はいプロジェクト README tallowmere/free-heroes4free-heroes4
tallowmereマイト・アンド・マジック ヒーローズ IV を C++23 の新エンジンで(GOG 版を使用)いいえWikipedia(© 権利者) +—outrunners-port
cheviman1992年セガアーケードゲーム『OutRunners』を、一致する C デコンパイルを基に PC とコンソール向けネイティブ移植。ROM は自分で用意。いいえ— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die の雪合戦を Rust + SDL2 で再現(素材は各自用意)✅ はいプロジェクト README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel を Rust + Bevy で復活✅ はいプロジェクト README a-barzanti/ai-rebuildsai-rebuilds
a-barzanti見捨てられたゲームをブラウザで復活、元ファイルは含まない✅ はいリポジトリカード @@ -421,9 +425,9 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ —open-scrantic
glauberlimaREA で逆解析した 1992 年 Johnny Castaway スクリーンセーバーの Rust 再実装✅ はい— LilZeeCN/zee-rpzee-rp
LilZeeCNCLI や MCP から Axure RP のプロトタイプを読み書き❔ 未確認プロジェクト README sickpyramid/ReaFuseReaFuse
sickpyramidREA を使って 2 つの JS/TS プロジェクトを融合✅ はいリポジトリカード +laaielichter/ReverseportReverseport
laaielichter解析結果を Godot・Unity・Unreal・three.js へ移植❔ 未確認プロジェクト README iammukeshm/hexgrabhexgrab
iammukeshmPowerToys のバイナリを調べて作った小さな Windows カラーピッカー✅ はいリポジトリカード cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexusLinux デスクトップを Quest・Pico へストリーミング✅ はいリポジトリカード -laaielichter/ReverseportReverseport
laaielichter解析結果を Godot・Unity・Unreal・three.js へ移植❔ 未確認プロジェクト README monatis/okurokur
monatisJAWS のように動くオープンソースのスクリーンリーダー。JAWS の発話を観察してゼロから再実装。いいえリポジトリカード az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713Wispr Flow の音声パイプラインを分解、64 行の再実装付き✅ はい動画サムネイル KarlssonChristoffer/DiskLensDiskLens
KarlssonChristofferWinDirStat 風に Windows 11 のディスク使用量を可視化✅ はいリポジトリカード @@ -517,12 +521,12 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ czcdr/dsh-plugin-readsh-plugin-rea
czcdrDeepSeek Harness で REA を、Ghidra も自動導入✅ はいプロジェクト README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomilMCP 経由で AI エージェントから IDA Free を使う✅ はいリポジトリカード dav1dngy/era-agentera-agent
dav1dngy証拠駆動で自己改善を試みるリバースエンジニアリング用エージェント❔ 未確認プロジェクト README -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra・Hopper・IDA 版がある REA の Docker イメージ✅ はいリポジトリカード —game-frame
tanepiper配布ファイルからエージェントがゲームを解析するフレームワーク✅ はい— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra・Hopper・IDA 版がある REA の Docker イメージ✅ はいリポジトリカード DatanoiseTV/revenantrevenant
DatanoiseTV放棄されたファームウェアやバイナリを LLM で自動解析し、ピンマップや再実装を生成。いいえリポジトリカード zhaofeng130/dsh-readsh-rea
zhaofeng130DeepSeek Harness に REA のスキルとツールを追加✅ はいリポジトリカード -sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig設定だけで DeepSeek Harness に REA を組み込む✅ はいリポジトリカード pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeClaude Code の結論すべてに実際の REA 証拠を引用させる✅ はいプロジェクト README +sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig設定だけで DeepSeek Harness に REA を組み込む✅ はいリポジトリカード Nowng/rea-mcprea-mcp
NowngLM Studio のローカルモデルで REA を使う✅ はいリポジトリカード ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4DeepSeek Harness に REA の MCP ツールを登録✅ はいリポジトリカード Sage-is/CleanRoomCleanRoom
Sage-isREA のローカル版を Python でシンプルに再実装した MCP サーバーと CLI。いいえリポジトリカード @@ -532,6 +536,7 @@ _任意のフィルタ:以下は REA を使用した公開証拠があるプ orikami048/geagea
orikami048ゲームのリバースエンジニアリング、アセット抽出、Cocos/Three.js 再現のための MCP と CLI。morluto/rea に着想。いいえリポジトリカード —dsh-rev-eng
StijnusREA スキルとオプションの MCP をパッケージした DSH プラグイン。リバースエンジニアリングと Mac アプリ構築用。✅ はい— —dsh-command-rea
CurLeafDSH の /rea スラッシュコマンド。リクエストを REA スキルと MCP ツールにルーティング。✅ はい— +—decomp-tools
LostArtefactsWindows 版トゥームレイダー2~5の一致するデコンパイルを支援するツール。Wine 上でオリジナルの MSVC 5/6 コンパイラを使用。いいえ— ## REA 公式ショーケース diff --git a/README.ko.md b/README.ko.md index bb33b67..68ed2c3 100644 --- a/README.ko.md +++ b/README.ko.md @@ -49,34 +49,34 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 —rea-capcut
Xiangyu-CASREA로 CapCut을 분석해 다시 만든 오픈소스 오프라인 영상 편집기✅ 예— N0zoM1z0/dx-balldx-ball
N0zoM1z0DX-Ball 1.07을 C/C++로 재구성하고 원본 x86과 대조 테스트✅ 예프로젝트 README michaelshimeles/sketchsketch
michaelshimelesPaper를 연구해 만든 Rust 무한 디자인 캔버스✅ 예프로젝트 README -Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiy배틀필드 2 엔진을 C++20으로 클린룸 재구현(보유한 게임 사용)✅ 예프로젝트 README —decomp.anything
giveen업데이트 중단된 매칭 디컴파일러 decomp.wtf의 활성 포크. Windows/Linux 바이너리 지원과 REA 브리지를 추가해 게임 외 프로그램도 AI가 역공학할 수 있게 함.✅ 예— +Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiy배틀필드 2 엔진을 C++20으로 클린룸 재구현(보유한 게임 사용)✅ 예프로젝트 README czcdr/dsh-plugin-readsh-plugin-rea
czcdrDeepSeek Harness에서 REA 사용, Ghidra 자동 설치✅ 예프로젝트 README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomilMCP로 AI 에이전트가 IDA Free 사용✅ 예저장소 카드 lxistired/ledger-rebornledger-reborn
lxistiredQuickBooks for Mac을 참고한 로컬 우선 회계 앱✅ 예프로젝트 README —open-scrantic
glauberlimaREA로 역공학한 1992년 Johnny Castaway 화면 보호기의 Rust 재구현✅ 예— N0zoM1z0/th04th04
N0zoM1z0동방환상향(PC-98)을 읽을 수 있는 소스로, 원래 컴파일러로 검증✅ 예프로젝트 README —sims3-modernization
rodneypantonial최신 PC에서 심즈 3 끊김과 크래시 줄이기✅ 예— -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra·Hopper·IDA 변형이 있는 REA Docker 이미지✅ 예저장소 카드 —game-frame
tanepiper배포 파일로 에이전트가 게임을 역공학하는 프레임워크✅ 예— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra·Hopper·IDA 변형이 있는 REA Docker 이미지✅ 예저장소 카드 —MiTV-Remote
EndLess728Mac·안드로이드·아이폰에서 Wi-Fi로 샤오미 TV 조작✅ 예— -ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia다시 데스크톱 부수기: Gemtree의 2000년작을 macOS와 웹으로✅ 예프로젝트 README —a6000-fw-decomp
nicolvusREA와 Ghidra로 소니 A6000 펌웨어 분석✅ 예— +ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia다시 데스크톱 부수기: Gemtree의 2000년작을 macOS와 웹으로✅ 예프로젝트 README sickpyramid/ReaFuseReaFuse
sickpyramidREA로 두 JS/TS 프로젝트를 하나로 합치기✅ 예저장소 카드 -grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL용 Linux 커널 모듈✅ 예저장소 카드 pablodiazjorge/rea-labrea-lab
pablodiazjorgeWindows + Ghidra 실습과 사전 등록된 REA 평가✅ 예저장소 카드 +grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL용 Linux 커널 모듈✅ 예저장소 카드 NullLabTests/OpenBSD_netcat_REAOpenBSD_netcat_REA
NullLabTestsREA와 Ghidra로 netcat-openbsd 정적 분석✅ 예프로젝트 README iammukeshm/hexgrabhexgrab
iammukeshmPowerToys 바이너리를 분석해 만든 작은 Windows 색상 선택기✅ 예저장소 카드 cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexusLinux 데스크톱을 Quest·Pico 헤드셋으로 스트리밍✅ 예저장소 카드 zhaofeng130/dsh-readsh-rea
zhaofeng130DeepSeek Harness에 REA 스킬과 도구 추가✅ 예저장소 카드 +pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeClaude Code의 모든 결론에 실제 REA 증거를 인용하게✅ 예프로젝트 README —soundconnect-desktop
B-HowellWindows 데스크톱에서 소니 블루투스 헤드폰 제어✅ 예— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die 눈싸움을 Rust + SDL2로 재구현(에셋은 직접 준비)✅ 예프로젝트 README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel을 Rust + Bevy로 부활✅ 예프로젝트 README sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig설정만으로 DeepSeek Harness에 REA 연결✅ 예저장소 카드 -pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeClaude Code의 모든 결론에 실제 REA 증거를 인용하게✅ 예프로젝트 README +a-barzanti/ai-rebuildsai-rebuilds
a-barzanti버려진 게임을 브라우저로 되살림, 원본 파일 미포함✅ 예저장소 카드 Nowng/rea-mcprea-mcp
NowngLM Studio 로컬 모델로 REA 사용✅ 예저장소 카드 ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4DeepSeek Harness에 REA MCP 도구 등록✅ 예저장소 카드 -a-barzanti/ai-rebuildsai-rebuilds
a-barzanti버려진 게임을 브라우저로 되살림, 원본 파일 미포함✅ 예저장소 카드 az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713Wispr Flow 음성 파이프라인 해부와 64줄 재구현✅ 예동영상 썸네일 KarlssonChristoffer/DiskLensDiskLens
KarlssonChristofferWinDirStat처럼 Windows 11 디스크 사용량을 시각화✅ 예저장소 카드 cognixws/picode-reapicode-rea
cognixwsPiCode에서 REA 정적 분석 도구 사용✅ 예저장소 카드 @@ -306,6 +306,7 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 +
이미지프로젝트소개rea 사용이미지 출처
—gta-vcs-recomp
gothamor
원본 PS2 게임 그랜드 테프트 오토: 바이스 시티 스토리즈의 실행 파일을 재컴파일하여 네이티브 Windows 및 Linux 버전을 만듭니다. 디스크 이미지는 직접 준비하세요.아니요—
thiagordsfx/urban-reign-recompurban-reign-recomp
thiagordsfx
PS2 격투 게임 《어반 레인》을 정적 리컴파일로 네이티브 PC 포트로 제작. 60FPS, 고해상도, HD 텍스처 지원.아니요저장소 카드
@@ -350,6 +351,7 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 N0zoM1z0/th10th10
N0zoM1z0동방풍신록을 소스 코드로 재구성❔ 미확인프로젝트 README N0zoM1z0/th09th09
N0zoM1z0동방화영총을 소스 코드로 재구성❔ 미확인프로젝트 README N0zoM1z0/touhou-reverse-engineeringtouhou-reverse-engineering
N0zoM1z0증거 중심 동방 IDA 노트, 런타임 패치 실험 포함아니요저장소 카드 +—mhfz-decomp
yamahuser몬스터 헌터 프론티어 Z 온라인 클라이언트의 리버스 엔지니어링: 함수 이름, 사양 및 보조 도구. 캡콤 원본 코드는 포함되지 않습니다.아니요— #### 리메이크 / 포팅 @@ -364,6 +366,7 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 scummvm/scummvmscummvm
scummvm고전 포인트 앤 클릭 어드벤처를 거의 모든 기기에서아니요프로젝트 README OpenXcom/OpenXcomOpenXcom
OpenXcom초대 UFO / X-COM을 현대 오픈소스 엔진으로아니요저장소 카드 perfect-dark-pc-port/perfect_darkperfect_dark
perfect-dark-pc-port퍼펙트 다크를 PC에서 네이티브로(ROM 직접 준비)아니요위키백과(© 권리자) +valentderah/totk-pc-recomptotk-pc-recomp
valentderah닌텐도 스위치 버전의 젤다의 전설: 티어즈 오브 더 킹덤을 에뮬레이터 없이 실행되는 네이티브 Windows 프로그램으로 정적 재컴파일합니다. 게임 파일은 직접 준비해야 합니다.아니요저장소 카드 julianxhokaxhiu/FFNxFFNx
julianxhokaxhiuPC판 FF7/FF8용 최신 드라이버 겸 모드 플랫폼아니요프로젝트 README —smm2recomp
smm2recomp폐쇄 소스 Switch 『슈퍼 마리오 메이커 2』를 정적 재컴파일로 PC·Mac·Linux 등에서 네이티브로 실행되게 만든 것. 자신의 덤프가 필요함.아니요— fallout2-ce/fallout2-cefallout2-ce
fallout2-ce폴아웃 2를 최신 OS에서(보유한 게임 데이터 사용)아니요프로젝트 README @@ -373,6 +376,7 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 AsyncFinn/rookrook
AsyncFinnStudio와 대조해 테스트하는 Rust 기반 Roblox 호환 엔진아니요저장소 카드 ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia다시 데스크톱 부수기: Gemtree의 2000년작을 macOS와 웹으로✅ 예프로젝트 README tallowmere/free-heroes4free-heroes4
tallowmere히어로즈 오브 마이트 앤 매직 IV를 C++23 새 엔진으로(GOG 파일 사용)아니요위키백과(© 권리자) +—outrunners-port
cheviman1992년 세가 아케이드 게임 OutRunners를 일치하는 C 디컴파일을 기반으로 PC와 콘솔용 네이티브 포트로 만듭니다. ROM은 직접 준비하세요.아니요— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die 눈싸움을 Rust + SDL2로 재구현(에셋은 직접 준비)✅ 예프로젝트 README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel을 Rust + Bevy로 부활✅ 예프로젝트 README a-barzanti/ai-rebuildsai-rebuilds
a-barzanti버려진 게임을 브라우저로 되살림, 원본 파일 미포함✅ 예저장소 카드 @@ -421,9 +425,9 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 —open-scrantic
glauberlimaREA로 역공학한 1992년 Johnny Castaway 화면 보호기의 Rust 재구현✅ 예— LilZeeCN/zee-rpzee-rp
LilZeeCNCLI나 MCP로 Axure RP 프로토타입 파일 읽기·쓰기❔ 미확인프로젝트 README sickpyramid/ReaFuseReaFuse
sickpyramidREA로 두 JS/TS 프로젝트를 하나로 합치기✅ 예저장소 카드 +laaielichter/ReverseportReverseport
laaielichter리버싱 결과를 Godot·Unity·Unreal·three.js로 이식❔ 미확인프로젝트 README iammukeshm/hexgrabhexgrab
iammukeshmPowerToys 바이너리를 분석해 만든 작은 Windows 색상 선택기✅ 예저장소 카드 cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexusLinux 데스크톱을 Quest·Pico 헤드셋으로 스트리밍✅ 예저장소 카드 -laaielichter/ReverseportReverseport
laaielichter리버싱 결과를 Godot·Unity·Unreal·three.js로 이식❔ 미확인프로젝트 README monatis/okurokur
monatisJAWS처럼 동작하는 오픈소스 스크린 리더. JAWS의 음성을 관찰해 처음부터 다시 구현.아니요저장소 카드 az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713Wispr Flow 음성 파이프라인 해부와 64줄 재구현✅ 예동영상 썸네일 KarlssonChristoffer/DiskLensDiskLens
KarlssonChristofferWinDirStat처럼 Windows 11 디스크 사용량을 시각화✅ 예저장소 카드 @@ -517,12 +521,12 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 czcdr/dsh-plugin-readsh-plugin-rea
czcdrDeepSeek Harness에서 REA 사용, Ghidra 자동 설치✅ 예프로젝트 README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomilMCP로 AI 에이전트가 IDA Free 사용✅ 예저장소 카드 dav1dngy/era-agentera-agent
dav1dngy증거 기반으로 스스로 개선을 시도하는 리버싱 에이전트❔ 미확인프로젝트 README -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra·Hopper·IDA 변형이 있는 REA Docker 이미지✅ 예저장소 카드 —game-frame
tanepiper배포 파일로 에이전트가 게임을 역공학하는 프레임워크✅ 예— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256Ghidra·Hopper·IDA 변형이 있는 REA Docker 이미지✅ 예저장소 카드 DatanoiseTV/revenantrevenant
DatanoiseTV버려진 펌웨어와 바이너리를 LLM으로 자동 역공학하고 핀맵이나 재구현을 생성.아니요저장소 카드 zhaofeng130/dsh-readsh-rea
zhaofeng130DeepSeek Harness에 REA 스킬과 도구 추가✅ 예저장소 카드 -sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig설정만으로 DeepSeek Harness에 REA 연결✅ 예저장소 카드 pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeClaude Code의 모든 결론에 실제 REA 증거를 인용하게✅ 예프로젝트 README +sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig설정만으로 DeepSeek Harness에 REA 연결✅ 예저장소 카드 Nowng/rea-mcprea-mcp
NowngLM Studio 로컬 모델로 REA 사용✅ 예저장소 카드 ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4DeepSeek Harness에 REA MCP 도구 등록✅ 예저장소 카드 Sage-is/CleanRoomCleanRoom
Sage-isREA의 로컬 버전을 Python으로 단순하게 재구현한 MCP 서버와 CLI.아니요저장소 카드 @@ -532,6 +536,7 @@ _선택 필터: 다음은 REA를 사용했다는 공개 증거가 있는 프로 orikami048/geagea
orikami048게임 리버스 엔지니어링, 에셋 추출, Cocos/Three.js 재현을 위한 MCP 및 CLI. morluto/rea에서 영감.아니요저장소 카드 —dsh-rev-eng
StijnusREA 스킬과 선택적 MCP를 DSH 플러그인으로 패키징. 리버스 엔지니어링 및 Mac 앱 빌드용.✅ 예— —dsh-command-rea
CurLeafDSH /rea 슬래시 명령. 요청을 REA 스킬과 MCP 도구로 라우팅.✅ 예— +—decomp-tools
LostArtefactsWindows 버전 툼 레이더 2~5의 일치하는 디컴파일을 돕는 도구. Wine에서 원본 MSVC 5/6 컴파일러를 사용합니다.아니요— ## REA 공식 쇼케이스 diff --git a/README.md b/README.md index bb12ab3..43c06bb 100644 --- a/README.md +++ b/README.md @@ -49,34 +49,34 @@ _Optional filter: these have public evidence of using REA. Most projects in the —rea-capcut
Xiangyu-CASAn open-source offline video editor rebuilt from REA research on CapCut✅ Yes— N0zoM1z0/dx-balldx-ball
N0zoM1z0DX-Ball 1.07 rebuilt in C/C++, tested against the original x86✅ YesProject README michaelshimeles/sketchsketch
michaelshimelesAn infinite design canvas in Rust, rebuilt by studying Paper✅ YesProject README -Moxnatiy/OpenBattlefield2OpenBattlefield2
MoxnatiyBattlefield 2's engine, rewritten clean-room in C++20 (uses your own copy)✅ YesProject README —decomp.anything
giveenContinuation of the closed-source matching decompiler decomp.wtf; adds Windows/Linux PE/ELF support and an REA bridge so agents can reverse-engineer non-game binaries too.✅ Yes— +Moxnatiy/OpenBattlefield2OpenBattlefield2
MoxnatiyBattlefield 2's engine, rewritten clean-room in C++20 (uses your own copy)✅ YesProject README czcdr/dsh-plugin-readsh-plugin-rea
czcdrREA tools in DeepSeek Harness, with Ghidra auto-installed✅ YesProject README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomilUse free IDA from an AI agent over MCP✅ YesRepo card lxistired/ledger-rebornledger-reborn
lxistiredA local-first accounting app, modelled on QuickBooks for Mac✅ YesProject README —open-scrantic
glauberlimaRust reimplementation of the 1992 Johnny Castaway screensaver, reverse-engineered with REA✅ Yes— N0zoM1z0/th04th04
N0zoM1z0Touhou 4 (PC-98) as readable source, checked against the original compiler✅ YesProject README —sims3-modernization
rodneypantonialMake The Sims 3 stutter and crash less on modern PCs✅ Yes— -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA in Docker, with Ghidra, Hopper or IDA variants✅ YesRepo card —game-frame
tanepiperA framework for agents to reverse engineer games from shipped files✅ Yes— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA in Docker, with Ghidra, Hopper or IDA variants✅ YesRepo card —MiTV-Remote
EndLess728Control Xiaomi TVs over Wi-Fi from Mac, Android or iPhone✅ Yes— -ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodiaSmash your desktop again: Gemtree's 2000 toy on macOS and the web✅ YesProject README —a6000-fw-decomp
nicolvusDig into Sony A6000 camera firmware with REA and Ghidra✅ Yes— +ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodiaSmash your desktop again: Gemtree's 2000 toy on macOS and the web✅ YesProject README sickpyramid/ReaFuseReaFuse
sickpyramidMerge two JS/TS projects into one, guided by REA✅ YesRepo card -grisuno/VSL-DSPVSL-DSP
grisunoA Linux kernel module for PreSonus AudioBox VSL interfaces✅ YesRepo card pablodiazjorge/rea-labrea-lab
pablodiazjorgeWindows + Ghidra exercises and a pre-registered REA study✅ YesRepo card +grisuno/VSL-DSPVSL-DSP
grisunoA Linux kernel module for PreSonus AudioBox VSL interfaces✅ YesRepo card NullLabTests/OpenBSD_netcat_REAOpenBSD_netcat_REA
NullLabTestsnetcat-openbsd, statically analysed with REA and Ghidra✅ YesProject README iammukeshm/hexgrabhexgrab
iammukeshmA tiny Windows colour picker, rebuilt from PowerToys' binaries✅ YesRepo card cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexusStream your Linux desktop to Quest and Pico headsets✅ YesRepo card zhaofeng130/dsh-readsh-rea
zhaofeng130Add the REA Skill and tools to DeepSeek Harness✅ YesRepo card +pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeMake Claude Code cite real REA evidence for every conclusion✅ YesProject README —soundconnect-desktop
B-HowellControl Sony Bluetooth headphones from a Windows desktop app✅ Yes— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die's Snowball War, rebuilt in Rust + SDL2 (bring your own assets)✅ YesProject README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel, reborn in Rust + Bevy✅ YesProject README sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraigA config-only way to mount REA in DeepSeek Harness✅ YesRepo card -pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeMake Claude Code cite real REA evidence for every conclusion✅ YesProject README +a-barzanti/ai-rebuildsai-rebuilds
a-barzantiAbandoned games brought back to the browser, no original files included✅ YesRepo card Nowng/rea-mcprea-mcp
NowngRun REA with local models in LM Studio✅ YesRepo card ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4Register REA's MCP tools in DeepSeek Harness✅ YesRepo card -a-barzanti/ai-rebuildsai-rebuilds
a-barzantiAbandoned games brought back to the browser, no original files included✅ YesRepo card az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713Wispr Flow's voice pipeline, taken apart, plus a 64-line rebuild✅ YesVideo thumbnail KarlssonChristoffer/DiskLensDiskLens
KarlssonChristofferSee what fills your Windows 11 disk, WinDirStat-style✅ YesRepo card cognixws/picode-reapicode-rea
cognixwsREA's static-analysis tools inside PiCode✅ YesRepo card @@ -306,6 +306,7 @@ _Optional filter: these have public evidence of using REA. Most projects in the +
ImageProjectWhat you getUses reaImage source
—gta-vcs-recomp
gothamor
Makes a native Windows and Linux version of Grand Theft Auto: Vice City Stories (original PS2 game) by recompiling its executable. Bring your own disc image.No—
thiagordsfx/urban-reign-recompurban-reign-recomp
thiagordsfx
Static recompilation of the PS2 fighting game Urban Reign into a native PC port with 60 FPS, high resolution, and HD textures.NoRepo card
@@ -350,6 +351,7 @@ _Optional filter: these have public evidence of using REA. Most projects in the N0zoM1z0/th10th10
N0zoM1z0Touhou 10: Mountain of Faith reconstructed as source❔ UnverifiedProject README N0zoM1z0/th09th09
N0zoM1z0Touhou 9: Phantasmagoria of Flower View, reconstructed as source❔ UnverifiedProject README N0zoM1z0/touhou-reverse-engineeringtouhou-reverse-engineering
N0zoM1z0Evidence-first IDA notes on Touhou, with live patch experimentsNoRepo card +—mhfz-decomp
yamahuserReverse-engineering work on the Monster Hunter Frontier Z online client: function names, specifications and helper tools. Does not include Capcom's original code.No— #### Remake / Port @@ -364,6 +366,7 @@ _Optional filter: these have public evidence of using REA. Most projects in the scummvm/scummvmscummvm
scummvmPlay classic point-and-click adventures on almost anythingNoProject README OpenXcom/OpenXcomOpenXcom
OpenXcomPlay the original UFO / X-COM on a modern open-source engineNoRepo card perfect-dark-pc-port/perfect_darkperfect_dark
perfect-dark-pc-portPlay Perfect Dark natively on PC (bring your own ROM)NoWikipedia (© owner) +valentderah/totk-pc-recomptotk-pc-recomp
valentderahTurns the Nintendo Switch version of The Legend of Zelda: Tears of the Kingdom into a native Windows program you can run without an emulator. You supply your own game files.NoRepo card julianxhokaxhiu/FFNxFFNx
julianxhokaxhiuA modern driver and mod platform for FF7/FF8 on PCNoProject README —smm2recomp
smm2recompStatic recompilation that turns the closed-source Switch Super Mario Maker 2 into a native app for PC, Mac, Linux and more; you provide your own dump.No— fallout2-ce/fallout2-cefallout2-ce
fallout2-cePlay Fallout 2 on modern systems (uses your own game data)NoProject README @@ -373,6 +376,7 @@ _Optional filter: these have public evidence of using REA. Most projects in the AsyncFinn/rookrook
AsyncFinnA Roblox-compatible engine in Rust, tested against StudioNoRepo card ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodiaSmash your desktop again: Gemtree's 2000 toy on macOS and the web✅ YesProject README tallowmere/free-heroes4free-heroes4
tallowmereHeroes of Might and Magic IV on a new C++23 engine (uses your GOG files)NoWikipedia (© owner) +—outrunners-port
chevimanA native port of the 1992 Sega arcade game OutRunners for PC and consoles, built from a matching C decompilation. You need your own ROM.No— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die's Snowball War, rebuilt in Rust + SDL2 (bring your own assets)✅ YesProject README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel, reborn in Rust + Bevy✅ YesProject README a-barzanti/ai-rebuildsai-rebuilds
a-barzantiAbandoned games brought back to the browser, no original files included✅ YesRepo card @@ -421,9 +425,9 @@ _Optional filter: these have public evidence of using REA. Most projects in the —open-scrantic
glauberlimaRust reimplementation of the 1992 Johnny Castaway screensaver, reverse-engineered with REA✅ Yes— LilZeeCN/zee-rpzee-rp
LilZeeCNRead and write Axure RP prototype files from the CLI or MCP❔ UnverifiedProject README sickpyramid/ReaFuseReaFuse
sickpyramidMerge two JS/TS projects into one, guided by REA✅ YesRepo card +laaielichter/ReverseportReverseport
laaielichterPort reverse-engineering findings into Godot, Unity, Unreal or three.js❔ UnverifiedProject README iammukeshm/hexgrabhexgrab
iammukeshmA tiny Windows colour picker, rebuilt from PowerToys' binaries✅ YesRepo card cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexusStream your Linux desktop to Quest and Pico headsets✅ YesRepo card -laaielichter/ReverseportReverseport
laaielichterPort reverse-engineering findings into Godot, Unity, Unreal or three.js❔ UnverifiedProject README monatis/okurokur
monatisOpen-source screen reader that acts like JAWS, rebuilt from scratch by watching what JAWS says.NoRepo card az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713Wispr Flow's voice pipeline, taken apart, plus a 64-line rebuild✅ YesVideo thumbnail KarlssonChristoffer/DiskLensDiskLens
KarlssonChristofferSee what fills your Windows 11 disk, WinDirStat-style✅ YesRepo card @@ -517,12 +521,12 @@ _Optional filter: these have public evidence of using REA. Most projects in the czcdr/dsh-plugin-readsh-plugin-rea
czcdrREA tools in DeepSeek Harness, with Ghidra auto-installed✅ YesProject README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomilUse free IDA from an AI agent over MCP✅ YesRepo card dav1dngy/era-agentera-agent
dav1dngyAn evidence-driven RE agent that tries to improve itself❔ UnverifiedProject README -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA in Docker, with Ghidra, Hopper or IDA variants✅ YesRepo card —game-frame
tanepiperA framework for agents to reverse engineer games from shipped files✅ Yes— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA in Docker, with Ghidra, Hopper or IDA variants✅ YesRepo card DatanoiseTV/revenantrevenant
DatanoiseTVAI agent that reverse-engineers old firmware and binaries, then generates pin maps, device trees or reimplementations.NoRepo card zhaofeng130/dsh-readsh-rea
zhaofeng130Add the REA Skill and tools to DeepSeek Harness✅ YesRepo card -sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraigA config-only way to mount REA in DeepSeek Harness✅ YesRepo card pablodiazjorge/rea-casebookrea-casebook
pablodiazjorgeMake Claude Code cite real REA evidence for every conclusion✅ YesProject README +sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraigA config-only way to mount REA in DeepSeek Harness✅ YesRepo card Nowng/rea-mcprea-mcp
NowngRun REA with local models in LM Studio✅ YesRepo card ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4Register REA's MCP tools in DeepSeek Harness✅ YesRepo card Sage-is/CleanRoomCleanRoom
Sage-isA simpler local Python version of the REA reverse-engineering MCP server and CLI.NoRepo card @@ -532,6 +536,7 @@ _Optional filter: these have public evidence of using REA. Most projects in the orikami048/geagea
orikami048MCP & CLI for game RE, asset extraction and Cocos/Three.js recreation; inspired by morluto/rea.NoRepo card —dsh-rev-eng
StijnusDSH plugin packaging REA skills + optional MCP for reverse engineering and Mac app building.✅ Yes— —dsh-command-rea
CurLeafDSH /rea slash command that routes requests to the REA skill and MCP tools.✅ Yes— +—decomp-tools
LostArtefactsTools that help people create matching decompilations of the Windows versions of Tomb Raider 2 through 5, using the original MSVC 5 and 6 compilers under Wine.No— ## Official REA showcases diff --git a/README.zh-CN.md b/README.zh-CN.md index 03dd2c1..6c7a5d8 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -49,34 +49,34 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 —rea-capcut
Xiangyu-CAS用 REA 研究剪映后重做的开源离线剪辑软件✅ 是— N0zoM1z0/dx-balldx-ball
N0zoM1z0用 C/C++ 重建 DX-Ball 1.07,并对照原版 x86 测试✅ 是项目 README michaelshimeles/sketchsketch
michaelshimelesRust 写的无限设计画布,研究 Paper 后重建✅ 是项目 README -Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiy战地 2 引擎的 C++20 净室重写(读取你自己的游戏)✅ 是项目 README —decomp.anything
giveen停更的匹配式反编译器 decomp.wtf 的活跃分支;增加了 Windows/Linux 二进制支持,并接入 REA,让 AI 也能逆向非游戏程序。✅ 是— +Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiy战地 2 引擎的 C++20 净室重写(读取你自己的游戏)✅ 是项目 README czcdr/dsh-plugin-readsh-plugin-rea
czcdr在 DeepSeek Harness 里用 REA,自动装好 Ghidra✅ 是项目 README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomil通过 MCP 让 AI 智能体使用免费版 IDA✅ 是仓库卡片 lxistired/ledger-rebornledger-reborn
lxistired本地优先的记账应用,参照 QuickBooks Mac 版✅ 是项目 README —open-scrantic
glauberlima用 REA 逆向并重写的 1992 年 Johnny Castaway 屏保(Rust)✅ 是— N0zoM1z0/th04th04
N0zoM1z0东方幻想乡(PC-98)的可读源码,对照原编译器校验✅ 是项目 README —sims3-modernization
rodneypantonial让模拟人生 3 在新电脑上少卡顿、少崩溃✅ 是— -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 镜像,含 Ghidra/Hopper/IDA 版本✅ 是仓库卡片 —game-frame
tanepiper让 AI agent 从发行文件逆向游戏的框架✅ 是— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 镜像,含 Ghidra/Hopper/IDA 版本✅ 是仓库卡片 —MiTV-Remote
EndLess728在 Mac、安卓、iPhone 上用 Wi-Fi 遥控小米电视✅ 是— -ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia再砸一次桌面:Gemtree 2000 年的小玩具登上 macOS 和网页✅ 是项目 README —a6000-fw-decomp
nicolvus用 REA 和 Ghidra 拆索尼 A6000 相机固件✅ 是— +ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia再砸一次桌面:Gemtree 2000 年的小玩具登上 macOS 和网页✅ 是项目 README sickpyramid/ReaFuseReaFuse
sickpyramid借助 REA 把两个 JS/TS 项目融合成一个✅ 是仓库卡片 -grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL 声卡的 Linux 内核模块✅ 是仓库卡片 pablodiazjorge/rea-labrea-lab
pablodiazjorgeWindows + Ghidra 练习题和预注册的 REA 评测✅ 是仓库卡片 +grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL 声卡的 Linux 内核模块✅ 是仓库卡片 NullLabTests/OpenBSD_netcat_REAOpenBSD_netcat_REA
NullLabTests用 REA + Ghidra 静态分析 netcat-openbsd✅ 是项目 README iammukeshm/hexgrabhexgrab
iammukeshm迷你 Windows 取色器,从 PowerToys 二进制研究而来✅ 是仓库卡片 cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexus把 Linux 桌面串流到 Quest、Pico 头显✅ 是仓库卡片 zhaofeng130/dsh-readsh-rea
zhaofeng130给 DeepSeek Harness 加上 REA 技能和工具✅ 是仓库卡片 +pablodiazjorge/rea-casebookrea-casebook
pablodiazjorge让 Claude Code 的每条结论都引用真实 REA 证据✅ 是项目 README —soundconnect-desktop
B-Howell在 Windows 桌面上控制索尼蓝牙耳机✅ 是— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die 的雪球大战,用 Rust + SDL2 重做(素材自备)✅ 是项目 README OpenRsG/GunZRsGunZRs
OpenRsGGunZ:The Duel 用 Rust + Bevy 重生✅ 是项目 README sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig只靠配置就把 REA 挂进 DeepSeek Harness✅ 是仓库卡片 -pablodiazjorge/rea-casebookrea-casebook
pablodiazjorge让 Claude Code 的每条结论都引用真实 REA 证据✅ 是项目 README +a-barzanti/ai-rebuildsai-rebuilds
a-barzanti被遗弃的老游戏重回浏览器,不含任何原版文件✅ 是仓库卡片 Nowng/rea-mcprea-mcp
Nowng在 LM Studio 里配合本地模型用 REA✅ 是仓库卡片 ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4在 DeepSeek Harness 中注册 REA 的 MCP 工具✅ 是仓库卡片 -a-barzanti/ai-rebuildsai-rebuilds
a-barzanti被遗弃的老游戏重回浏览器,不含任何原版文件✅ 是仓库卡片 az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713拆解 Wispr Flow 语音管线,附 64 行重写版✅ 是视频封面 KarlssonChristoffer/DiskLensDiskLens
KarlssonChristoffer像 WinDirStat 一样看清 Windows 11 磁盘被什么占满✅ 是仓库卡片 cognixws/picode-reapicode-rea
cognixws在 PiCode 里使用 REA 的静态分析工具✅ 是仓库卡片 @@ -306,6 +306,7 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 +
图片项目简介使用 rea图片来源
—gta-vcs-recomp
gothamor
把原版 PS2 游戏《GTA:罪恶都市传奇》的可执行文件重编译成原生 Windows 和 Linux 程序。需要自己提供光盘镜像。否—
thiagordsfx/urban-reign-recompurban-reign-recomp
thiagordsfx
把 PS2 格斗游戏《都市统治》通过静态重编译做成原生 PC 移植版,支持 60 帧、高分辨率和 HD 贴图。否仓库卡片
@@ -350,6 +351,7 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 N0zoM1z0/th10th10
N0zoM1z0东方风神录,重建为源码❔ 待验证项目 README N0zoM1z0/th09th09
N0zoM1z0东方花映冢,重建为源码❔ 待验证项目 README N0zoM1z0/touhou-reverse-engineeringtouhou-reverse-engineering
N0zoM1z0以证据为先的东方 IDA 笔记,附运行时补丁实验否仓库卡片 +—mhfz-decomp
yamahuser针对《怪物猎人边境Z》在线客户端的逆向工程:整理函数名、规格和辅助工具。不包含卡普空的原始代码。否— #### 重制 / 移植 @@ -364,6 +366,7 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 scummvm/scummvmscummvm
scummvm在几乎任何设备上玩经典点击冒险游戏否项目 README OpenXcom/OpenXcomOpenXcom
OpenXcom在现代开源引擎上玩初代 UFO / X-COM否仓库卡片 perfect-dark-pc-port/perfect_darkperfect_dark
perfect-dark-pc-port在 PC 上原生运行完美黑暗(ROM 自备)否维基百科(© 版权方) +valentderah/totk-pc-recomptotk-pc-recomp
valentderah把任天堂 Switch 上的《塞尔达传说:王国之泪》静态重编译成原生 Windows 程序,不用模拟器就能玩。需要自己提供游戏文件。否仓库卡片 julianxhokaxhiu/FFNxFFNx
julianxhokaxhiuPC 版 FF7/FF8 的现代驱动与 Mod 平台否项目 README —smm2recomp
smm2recomp用静态重编译把闭源的 Switch《超级马里奥制造2》做成能在电脑、Mac、Linux 等平台原生运行的程序;需要你自己提供游戏转储。否— fallout2-ce/fallout2-cefallout2-ce
fallout2-ce在现代系统上玩辐射 2(读取你自己的游戏数据)否项目 README @@ -373,6 +376,7 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 AsyncFinn/rookrook
AsyncFinnRust 写的 Roblox 兼容引擎,对照 Studio 测试否仓库卡片 ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia再砸一次桌面:Gemtree 2000 年的小玩具登上 macOS 和网页✅ 是项目 README tallowmere/free-heroes4free-heroes4
tallowmere英雄无敌 IV 的 C++23 新引擎(读取你的 GOG 文件)否维基百科(© 版权方) +—outrunners-port
cheviman基于逐字节匹配的 C 反编译,把 1992 年世嘉街机游戏《OutRunners》移植成原生 PC 和主机版本。需要自己提供 ROM。否— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die 的雪球大战,用 Rust + SDL2 重做(素材自备)✅ 是项目 README OpenRsG/GunZRsGunZRs
OpenRsGGunZ:The Duel 用 Rust + Bevy 重生✅ 是项目 README a-barzanti/ai-rebuildsai-rebuilds
a-barzanti被遗弃的老游戏重回浏览器,不含任何原版文件✅ 是仓库卡片 @@ -421,9 +425,9 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 —open-scrantic
glauberlima用 REA 逆向并重写的 1992 年 Johnny Castaway 屏保(Rust)✅ 是— LilZeeCN/zee-rpzee-rp
LilZeeCN用命令行或 MCP 读写 Axure RP 原型文件❔ 待验证项目 README sickpyramid/ReaFuseReaFuse
sickpyramid借助 REA 把两个 JS/TS 项目融合成一个✅ 是仓库卡片 +laaielichter/ReverseportReverseport
laaielichter把逆向成果移植到 Godot、Unity、Unreal 或 three.js❔ 待验证项目 README iammukeshm/hexgrabhexgrab
iammukeshm迷你 Windows 取色器,从 PowerToys 二进制研究而来✅ 是仓库卡片 cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexus把 Linux 桌面串流到 Quest、Pico 头显✅ 是仓库卡片 -laaielichter/ReverseportReverseport
laaielichter把逆向成果移植到 Godot、Unity、Unreal 或 three.js❔ 待验证项目 README monatis/okurokur
monatis从零重写的开源屏幕阅读器,行为像 JAWS,通过观察 JAWS 的语音输出来实现。否仓库卡片 az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713拆解 Wispr Flow 语音管线,附 64 行重写版✅ 是视频封面 KarlssonChristoffer/DiskLensDiskLens
KarlssonChristoffer像 WinDirStat 一样看清 Windows 11 磁盘被什么占满✅ 是仓库卡片 @@ -517,12 +521,12 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 czcdr/dsh-plugin-readsh-plugin-rea
czcdr在 DeepSeek Harness 里用 REA,自动装好 Ghidra✅ 是项目 README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomil通过 MCP 让 AI 智能体使用免费版 IDA✅ 是仓库卡片 dav1dngy/era-agentera-agent
dav1dngy以证据驱动、会尝试自我改进的逆向智能体❔ 待验证项目 README -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 镜像,含 Ghidra/Hopper/IDA 版本✅ 是仓库卡片 —game-frame
tanepiper让 AI agent 从发行文件逆向游戏的框架✅ 是— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 镜像,含 Ghidra/Hopper/IDA 版本✅ 是仓库卡片 DatanoiseTV/revenantrevenant
DatanoiseTV用大模型自动逆向被厂商抛弃的固件和二进制程序,生成引脚图、设备树或开源重实现。否仓库卡片 zhaofeng130/dsh-readsh-rea
zhaofeng130给 DeepSeek Harness 加上 REA 技能和工具✅ 是仓库卡片 -sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig只靠配置就把 REA 挂进 DeepSeek Harness✅ 是仓库卡片 pablodiazjorge/rea-casebookrea-casebook
pablodiazjorge让 Claude Code 的每条结论都引用真实 REA 证据✅ 是项目 README +sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig只靠配置就把 REA 挂进 DeepSeek Harness✅ 是仓库卡片 Nowng/rea-mcprea-mcp
Nowng在 LM Studio 里配合本地模型用 REA✅ 是仓库卡片 ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4在 DeepSeek Harness 中注册 REA 的 MCP 工具✅ 是仓库卡片 Sage-is/CleanRoomCleanRoom
Sage-is用 Python 从零重写的本地 REA(逆向任何东西)MCP 服务器和命令行工具。否仓库卡片 @@ -532,6 +536,7 @@ _可选过滤:以下有公开证据表明使用了 REA。地图里大部分项 orikami048/geagea
orikami048游戏逆向、资源提取与 Cocos/Three.js 重现的 MCP 与 CLI;受 morluto/rea 启发。否仓库卡片 —dsh-rev-eng
Stijnus将 REA 技能与可选 MCP 打包为 DSH 插件,用于逆向工程与 Mac 应用构建。✅ 是— —dsh-command-rea
CurLeafDSH /rea 斜杠命令,将逆向分析请求路由到 REA 技能与 MCP 工具。✅ 是— +—decomp-tools
LostArtefacts帮助对 Windows 版《古墓丽影2》到《古墓丽影5》做逐字节匹配反编译的工具,使用 Wine 下的原版 MSVC 5/6 编译器。否— ## REA 官方 Showcase diff --git a/README.zh-TW.md b/README.zh-TW.md index 6d1f036..d02a836 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -49,34 +49,34 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 —rea-capcut
Xiangyu-CAS用 REA 研究剪映後重做的開源離線剪輯軟體✅ 是— N0zoM1z0/dx-balldx-ball
N0zoM1z0用 C/C++ 重建 DX-Ball 1.07,並對照原版 x86 測試✅ 是專案 README michaelshimeles/sketchsketch
michaelshimeles以 Rust 寫成的無限設計畫布,研究 Paper 後重建✅ 是專案 README -Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiy戰地風雲 2 引擎的 C++20 淨室重寫(讀取你自己的遊戲檔案)✅ 是專案 README —decomp.anything
giveen停更的匹配式反編譯器 decomp.wtf 的活躍分支;增加了 Windows/Linux 二進位支援,並接入 REA,讓 AI 也能逆向非遊戲程式。✅ 是— +Moxnatiy/OpenBattlefield2OpenBattlefield2
Moxnatiy戰地風雲 2 引擎的 C++20 淨室重寫(讀取你自己的遊戲檔案)✅ 是專案 README czcdr/dsh-plugin-readsh-plugin-rea
czcdr在 DeepSeek Harness 裡使用 REA,自動裝好 Ghidra✅ 是專案 README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomil透過 MCP 讓 AI 代理使用免費版 IDA✅ 是儲存庫卡片 lxistired/ledger-rebornledger-reborn
lxistired本機優先的記帳 App,參考 QuickBooks Mac 版✅ 是專案 README —open-scrantic
glauberlima用 REA 逆向並重寫的 1992 年 Johnny Castaway 螢幕保護程式(Rust)✅ 是— N0zoM1z0/th04th04
N0zoM1z0東方幻想鄉(PC-98)的可讀原始碼,並以原版編譯器驗證✅ 是專案 README —sims3-modernization
rodneypantonial讓模擬市民 3 在新電腦上少卡頓、少當機✅ 是— -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 映像檔,含 Ghidra/Hopper/IDA 版本✅ 是儲存庫卡片 —game-frame
tanepiper讓 AI agent 從發行檔案逆向遊戲的框架✅ 是— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 映像檔,含 Ghidra/Hopper/IDA 版本✅ 是儲存庫卡片 —MiTV-Remote
EndLess728在 Mac、Android、iPhone 上用 Wi-Fi 遙控小米電視✅ 是— -ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia再砸一次桌面:Gemtree 2000 年的小玩具登上 macOS 和網頁✅ 是專案 README —a6000-fw-decomp
nicolvus用 REA 和 Ghidra 拆 Sony A6000 相機韌體✅ 是— +ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia再砸一次桌面:Gemtree 2000 年的小玩具登上 macOS 和網頁✅ 是專案 README sickpyramid/ReaFuseReaFuse
sickpyramid藉助 REA 把兩個 JS/TS 專案合併成一個✅ 是儲存庫卡片 -grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL 音效卡的 Linux 核心模組✅ 是儲存庫卡片 pablodiazjorge/rea-labrea-lab
pablodiazjorgeWindows + Ghidra 練習題與預先登記的 REA 評測✅ 是儲存庫卡片 +grisuno/VSL-DSPVSL-DSP
grisunoPreSonus AudioBox VSL 音效卡的 Linux 核心模組✅ 是儲存庫卡片 NullLabTests/OpenBSD_netcat_REAOpenBSD_netcat_REA
NullLabTests以 REA + Ghidra 靜態分析 netcat-openbsd✅ 是專案 README iammukeshm/hexgrabhexgrab
iammukeshm迷你 Windows 取色工具,從 PowerToys 二進位檔研究而來✅ 是儲存庫卡片 cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexus把 Linux 桌面串流到 Quest、Pico 頭戴裝置✅ 是儲存庫卡片 zhaofeng130/dsh-readsh-rea
zhaofeng130給 DeepSeek Harness 加上 REA 技能和工具✅ 是儲存庫卡片 +pablodiazjorge/rea-casebookrea-casebook
pablodiazjorge讓 Claude Code 的每項結論都引用真實的 REA 證據✅ 是專案 README —soundconnect-desktop
B-Howell在 Windows 桌面上控制 Sony 藍牙耳機✅ 是— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die 的雪球大戰,以 Rust + SDL2 重製(素材需自備)✅ 是專案 README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel 以 Rust + Bevy 重生✅ 是專案 README sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig只靠設定就把 REA 接進 DeepSeek Harness✅ 是儲存庫卡片 -pablodiazjorge/rea-casebookrea-casebook
pablodiazjorge讓 Claude Code 的每項結論都引用真實的 REA 證據✅ 是專案 README +a-barzanti/ai-rebuildsai-rebuilds
a-barzanti被遺棄的老遊戲重回瀏覽器,不含任何原版檔案✅ 是儲存庫卡片 Nowng/rea-mcprea-mcp
Nowng在 LM Studio 裡搭配本機模型使用 REA✅ 是儲存庫卡片 ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4在 DeepSeek Harness 中註冊 REA 的 MCP 工具✅ 是儲存庫卡片 -a-barzanti/ai-rebuildsai-rebuilds
a-barzanti被遺棄的老遊戲重回瀏覽器,不含任何原版檔案✅ 是儲存庫卡片 az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713拆解 Wispr Flow 的語音管線,附 64 行重寫版✅ 是影片封面 KarlssonChristoffer/DiskLensDiskLens
KarlssonChristoffer像 WinDirStat 一樣看清 Windows 11 磁碟被什麼佔滿✅ 是儲存庫卡片 cognixws/picode-reapicode-rea
cognixws在 PiCode 裡使用 REA 的靜態分析工具✅ 是儲存庫卡片 @@ -306,6 +306,7 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 +
圖片專案簡介使用 rea圖片來源
—gta-vcs-recomp
gothamor
把原版 PS2 遊戲《GTA:罪惡都市傳奇》的可執行檔重編譯成原生 Windows 和 Linux 程式。需要自己提供光碟映像。否—
thiagordsfx/urban-reign-recompurban-reign-recomp
thiagordsfx
把 PS2 格鬥遊戲《都市統治》透過靜態重編譯做成原生 PC 移植版,支援 60 幀、高解析度和 HD 貼圖。否儲存庫卡片
@@ -350,6 +351,7 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 N0zoM1z0/th10th10
N0zoM1z0東方風神錄,重建成原始碼❔ 待驗證專案 README N0zoM1z0/th09th09
N0zoM1z0東方花映塚,重建成原始碼❔ 待驗證專案 README N0zoM1z0/touhou-reverse-engineeringtouhou-reverse-engineering
N0zoM1z0證據優先的東方 IDA 筆記,附執行期修補實驗否儲存庫卡片 +—mhfz-decomp
yamahuser針對《魔物獵人前線Z》線上客戶端的逆向工程:整理函式名稱、規格和輔助工具。不包含卡普空的原始程式碼。否— #### 重製 / 移植 @@ -364,6 +366,7 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 scummvm/scummvmscummvm
scummvm在幾乎任何裝置上玩經典點擊式冒險遊戲否專案 README OpenXcom/OpenXcomOpenXcom
OpenXcom在現代開源引擎上玩初代 UFO / X-COM否儲存庫卡片 perfect-dark-pc-port/perfect_darkperfect_dark
perfect-dark-pc-port在 PC 上原生執行 Perfect Dark(ROM 需自備)否維基百科(© 版權方) +valentderah/totk-pc-recomptotk-pc-recomp
valentderah把任天堂 Switch 上的《薩爾達傳說:王國之淚》靜態重編譯成原生 Windows 程式,不用模擬器就能玩。需要自己提供遊戲檔案。否儲存庫卡片 julianxhokaxhiu/FFNxFFNx
julianxhokaxhiuPC 版 FF7/FF8 的現代驅動程式與 Mod 平台否專案 README —smm2recomp
smm2recomp用靜態重編譯把閉源的 Switch《超級瑪利歐製造2》做成能在電腦、Mac、Linux 等平台原生執行的程式;需要你自己提供遊戲轉儲。否— fallout2-ce/fallout2-cefallout2-ce
fallout2-ce在現代系統上玩異塵餘生 2(讀取你自己的遊戲資料)否專案 README @@ -373,6 +376,7 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 AsyncFinn/rookrook
AsyncFinn以 Rust 寫成的 Roblox 相容引擎,對照 Studio 測試否儲存庫卡片 ucodia/desktop-games-nostalgiadesktop-games-nostalgia
ucodia再砸一次桌面:Gemtree 2000 年的小玩具登上 macOS 和網頁✅ 是專案 README tallowmere/free-heroes4free-heroes4
tallowmere魔法門之英雄無敵 IV 的 C++23 新引擎(讀取你的 GOG 檔案)否維基百科(© 版權方) +—outrunners-port
cheviman基於逐位元組匹配的 C 反編譯,把 1992 年世嘉街機遊戲《OutRunners》移植成原生 PC 和主機版本。需要自己提供 ROM。否— tuunanet/rea-ski-or-die-reconstructionrea-ski-or-die-reconstruction
tuunanetSki or Die 的雪球大戰,以 Rust + SDL2 重製(素材需自備)✅ 是專案 README OpenRsG/GunZRsGunZRs
OpenRsGGunZ: The Duel 以 Rust + Bevy 重生✅ 是專案 README a-barzanti/ai-rebuildsai-rebuilds
a-barzanti被遺棄的老遊戲重回瀏覽器,不含任何原版檔案✅ 是儲存庫卡片 @@ -421,9 +425,9 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 —open-scrantic
glauberlima用 REA 逆向並重寫的 1992 年 Johnny Castaway 螢幕保護程式(Rust)✅ 是— LilZeeCN/zee-rpzee-rp
LilZeeCN以命令列或 MCP 讀寫 Axure RP 原型檔❔ 待驗證專案 README sickpyramid/ReaFuseReaFuse
sickpyramid藉助 REA 把兩個 JS/TS 專案合併成一個✅ 是儲存庫卡片 +laaielichter/ReverseportReverseport
laaielichter把逆向成果移植到 Godot、Unity、Unreal 或 three.js❔ 待驗證專案 README iammukeshm/hexgrabhexgrab
iammukeshm迷你 Windows 取色工具,從 PowerToys 二進位檔研究而來✅ 是儲存庫卡片 cudanexus/vd-streamer-linuxvd-streamer-linux
cudanexus把 Linux 桌面串流到 Quest、Pico 頭戴裝置✅ 是儲存庫卡片 -laaielichter/ReverseportReverseport
laaielichter把逆向成果移植到 Godot、Unity、Unreal 或 three.js❔ 待驗證專案 README monatis/okurokur
monatis從零重寫的開源螢幕閱讀器,行為像 JAWS,透過觀察 JAWS 的語音輸出來實現。否儲存庫卡片 az9713/wispr-flow-rea-teardownwispr-flow-rea-teardown
az9713拆解 Wispr Flow 的語音管線,附 64 行重寫版✅ 是影片封面 KarlssonChristoffer/DiskLensDiskLens
KarlssonChristoffer像 WinDirStat 一樣看清 Windows 11 磁碟被什麼佔滿✅ 是儲存庫卡片 @@ -517,12 +521,12 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 czcdr/dsh-plugin-readsh-plugin-rea
czcdr在 DeepSeek Harness 裡使用 REA,自動裝好 Ghidra✅ 是專案 README 0xshlomil/ida-free-mcpida-free-mcp
0xshlomil透過 MCP 讓 AI 代理使用免費版 IDA✅ 是儲存庫卡片 dav1dngy/era-agentera-agent
dav1dngy證據驅動、會嘗試自我改進的逆向工程 AI 代理❔ 待驗證專案 README -alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 映像檔,含 Ghidra/Hopper/IDA 版本✅ 是儲存庫卡片 —game-frame
tanepiper讓 AI agent 從發行檔案逆向遊戲的框架✅ 是— +alexmi256/rea-agent-dockerrea-agent-docker
alexmi256REA 的 Docker 映像檔,含 Ghidra/Hopper/IDA 版本✅ 是儲存庫卡片 DatanoiseTV/revenantrevenant
DatanoiseTV用大模型自動逆向被廠商拋棄的韌體和二進位程式,生成腳位圖、設備樹或開源重實現。否儲存庫卡片 zhaofeng130/dsh-readsh-rea
zhaofeng130給 DeepSeek Harness 加上 REA 技能和工具✅ 是儲存庫卡片 -sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig只靠設定就把 REA 接進 DeepSeek Harness✅ 是儲存庫卡片 pablodiazjorge/rea-casebookrea-casebook
pablodiazjorge讓 Claude Code 的每項結論都引用真實的 REA 證據✅ 是專案 README +sheilacraig/dsh-rea-mcpdsh-rea-mcp
sheilacraig只靠設定就把 REA 接進 DeepSeek Harness✅ 是儲存庫卡片 Nowng/rea-mcprea-mcp
Nowng在 LM Studio 裡搭配本機模型使用 REA✅ 是儲存庫卡片 ya123-4/rea-dsh-pluginrea-dsh-plugin
ya123-4在 DeepSeek Harness 中註冊 REA 的 MCP 工具✅ 是儲存庫卡片 Sage-is/CleanRoomCleanRoom
Sage-is用 Python 從零重寫的本地 REA(逆向任何東西)MCP 伺服器和命令列工具。否儲存庫卡片 @@ -532,6 +536,7 @@ _可選過濾:以下有公開證據表明使用了 REA。地圖裡大部分專 orikami048/geagea
orikami048遊戲逆向、資源提取與 Cocos/Three.js 重現的 MCP 與 CLI;受 morluto/rea 啟發。否儲存庫卡片 —dsh-rev-eng
Stijnus將 REA 技能與可選 MCP 打包為 DSH 插件,用於逆向工程與 Mac 應用建構。✅ 是— —dsh-command-rea
CurLeafDSH /rea 斜線命令,將逆向分析請求路由到 REA 技能與 MCP 工具。✅ 是— +—decomp-tools
LostArtefacts幫助對 Windows 版《古墓奇兵2》到《古墓奇兵5》做逐位元組匹配反編譯的工具,使用 Wine 下的原版 MSVC 5/6 編譯器。否— ## REA 官方 Showcase diff --git a/data.json b/data.json index 71f10e3..29f15b6 100644 --- a/data.json +++ b/data.json @@ -1750,5 +1750,45 @@ "https://github.com/Sage-is/CleanRoom", "No", "Local Python reimplementation of REA: a DRY MCP server and CLI with pageable Evidence." + ], + [ + "pc", + "remake", + "valentderah/totk-pc-recomp", + "https://github.com/valentderah/totk-pc-recomp", + "No", + "Static recompilation of The Legend of Zelda: Tears of the Kingdom (Switch) to native Windows x86-64 with Vulkan. Bring your own dump." + ], + [ + "ps2", + "remake", + "gothamor/gta-vcs-recomp", + "https://github.com/gothamor/gta-vcs-recomp", + "No", + "Native Windows/Linux port of Grand Theft Auto: Vice City Stories (PS2) via static recompilation of the executable. Bring your own disc." + ], + [ + "pc", + "decomp", + "yamahuser/mhfz-decomp", + "https://github.com/yamahuser/mhfz-decomp", + "No", + "Monster Hunter Frontier Z client reverse-engineering: function names, specs and tools. No Capcom code." + ], + [ + "pc", + "remake", + "cheviman/outrunners-port", + "https://github.com/cheviman/outrunners-port", + "No", + "Native port of OutRunners (Sega arcade 1992) for PC and consoles, built on the matching C decompilation. Bring your own ROM." + ], + [ + "tooling", + "", + "LostArtefacts/decomp-tools", + "https://github.com/LostArtefacts/decomp-tools", + "No", + "Tooling for matching decompilations of the Windows Tomb Raider games (TR2–TR5) using MSVC 5/6 under Wine." ] -] \ No newline at end of file +] diff --git a/descriptions.json b/descriptions.json index 378b8f7..58c05cc 100644 --- a/descriptions.json +++ b/descriptions.json @@ -1531,5 +1531,40 @@ "zh-TW": "用 Python 從零重寫的本地 REA(逆向任何東西)MCP 伺服器和命令列工具。", "ja": "REA のローカル版を Python でシンプルに再実装した MCP サーバーと CLI。", "ko": "REA의 로컬 버전을 Python으로 단순하게 재구현한 MCP 서버와 CLI." + }, + "valentderah/totk-pc-recomp": { + "en": "Turns the Nintendo Switch version of The Legend of Zelda: Tears of the Kingdom into a native Windows program you can run without an emulator. You supply your own game files.", + "zh-CN": "把任天堂 Switch 上的《塞尔达传说:王国之泪》静态重编译成原生 Windows 程序,不用模拟器就能玩。需要自己提供游戏文件。", + "zh-TW": "把任天堂 Switch 上的《薩爾達傳說:王國之淚》靜態重編譯成原生 Windows 程式,不用模擬器就能玩。需要自己提供遊戲檔案。", + "ja": "Nintendo Switch 版『ゼルダの伝説 ティアーズ オブ ザ キングダム』を、エミュレータなしで動くネイティブ Windows プログラムに静的再コンパイルします。ゲームファイルは自分で用意。", + "ko": "닌텐도 스위치 버전의 젤다의 전설: 티어즈 오브 더 킹덤을 에뮬레이터 없이 실행되는 네이티브 Windows 프로그램으로 정적 재컴파일합니다. 게임 파일은 직접 준비해야 합니다." + }, + "gothamor/gta-vcs-recomp": { + "en": "Makes a native Windows and Linux version of Grand Theft Auto: Vice City Stories (original PS2 game) by recompiling its executable. Bring your own disc image.", + "zh-CN": "把原版 PS2 游戏《GTA:罪恶都市传奇》的可执行文件重编译成原生 Windows 和 Linux 程序。需要自己提供光盘镜像。", + "zh-TW": "把原版 PS2 遊戲《GTA:罪惡都市傳奇》的可執行檔重編譯成原生 Windows 和 Linux 程式。需要自己提供光碟映像。", + "ja": "元の PS2 ゲーム『グランド・セフト・オート:バイスシティ・ストーリーズ』の実行ファイルを再コンパイルして、ネイティブの Windows / Linux 版を作ります。ディスクイメージは自分で用意。", + "ko": "원본 PS2 게임 그랜드 테프트 오토: 바이스 시티 스토리즈의 실행 파일을 재컴파일하여 네이티브 Windows 및 Linux 버전을 만듭니다. 디스크 이미지는 직접 준비하세요." + }, + "yamahuser/mhfz-decomp": { + "en": "Reverse-engineering work on the Monster Hunter Frontier Z online client: function names, specifications and helper tools. Does not include Capcom's original code.", + "zh-CN": "针对《怪物猎人边境Z》在线客户端的逆向工程:整理函数名、规格和辅助工具。不包含卡普空的原始代码。", + "zh-TW": "針對《魔物獵人前線Z》線上客戶端的逆向工程:整理函式名稱、規格和輔助工具。不包含卡普空的原始程式碼。", + "ja": "『モンスターハンター フロンティアZ』オンラインクライアントのリバースエンジニアリング:関数名、仕様、補助ツール。カプコンのオリジナルコードは含みません。", + "ko": "몬스터 헌터 프론티어 Z 온라인 클라이언트의 리버스 엔지니어링: 함수 이름, 사양 및 보조 도구. 캡콤 원본 코드는 포함되지 않습니다." + }, + "cheviman/outrunners-port": { + "en": "A native port of the 1992 Sega arcade game OutRunners for PC and consoles, built from a matching C decompilation. You need your own ROM.", + "zh-CN": "基于逐字节匹配的 C 反编译,把 1992 年世嘉街机游戏《OutRunners》移植成原生 PC 和主机版本。需要自己提供 ROM。", + "zh-TW": "基於逐位元組匹配的 C 反編譯,把 1992 年世嘉街機遊戲《OutRunners》移植成原生 PC 和主機版本。需要自己提供 ROM。", + "ja": "1992年セガアーケードゲーム『OutRunners』を、一致する C デコンパイルを基に PC とコンソール向けネイティブ移植。ROM は自分で用意。", + "ko": "1992년 세가 아케이드 게임 OutRunners를 일치하는 C 디컴파일을 기반으로 PC와 콘솔용 네이티브 포트로 만듭니다. ROM은 직접 준비하세요." + }, + "LostArtefacts/decomp-tools": { + "en": "Tools that help people create matching decompilations of the Windows versions of Tomb Raider 2 through 5, using the original MSVC 5 and 6 compilers under Wine.", + "zh-CN": "帮助对 Windows 版《古墓丽影2》到《古墓丽影5》做逐字节匹配反编译的工具,使用 Wine 下的原版 MSVC 5/6 编译器。", + "zh-TW": "幫助對 Windows 版《古墓奇兵2》到《古墓奇兵5》做逐位元組匹配反編譯的工具,使用 Wine 下的原版 MSVC 5/6 編譯器。", + "ja": "Windows 版トゥームレイダー2~5の一致するデコンパイルを支援するツール。Wine 上でオリジナルの MSVC 5/6 コンパイラを使用。", + "ko": "Windows 버전 툼 레이더 2~5의 일치하는 디컴파일을 돕는 도구. Wine에서 원본 MSVC 5/6 컴파일러를 사용합니다." } -} \ No newline at end of file +} diff --git a/images.json b/images.json index a3c0274..a0dc0e3 100644 --- a/images.json +++ b/images.json @@ -768,5 +768,10 @@ "card", "images/cleanroom-card.png", "GitHub social preview card for CleanRoom" + ], + "valentderah/totk-pc-recomp": [ + "card", + "images/totk-pc-recomp-card.png", + "GitHub social preview card for the totk-pc-recomp repository" ] -} \ No newline at end of file +} diff --git a/images/totk-pc-recomp-card.png b/images/totk-pc-recomp-card.png new file mode 100644 index 0000000000000000000000000000000000000000..d68e4028a0d7d0d2d0295828992cd7990b48bf91 GIT binary patch literal 119050 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%0Am4vSz`@W2(;0 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
    3x;gj z5!I*ueF3@I*|+OfEHe3N8p4l)(2PHsBb&Kr7Hc<2UNAS=*o1KXx}|Ca2JXM(pThQ6NNJ6wlQ7Ed@wP4ghgZPD4U;c70If z#$mktb2TH2yjr4SsM}ppRD~2Z_zkFYIZc&)5WQ z59yxZVh&P>nuP1!;)xvZ;6;6}2S}O+td`byrTM)(Z+d!qct3S?nCu*My=a-aZy>H&+=FuR_`1gLLbhMZ%i#Zz z;sFMOynpO~VQp#viw-<~0r~JNm)(D{OSn`0Htzr6zHtAajPm(E{;L1Q{;L0i*#EC@ zGpc{S+U!4|b(rMw?mNJZm*nQs2VMspS3WR7{_n9+|39<`-g$!i4ue^&k$nMwApUK= b5#Y)lKBA~DeB%52DToS636y-(_WHj7HYlja literal 0 HcmV?d00001 diff --git a/stars.json b/stars.json index 44ecb28..29454cf 100644 --- a/stars.json +++ b/stars.json @@ -1,30 +1,30 @@ { "0xshlomil/ida-free-mcp": 49, - "2ship2harkinian/2ship2harkinian": 2400, - "3DSGuy/Project_CTR": 588, + "2ship2harkinian/2ship2harkinian": 2403, + "3DSGuy/Project_CTR": 589, "AdamLinCodes/AdamTerm": 0, - "AssetRipper/AssetRipper": 8782, + "AssetRipper/AssetRipper": 8786, "AsyncFinn/rook": 10, "B-Howell/soundconnect-desktop": 4, - "Caho1/open-claude-ui": 1599, + "Caho1/open-claude-ui": 1602, "CurLeaf/dsh-command-rea": 0, "DarkRTA/rb3": 127, "DatanoiseTV/revenant": 10, "DinosaurPlanetRecomp/dino-recomp": 333, "EndLess728/MiTV-Remote": 10, - "GLinnik21/plx-native": 1154, - "HarbourMasters/Shipwright": 5796, + "GLinnik21/plx-native": 1157, + "HarbourMasters/Shipwright": 5801, "HarbourMasters/Starship": 2126, "Hero88go/melee-unlocked": 141, - "HexRaysSA/ida-mcp": 1479, - "Interkarma/daggerfall-unity": 3546, + "HexRaysSA/ida-mcp": 1483, + "Interkarma/daggerfall-unity": 3547, "JusticeRage/Gepetto": 3489, "KarlssonChristoffer/DiskLens": 1, - "LaurieWired/GhidraMCP": 11655, + "LaurieWired/GhidraMCP": 11664, "LilZeeCN/zee-rp": 20, - "MiaAI-Lab/sparkDash": 785, + "MiaAI-Lab/sparkDash": 786, "Moxnatiy/OpenBattlefield2": 60, - "MysteriousAeon/rayman3-hd-recompiled": 58, + "MysteriousAeon/rayman3-hd-recompiled": 59, "N0zoM1z0/dx-ball": 79, "N0zoM1z0/th04": 33, "N0zoM1z0/th08": 53, @@ -35,117 +35,117 @@ "N0zoM1z0/th105": 16, "N0zoM1z0/touhou-reconstruction-factory": 7, "N0zoM1z0/touhou-reverse-engineering": 5, - "N64Recomp/N64Recomp": 8336, + "N64Recomp/N64Recomp": 8338, "NEstelami/ZAPD": 42, "NathanKanaeru/samp-client-re": 0, - "NationalSecurityAgency/ghidra": 96082, + "NationalSecurityAgency/ghidra": 96233, "Nowng/rea-mcp": 2, "NullLabTests/OpenBSD_netcat_REA": 5, - "OpenMW/openmw": 6689, - "OpenRA/OpenRA": 17691, - "OpenRCT2/OpenRCT2": 16519, + "OpenMW/openmw": 6694, + "OpenRA/OpenRA": 17694, + "OpenRCT2/OpenRCT2": 16522, "OpenRsG/GunZRs": 3, - "OpenTTD/OpenTTD": 8441, - "OpenXcom/OpenXcom": 2245, + "OpenTTD/OpenTTD": 8443, + "OpenXcom/OpenXcom": 2246, "Perfare/AssetStudio": 15589, "RSDKModding/RSDKv4-Decompilation": 1158, - "RSDKModding/RSDKv5-Decompilation": 573, - "ReFirmLabs/binwalk": 14569, + "RSDKModding/RSDKv5-Decompilation": 574, + "ReFirmLabs/binwalk": 14574, "Sage-is/CleanRoom": 2, - "ShadowSwaps/REA-Reconstruction-Companion": 119, - "SlickAmogus/silent-hill-decomp": 796, + "ShadowSwaps/REA-Reconstruction-Companion": 122, + "SlickAmogus/silent-hill-decomp": 798, "Slyvan25/OpenGHub": 24, "SourMesen/Mesen2": 2417, "Stijnus/dsh-rev-eng": 0, - "SubmitGame/awesome-decomp-games": 2716, + "SubmitGame/awesome-decomp-games": 2729, "TheRealestNwah/sotc-decomp": 28, "UnknownHacker1/rea-groundtruth": 1, - "WerWolv/ImHex": 55668, - "Xeeynamo/sotn-decomp": 1199, - "Xiangyu-CAS/rea-capcut": 104, + "WerWolv/ImHex": 55671, + "Xeeynamo/sotn-decomp": 1202, + "Xiangyu-CAS/rea-capcut": 106, "Zelda64Recomp/Zelda64Recomp": 7559, - "a-barzanti/ai-rebuilds": 1, + "a-barzanti/ai-rebuilds": 2, "a-funk/open-appleremote": 247, "agioracle/rea-unity-game": 0, - "aicodeking/leanrea": 3717, - "albertan017/LLM4Decompile": 7193, - "aldonunez/zelda1-disassembly": 278, - "alexgaoth/awesome-reverse-engineered": 955, + "aicodeking/leanrea": 3752, + "albertan017/LLM4Decompile": 7194, + "aldonunez/zelda1-disassembly": 279, + "alexgaoth/awesome-reverse-engineered": 961, "alexmi256/rea-agent-docker": 14, - "alphaSeclab/awesome-reverse-engineering": 5172, - "angr/angr": 9268, + "alphaSeclab/awesome-reverse-engineering": 5173, + "angr/angr": 9270, "ata4/disunity": 2699, "attify/firmware-analysis-toolkit": 1621, - "avast/retdec": 8662, + "avast/retdec": 8664, "az9713/REA-demo": 0, "az9713/wispr-flow-rea-teardown": 1, - "bryantmh/rush2recompiled": 64, + "bryantmh/rush2recompiled": 65, "carlhako/keen-clone": 0, "chilliesdev/fmseasonhub-re": 0, "cognixws/picode-rea": 1, - "cranebeaker/coop-anything": 1617, + "cranebeaker/coop-anything": 1657, "cudanexus/vd-streamer-linux": 4, "cyberkaida/reverse-engineering-assistant": 886, - "czcdr/dsh-plugin-rea": 52, - "dav1dngy/era-agent": 20, - "decompme/decomp.me": 644, - "diasurgical/DevilutionX": 9966, - "dnSpyEx/dnSpy": 11368, - "doldecomp/melee": 2445, - "doldecomp/sms": 377, + "czcdr/dsh-plugin-rea": 54, + "dav1dngy/era-agent": 22, + "decompme/decomp.me": 646, + "diasurgical/DevilutionX": 9969, + "dnSpyEx/dnSpy": 11370, + "doldecomp/melee": 2446, + "doldecomp/sms": 378, "electron/asar": 2884, "encounter/decomp-toolkit": 320, - "encounter/objdiff": 613, + "encounter/objdiff": 614, "ethteck/splat": 375, "fallout2-ce/fallout2-ce": 166, "fosdickio/binary_ninja_mcp": 456, - "frida/frida": 22551, + "frida/frida": 22565, "ghidraninja/game-and-watch-backup": 462, "ghidraninja/ghidra_scripts": 1179, - "giveen/decomp.anything": 60, + "giveen/decomp.anything": 64, "glauberlima/open-scrantic": 37, - "google/bindiff": 3224, + "google/bindiff": 3225, "grisuno/VSL-DSP": 6, - "hedge-dev/UnleashedRecomp": 5313, - "hedge-dev/XenonRecomp": 6648, - "iBotPeaches/Apktool": 26837, + "hedge-dev/UnleashedRecomp": 5316, + "hedge-dev/XenonRecomp": 6651, + "iBotPeaches/Apktool": 26846, "iammukeshm/hexgrab": 4, - "icsharpcode/ILSpy": 26879, + "icsharpcode/ILSpy": 26885, "isledecomp/isle": 3497, "jiangzhengwenjz/katam": 161, "jinshi666888/rea-playbook": 1, "julianxhokaxhiu/FFNx": 528, - "laaielichter/Reverseport": 4, + "laaielichter/Reverseport": 5, "ladislav-zezula/CascLib": 503, - "lxistired/ledger-reborn": 41, - "mandiant/capa": 6287, - "mandiant/flare-floss": 4203, - "michaelshimeles/rec-rs": 111, - "michaelshimeles/sketch": 77, - "michaelshimeles/terminal-rs": 315, - "mitmproxy/mitmproxy": 46490, + "lxistired/ledger-reborn": 42, + "mandiant/capa": 6290, + "mandiant/flare-floss": 4206, + "michaelshimeles/rec-rs": 112, + "michaelshimeles/sketch": 78, + "michaelshimeles/terminal-rs": 317, + "mitmproxy/mitmproxy": 46505, "monatis/okur": 4, - "morluto/awesome-reverse-engineering": 1429, - "morluto/rea": 410876, - "mrexodia/ida-pro-mcp": 13213, + "morluto/awesome-reverse-engineering": 1443, + "morluto/rea": 412638, + "mrexodia/ida-pro-mcp": 13228, "n64decomp/mk64": 1317, "n64decomp/perfect_dark": 878, - "n64decomp/sm64": 8935, + "n64decomp/sm64": 8944, "nforest/awesome-decompilation": 678, - "nicolvus/a6000-fw-decomp": 8, + "nicolvus/a6000-fw-decomp": 9, "onekey-sec/unblob": 2602, - "open-goal/jak-project": 3623, + "open-goal/jak-project": 3624, "openage/openage": 0, - "openblack/bw1-decomp": 117, + "openblack/bw1-decomp": 119, "orikami048/gea": 0, - "pablodiazjorge/rea-casebook": 3, - "pablodiazjorge/rea-lab": 6, - "perfect-dark-pc-port/perfect_dark": 2093, + "pablodiazjorge/rea-casebook": 4, + "pablodiazjorge/rea-lab": 7, + "perfect-dark-pc-port/perfect_dark": 2095, "pmret/papermario": 1638, "postlund/pyatv": 1201, "pret/pmd-red": 293, "pret/pokecrystal": 2543, - "pret/pokeemerald": 3653, + "pret/pokeemerald": 3656, "pret/pokefirered": 1694, "pret/pokegold": 733, "pret/pokeheartgold": 748, @@ -154,63 +154,68 @@ "pret/pokeruby": 1009, "pret/pokeyellow": 902, "projectPiki/pikmin2": 391, - "qilingframework/qiling": 6161, + "qilingframework/qiling": 6160, "radareorg/r2ai": 490, - "radareorg/radare2": 25209, - "radareorg/radare2-mcp": 338, - "ran-j/PS2Recomp": 3740, - "rizinorg/cutter": 20117, + "radareorg/radare2": 25215, + "radareorg/radare2-mcp": 340, + "ran-j/PS2Recomp": 3741, + "rizinorg/cutter": 20121, "rizinorg/jsdec": 67, - "rizinorg/rizin": 4076, - "rodneypantonial/sims3-modernization": 20, + "rizinorg/rizin": 4080, + "rodneypantonial/sims3-modernization": 21, "scummvm/scummvm": 2871, - "shdecompilations/silent-hill-decomp": 959, + "shdecompilations/silent-hill-decomp": 961, "sheilacraig/dsh-rea-mcp": 3, "sickpyramid/ReaFuse": 7, - "skylot/jadx": 51386, - "smm2recomp/smm2recomp": 202, + "skylot/jadx": 51394, + "smm2recomp/smm2recomp": 206, "snesrev/sm": 563, "snesrev/smw": 651, - "snesrev/zelda3": 4949, - "sonicretro/s1disasm": 456, + "snesrev/zelda3": 4955, + "sonicretro/s1disasm": 457, "sonicretro/s2disasm": 321, "sonicretro/skdisasm": 266, - "storytold/cadcraft": 7231, - "storytold/deckcraft": 4441, - "storytold/designcraft": 4947, - "storytold/effectcraft": 8191, - "storytold/figcraft": 3884, - "storytold/filmcraft": 16922, - "storytold/gridcraft": 6866, - "storytold/lightcraft": 15086, - "storytold/pdfcraft": 18736, - "storytold/photocraft": 75099, - "storytold/soundcraft": 3919, - "storytold/vectorcraft": 11046, - "storytold/wordcraft": 16704, - "symgraph/GhidrAssist": 772, + "storytold/cadcraft": 7260, + "storytold/deckcraft": 4451, + "storytold/designcraft": 4960, + "storytold/effectcraft": 8220, + "storytold/figcraft": 3915, + "storytold/filmcraft": 16971, + "storytold/gridcraft": 6890, + "storytold/lightcraft": 15117, + "storytold/pdfcraft": 18810, + "storytold/photocraft": 75256, + "storytold/soundcraft": 3928, + "storytold/vectorcraft": 11080, + "storytold/wordcraft": 16755, + "symgraph/GhidrAssist": 773, "tallowmere/free-heroes4": 8, - "tanepiper/game-frame": 14, - "tangosdev/sm64ds-decomp": 233, - "thiagordsfx/urban-reign-recomp": 70, - "tmcleroy/cps2recomp": 127, + "tanepiper/game-frame": 17, + "tangosdev/sm64ds-decomp": 234, + "thiagordsfx/urban-reign-recomp": 71, + "tmcleroy/cps2recomp": 132, "travisgoodspeed/md380tools": 854, "tuunanet/rea-ski-or-die-reconstruction": 3, "ucodia/desktop-games-nostalgia": 8, - "wireshark/wireshark": 10122, - "wtsxdev/reverse-engineering": 10725, - "x64dbg/x64dbg": 50078, - "xemu-project/xemu": 4227, + "wireshark/wireshark": 10123, + "wtsxdev/reverse-engineering": 10728, + "x64dbg/x64dbg": 50083, + "xemu-project/xemu": 4226, "ya123-4/rea-dsh-plugin": 2, - "yaz0r/Azel": 186, + "yaz0r/Azel": 187, "zeldaret/mm": 1766, "zeldaret/oot": 5632, "zeldaret/ph": 118, "zeldaret/ss": 221, "zeldaret/tmc": 931, "zeldaret/tp": 2116, - "zeldaret/tww": 1135, + "zeldaret/tww": 1136, "zhaofeng130/dsh-rea": 4, - "zinja-coder/jadx-ai-mcp": 2960, - "zladx/LADX-Disassembly": 918 -} \ No newline at end of file + "zinja-coder/jadx-ai-mcp": 2961, + "zladx/LADX-Disassembly": 918, + "valentderah/totk-pc-recomp": 1691, + "gothamor/gta-vcs-recomp": 147, + "yamahuser/mhfz-decomp": 2, + "cheviman/outrunners-port": 4, + "LostArtefacts/decomp-tools": 0 +}