AI Briefing

열풍기와 칼로 ME2의 USB를 리버스 엔지니어링하기

·2026.04.18 23:21

ME2 handheld의 숨은 USB 프로토콜을 역공학해 점수 저장 방식을 찾아냈다.

ME2 handheld의 USB 동기화 방식을 복원하기 위해 먼저 기기에서 flash chip을 분리해 덤프를 뜨고, 내부 구조를 확인한다.

메인 MCU는 epoxy glob-top 아래에 숨겨져 있었고, 일반적인 방법으로는 식별이 어려웠다. Ghidra에서도 바로 해독되지 않아, 결국 열풍기와 칼로 glob-top을 떼어내 die shot을 확보한다.

그 결과, 칩이 GeneralPlus GPL162002A/B 계열임을 알아내고, 해당 datasheet와 μ'nSP instruction set 자료를 바탕으로 firmware를 분석한다.

분석 과정에서 USB mass storage처럼 보이는 표준 경로가 아니라, 제조사가 넣은 vendor-specific command가 핵심임을 확인한다.

  • read: flash 내용을 읽기
  • program: flash에 쓰기
  • erase: 특정 영역의 bit를 1로 초기화

이 명령들을 libusb/rusb로 직접 호출하는 userland 코드를 작성해 기기와 통신하고, 서로 다른 점수 상태의 flash dump를 비교해 points 저장 위치를 찾아낸다.

결국 PC에서 handheld의 점수를 마음대로 수정할 수 있게 되었고, 사라진 전용 소프트웨어 없이도 ME2의 USB 언어를 되살리는 데 성공한다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.