글 수 217
FORCEFONT(5),ENCODEKOR,FONT(HY엽서M,-13),HOOK(0x0042A6A0,TRANS(EAX,PTRCHEAT),RETNPOS(COPY)),HOOK(0x0040459A,TRANS(ESI,OVERWRITE(IGNORE)),RETNPOS(COPY))
이게 무슨 게임 코드였는지는 까먹었는데..;;
U・Me SOFT게임의 코드입니다.. (쿨럭쿨럭.. 적용 시켜놓고..;;)
일단 해당 코드로 후킹 하는곳이 두곳입니다.
대사를 후킹하는 코드와 이름/선택지를 후킹하는 코드입니다.
대사를 후킹하는 코드를 찾는법은..
올리디버그로 게임을 실행시킨후..
MOV ESI,DWORD PTR SS:[ESP+28] 로 검색을 합니다.
검색을 하시면서 해당순으로 명령어가 나오는곳이 후킹할 곳입니다.
이 3줄이 보이는데.. 첫줄을 제외하고 2,3,4번째줄에서 ESI에 덮어쓰기를 하시면 됩니다.
(첫줄에서 [ESP+28] 에서 덮어쓰기를 하셔도 될거 같긴한데.. 나중에 확인해보고 알려드리겠습니다.)
MOV ESI,DWORD PTR SS:[ESP+28]
MOV EDX,ECX
SHR ECX,2
덮어쓰기로 하셔야 제대로 된다는 점.. 명심해 주십시요..;
그리고 이름/선택지를 찾는 방법은....
게임을 실행시키고 아랄을 적용한후 아랄 디버그를 실행합니다.
그리고 선택지가 나올때 아랄디버깅창을 보시면 선택지 관련 문장이 2~3개 연속으로 뜰겁니다.
그중에 제일 위에껄 골라서 EAX에 포인트 방식으로 하시면 됩니다.
FORCEFONT(5),ENCODEKOR,FONT(HY엽서M,-13),
HOOK(0x대사주소,TRANS(EAX,PTRCHEAT),RETNPOS(COPY)), <- 이름/선택지
HOOK(0x선택지주소,TRANS(ESI,OVERWRITE(IGNORE)),RETNPOS(COPY)) <- 선택지
이상 유 미 소프트 간단하게 편법으로 코드 찾는 방법이였습니다.. (쿨럭 쿨럭)
PS. 편법이기 때문에 다 된다고 장담은 못드립니다..;;
- 추가 -
--- 대사 -- (4번째줄)
MOV ESI,DWORD PTR SS:[ESP+28]
MOV EDX,ECX
SHR ECX,2
-- 선택지 -- (위쪽에 있는 INT3의 바로 아래)
MOV BL,BYTE PTR DS:[ESI]
TEST BL,BL
JE SHORT ?
선택지는 조금더 확인이 필요 합니다만... 일단 올리디버그로 찾았을떄 대략적 위치입니다.