피드로 돌아가기
1998년 Ultima Online 데모 서버 역공학
GeekNewsGeekNews
Backend

1998년 Ultima Online 데모 서버 역공학

LLM 기반 리버스 엔지니어링을 통한 90년대 MMO 서버 복구

xguru2026년 5월 7일6advanced

Context

C++98 이전 방언으로 작성된 레거시 바이너리와 전용 리소스 파일(.mul) 기반의 폐쇄적 구조. TCP 기반 네트워크 프로토콜의 한계로 인한 높은 지연 시간과 신뢰성 메커니즘 부재라는 병목 지점 존재.

Technical Solution

  • C++ 디스어셈블리 결과물과 빈티지 툴체인 분석을 통한 원래 로직의 복원 설계
  • PowerPC 바이너리 내 디버그 심볼을 활용한 packet_handler 및 entitylist 구조 식별
  • LLM을 활용한 디컴파일 코드의 가독성 개선 및 미완성 로직의 자동 완성 처리
  • TCP 기반의 순수 네트워크 스택 분석을 통한 서버-클라이언트 통신 프로토콜 재구현
  • .mul 및 .txt 형식의 바이너리 리소스 파일 역분석을 통한 게임 월드 데이터 복구

- 레거시 바이너리 분석 시 디버그 심볼이 포함된 타 플랫폼(PowerPC 등) 바이너리를 대조군으로 활용 - 복잡한 디컴파일 코드의 의미론적 해석 단계에서 LLM을 활용한 코드 리팩토링 및 로직 추론 적용 - 네트워크 프로토콜 분석 시 하위 계층(TCP)의 특성과 상위 계층의 신뢰성 보장 메커니즘 유무를 우선적으로 구분

원문 읽기