나는 Claude Code를 사용하여 13년 된 게임 바이너리를 리버스 엔지니어링했습니다.

hackernews | | 🔬 연구
#ai 개발 #claude #claude code #disney infinity #review #게임 분석 #리버스 엔지니어링
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

한 개발자가 앤트로픽의 자동화 코딩 도구인 '클로드 코드(Claude Code)'를 활용하여 13년 된 게임의 바이너리를 리버스 엔지니어링한 과정을 공개했습니다. 해당 도구는 디컴파일된 C++ 코드를 분석하여 맵 에디터의 구조를 파악하고, 파이썬 스크립트를 생성해 데이터 추출 작업을 자동화하는 데 핵심적인 역할을 했습니다. 이번 실험은 최신 생성형 AI가 보수적인 라이선스를 가진 레거시 소프트웨어의 소스 코드를 복원하고 구조를 이해하는 데 효과적으로 활용될 수 있음을 보여줍니다.

본문

I want to share something I built with Claude Code this past week because I think it shows what AI-assisted development can actually do when pointed at a genuinely hard problem. Disney Infinity 1.0 (2013) is a game where you place physical figures on a base to play as characters. Each character is locked to their “home” playset. Mr. Incredible can only play in the Incredibles world, etc. The modding community has wanted to break this restriction for over a decade. Nobody could. Why it was so hard: The restriction isn’t a single flag or config file. One function (FindPlaysetForCharacter) gets called at 13 different points across 6 areas of the game’s C++ code. Patching one check doesn’t help since the other 12 still block you. Data-file-only mods fail because the native code validates before it even reads the data. DLL injection crashed the game due to thread-unsafe Lua state access. People tried renaming character files into other character folders but the game just crashed. What Claude Code did: I pointed Claude Code (Opus, high reasoning) at the game’s binary. No symbols, no source code, no existing RE documentation. Claude helped me trace the call graph from FindPlaysetForCharacter through the entire codebase, identify all 13 validation call sites, map which code area each belonged to, and determine the exact bytes to patch. It understood x86 assembly, recognized the conditional jump patterns after each call, and helped me work through multiple failed approaches before arriving at the solution that worked. The entire thing took under 24 hours. The result is 17 binary patches plus 3 modified data files, any character works in any playset. Free, open source, installs in 2 minutes. I posted this to r/DisneyInfinity a few hours ago and the reaction has been unreal. It’s currently the top post on the entire subreddit with 90+ upvotes, 45+ comments, and over 3,000 views. The most well-known modder in the Disney Infinity community who had his own unreleased approach to this problem commented “Better than my method… AWESOME JOB!!!” and gave me his Discord to collaborate. Someone DMed me saying this is a dream come true. Another user is literally buying the game because of this mod. People are calling it “the best event of the year” and “I have waited so long for someone to do this, you’re a legend.” Someone got it working on a Steam Deck and is drifting around Monsters University as Lightning McQueen right now. Users are actively beta testing and reporting bugs in the thread, and multiple people are already asking me to port it to Disney Infinity 2.0 and 3.0 since they run on the same engine. This was so far from the typical “I used AI to write a to-do app.” This was Claude Code doing real binary reverse engineering on a commercial game engine with zero documentation, solving a problem that an entire community couldn’t crack for over a decade, in under 24 hours. And people are playing it right now. I truly still can’t believe it. Want to add to the discussion? Post a comment!

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →