공지: REA가 Claude에게 바이너리 읽는 법을 가르쳤으니, 이제 실시간 프로세스에 접근하게 해보자
PSA: REA taught Claude how to read binaries. Now let it touch the live process
핵심 요약
Claude가 Windows 프로세스에 직접 접근해 동적 후킹을 수행할 수 있게 해주는 오픈소스 MCP 서버 'Exoproc'을 소개합니다.
- Exoproc 도구 — Claude가 Windows 프로세스에 직접 접근해 동적 후킹을 수행하도록 지원함
- 기술적 구현 — DLL 주입 대신 스레드 하이재킹과 TinyCC를 사용해 메모리 내에서 셸코드를 실행함
- 보안 우회 — EDR 탐지를 피하면서 실시간 메모리 분석 및 후킹이 가능함
- 사용 사례 — 특정 PID의 함수를 후킹하여 실시간으로 문자열 버퍼를 로깅하는 등의 작업 수행
REA가 Claude의 디컴파일 분석 능력이 얼마나 뛰어난지 증명하긴 했지만, 정적 분석은 오프라인에서 코드가 뭘 할지 추측하는 수준에 불과함.
Claude한테 머릿속으로 코드 실행 시뮬레이션 돌리라고 프롬프트 낭비하지 마라. 이제 직접 라이브 메모리를 건드리게 해줄 때가 됨.
내가 만든 Exoproc은 stdio 기반의 오픈소스 MCP 서버인데, Claude Code를 윈도우 x64 활성 프로세스에 바로 꽂아버릴 수 있음.
EDR(엔드포인트 탐지 및 대응) 반응 오지게 오는 지저분한 DLL 인젝션 대신, 스레드 하이재킹(스레드 일시 중지 후 RIP를 sleep stub으로 이동) 방식을 써서 기존 컨텍스트 안에서 실행함. 5바이트 JMP 트램펄린을 14바이트 far relay 게이트로 처리하고, TinyCC를 써서 C 코드를 메모리상에서 바로 셸코드로 컴파일해버린다.
Claude한테 이렇게 시켜봐라: "PID 4120의 SetWindowTextW에 5바이트 트램펄린 걸어서 문자열 버퍼 로그 따고, 끝나면 원래 바이트로 복구해."
그럼 Claude가 프롤로그 후킹해서 라이브 메모리에 있는 UTF-16 문자열 싹 긁어오고 깔끔하게 언후킹까지 끝냄. DLL 파일 떨굴 일도 없고, 열린 네트워크 포트도 없음.
정적 디컴파일이 Claude한테 눈을 달아줬다면, 동적 후킹은 손을 달아준 거다.
