소스를 잃어버린 MFC 프로그램을 REA 소식을 보며 다시 떠올렸습니다
예전에 MFC로 만든 프로그램이 하나 있습니다. 실행 파일은 지금도 어딘가 뒤지면 나옵니다. 더블클릭하면 아마 뜰 겁니다. 소스는 없습니다. 언제 어떻게 사라졌는지도 이제는 정확히 모르겠고, 그냥 어느 순간부터 없었습니다. 그래서 그 프로그램은 고칠 수가 없는 상태로 몇 년째 그대로 있습니다. 쓰려면 쓸 수는 있는데, 손을 댈 수는 없는 물건이요. 이번 주에 REA라는 오픈소스가 계속 눈에 띄었습니다. 이름이 Reverse Engineer Anything입니다. GitHub 저장소 를 열어 보니 스타가 34만 개를 넘어 있었습니다. 이 정도면 화제라는 말로도 좀 부족한 것 같습니다. 하는 일을 한 줄로 줄이면, AI 에이전트가 리버스엔지니어링 도구를 직접 다루게 해 주는 MCP 서버입니다. Hopper, Ghidra, IDA 같은 디스어셈블러와 안드로이드용 JADX를 에이전트가 직접 부르고, 네이티브 바이너리든 Electron 앱이든 .NET 어셈블리든 웹사이트든 소스 없이 들여다봅니다. README가 내세우는 문장은 대략 이런 겁니다. 마음에 드는 기능을 보면 그걸 바이너리 수준까지 이해하고 내 프로젝트용으로 다시 만든다. 이 문장을 읽고 처음 든 생각은 솔직히 남의 앱이 아니라 제 MFC 프로그램이었습니다. 소스를 잃어버린 프로그램은 생각보다 많을 것 같습니다 저만 그런 게 아닐 거라고 봅니다. 개발을 좀 오래 한 사람이면 하나쯤은 갖고 있지 않을까요. 학생 때 과제로 만든 것, 첫 회사에서 혼자 만든 사내 도구, 친구 부탁으로 만들어 준 프로그램. 하드디스크를 바꾸면서, 백업을 안 해서, 혹은 그때는 버전 관리라는 걸 제대로 안 써서 소스만 사라지고 실행 파일만 남은 것들이요. CD에 구워 뒀는데 그 CD가 어디 갔는지 모르는 경우도 있을 거고, 회사 메일에 첨부해 둔 채 퇴사해서 다시는 못 여는 경우도 있을 겁니다. 실행 파일은 이메일로 여기저기 보내 두니까 오히려 살아남는데, 소스는 보통 한 군데에만 있으니까요. 개인 물건만 그런 것도 아...