이용하여 원격 디버거를 attach 합니다. 2. 해당 문자열이 있는 메모리에 Hardware Breakpoint At Write 을 설정 후 실행합니다. 3. Breakpoint에서 프로그램이 중단되면, 함수 밖으로 빠져 나가면서 문자 열 단위를 조작하는 sub routine을 특정합니다. ex1) BLJS10260 - アイドルマスター ワンフォーオール (아이돌마스터 OFA) 의 경우, 0x0000000000046188에서 실행하는 sub routine에 의해 문자열을 로드합니다. 여기서 이름이 로드되는 장소는 r3 register + 0x50 이고, 대사가 로드되는 장소는 r3 register + 0x90 입니다. ex2) 분석 결과, 이 게임은 한 장면이 로드될 때 메모리에 모든 대사를 올려 놓고, 해당하는 대사가 나올 때 배열의 첫 번째에 현재 대사를 로드합니다.
사용하여 IDA용 Plugin을 제작 중 입니다. 2) 게임마다 다른 문자열 주소 찾기 한계 -> 커뮤니티 등을 구성하여 각자 찾은 주소 값 공유가 필요합니다. 3) 한글 유니코드 입력시 ‘…’ 등으로 깨짐 -> 게임 내 폰트를 분석하여 한글 폰트 주입이 필요합니다. 4) 개발용 기기에서만 실행 가능 -> TMAPI 가 아닌 CCAPI를 이용하여 CEX 모드에서도 실행 가능하게 만들 필요가 있습니다.