동방심기루 AT코드를 디버깅 할 시에
일본어를 1글자씩만 번역하는 코드들만 뜨네요...
이럴 땐 어찌할 방법은 없나요?
그리고 올리디버거로 코드를 뽑아보려고 하면
아래 스크린샷 처럼 뜨는데 번역인자 계산을 못 하겠네요.....
강좌를 봐도 전혀..계산법을 모르겠네요....
그리고 동방심기루를 껏다 다시켜서 올리디버거로 코드를 찾으려고하면
그 다음엔 또 다른 코드가 뜨고 지금 상태가...참....어떻게 해야할지 모르겠네요.....
Remilia
- 2013.08.02
- 17:05:06
일단 아랄트랜스 자체 디버깅으로 한글자씩 출력되는 at코드값을 여러번 다시 얻어낸 뒤에
적용시킨 후 말씀대로 한글자씩 나오는 걸 3글자 정도 뽑아다가 올리디버거에 돌려봤는데...
아래 스샷처럼 나오네요
기존처럼 EAX가 아닌 ESI에 텍스트가 들어있긴한데...그래도 어찌 해야할지 잘 모르겠네요...
굴러가는시간
- 2013.08.02
- 18:57:01
모듈의 베이스 주소란
올리디버거 녹색으로 E라고 되어 있는거 누르면, 현재 보고 있는 모듈 목록이 나올겁니다. 아마 지금은 th135.exe 모듈을
보고 있는거 같은데, 그러면 th135.exe의 시작 주소값이 거기 나와있습니다. 예를 들어 002b0000 라고 가정해 본다면
지금 002e095c는 002b0000+ 0003095c(002e095c - 002b0000)라고 볼 수 있는데, 이 때 002b0000을 모듈의 베이스주소, 0x3095c를 베이스 주소로부터 현재 주소까지의 거리라고 표현합니다.
그러면 아랄에서는 th135.exe!0x3095c라고 쓰면 주소가 바뀌어도 정확한 위치를 찾아냅니다.
그리고 esi에 텍스트가 있는게 중요한게 아니라, 들어 있는 텍스트가 여전히 한글자씩만 들어있는지, 아니면 문장채로 들어있는지 확인하는게 더 중요할 듯 싶네요. 문장채로 들어있으면 거길 기점으로 후킹하면 되겠죠.
Remilia
- 2013.08.02
- 21:50:20
도움 주신분들 정말 감사드립니다!
여차저차해서 드디어 문장이 제대로 출력되는 AT코드를 뽑아냈습니다!
정말 감사드립니다!
아래는 뽑은 AT 코드를 적용시킨 동방심기루 1.10C 버전의 화면입니다.
저 스샷으로 알수 있는게 그리 많지 않네요
그냥 보이는건 길이 계산하는거 밖에...
아무래도 문자가 있을꺼 같으나... EAX를 덤프로 열어 대사가 있는지 확인해보세요.