우선 Walse 님 게시글을 참고해주세요.


루나 소프트 폰트



00425A74   > \8A95 57FFFFFF MOV DL,BYTE PTR SS:[EBP-A9]
00425A7A   .  8895 D4FEFFFF MOV BYTE PTR SS:[EBP-12C],DL
00425A80   .  80BD D4FEFFFF>CMP BYTE PTR SS:[EBP-12C],9
00425A87   .  74 45         JE SHORT lus001.00425ACE
00425A89   .  80BD D4FEFFFF>CMP BYTE PTR SS:[EBP-12C],0A
00425A90   .  74 02         JE SHORT lus001.00425A94
00425A92   .  EB 4C         JMP SHORT lus001.00425AE0
00425A94   >  C785 50FFFFFF>MOV DWORD PTR SS:[EBP-B0],0
00425A9E   .  8B85 74FFFFFF MOV EAX,DWORD PTR SS:[EBP-8C]
00425AA4   .  83C0 01       ADD EAX,1
00425AA7   .  8985 74FFFFFF MOV DWORD PTR SS:[EBP-8C],EAX
00425AAD   .  8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110]
00425AB3   .  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
00425AB6   .  8D440A 01     LEA EAX,DWORD PTR DS:[EDX+ECX+1]
00425ABA   .  50            PUSH EAX                                 ; /Arg1
00425ABB   .  8B8D ECFEFFFF MOV ECX,DWORD PTR SS:[EBP-114]           ; |
00425AC1   .  E8 6AECFFFF   CALL lus001.00424730                     ; \lus001.00424730
00425AC6   .  8985 5CFFFFFF MOV DWORD PTR SS:[EBP-A4],EAX
00425ACC   .  EB 12         JMP SHORT lus001.00425AE0
00425ACE   >  8B8D 50FFFFFF MOV ECX,DWORD PTR SS:[EBP-B0]
00425AD4   .  83C1 04       ADD ECX,4
00425AD7   .  83E1 FC       AND ECX,FFFFFFFC
00425ADA   .  898D 50FFFFFF MOV DWORD PTR SS:[EBP-B0],ECX
00425AE0   >  8B95 F0FEFFFF MOV EDX,DWORD PTR SS:[EBP-110]
00425AE6   .  83C2 01       ADD EDX,1
00425AE9   .  8995 F0FEFFFF MOV DWORD PTR SS:[EBP-110],EDX
00425AEF   .^ E9 22FFFFFF   JMP lus001.00425A16
00425AF4   >  0FB685 57FFFF>MOVZX EAX,BYTE PTR SS:[EBP-A9]
00425AFB   .  3D 81000000   CMP EAX,81
00425B00   .  7C 0F         JL SHORT lus001.00425B11
00425B02   .  0FB68D 57FFFF>MOVZX ECX,BYTE PTR SS:[EBP-A9]
00425B09   .  81F9 D0000000 CMP ECX,0D0
00425B0F   .  7E 25         JLE SHORT lus001.00425B36
00425B11   >  0FB695 57FFFF>MOVZX EDX,BYTE PTR SS:[EBP-A9]
00425B18   .  81FA E0000000 CMP EDX,0E0
00425B1E   .  0F8C 2C010000 JL lus001.00425C50
00425B24   .  0FB685 57FFFF>MOVZX EAX,BYTE PTR SS:[EBP-A9]
00425B2B   .  3D FD000000   CMP EAX,0FD
00425B30   .  0F8F 1A010000 JG lus001.00425C50
00425B36   >  8B8D ECFEFFFF MOV ECX,DWORD PTR SS:[EBP-114]
00425B3C   .  8379 30 00    CMP DWORD PTR DS:[ECX+30],0
00425B40   .  0F86 EC000000 JBE lus001.00425C32
00425B46   .  C785 64FFFFFF>MOV DWORD PTR SS:[EBP-9C],0
00425B50   .  8B95 ECFEFFFF MOV EDX,DWORD PTR SS:[EBP-114]
00425B56   .  8B42 30       MOV EAX,DWORD PTR DS:[EDX+30]
00425B59   .  83E8 01       SUB EAX,1



Walse 님이 수정하곳과 이곳을 추가로 수정해줘야합니다.


혹시나 검색이 힘들다면

CRT+F

cmp eax,81

cmp ecx,81

cmp edx,81

검색해서 상위바이트제한

9F > C9

하위바이트제한

FC > FD

로 죄다 수정해버리면 됩니다. 그리 많지않으니 금방수정할수있어요.





_______________________________________


그리고 피시님 엔진별분서글


asmodean의 엔진별 언팩


위 게시글에서 루나소프트 언팩툴을 구해서 유니코드변경상태에서 Game.pac 을 언팩해보면


Data\strlist.txt 를 얻을수있습니다.

이걸 열어서 한글을 추가해줘야합니다. 일본어 아스키형과 한글 아스키형을 같이 써놔야하므로 hxd로 작업하는걸 추천합니다.



sample1.jpg


위와같은식으로 메모장에 추가할 한글을 써서 hxd로 열어서 헥스값을 그냥 strlist.txt 추가해주면됩니다.




_______________________________________


그리고 이놈은 유니코드변환을 하는데 윈도우함수를 타고 들어가서 거기서 멀티바이트와이캐 함수를 호출해서 변환되어서

수정이 조금 까다로운것 같더군요. 그래서 넬타연동


 

samp2.jpg


현재 아랄고딕 폰트를 만들어놔서 폰트명만 넬타연동없이 그냥 아랄고딕으로 수정해줘도 되긴합니다만

현재 아랄고딕은 특문 추가를 안해놓은 상태라


_______________________________________


쓸만한 후킹지점


samp3.png



___________________________________________

55 8B EC 81 EC 2C 01 00 00 89 8D EC FE FF FF

함수시작부분 인자 [ESP+0X4] // PTRCHEAT

___________________________________________



rpg의 백미 무한 반복 구간입니다.

길이 계산과 문자 출력 공간배치가 끝난지점이라 약간 지저분해보일수도 있지만 쓸만한곳입니다.




sam5.png



___________________________________________

89 45 10 8B 4D 10 51 8B 4D EC

검색된곳 아래 콜문 [ESP] // PTRCHEAT

___________________________________________


아직 길이 계산과 문자 출력 공간배치가 안된지점중 대사위치입니다.

아무래도 대사는 뒷문 종종 짤려서 이곳을 추가해줘야합니다.

문제는 마인드해커에서는 저고셍 대사만 지나가서 문제가 없었지만 심연의레콩키스타에서는 저곳에 선택문도 지나갑니다.

포인터 바꿔치기 버퍼를 한개 할당받았는데

그걸 아무런 작업없이 계속해서 사용하기때문에 선택문이 마지막 문장으로 통일되버립니다.



sam4.png


위에서 제시한곳에서 콜문을 타고온 지점입니다.

여기서 이곳을 먹으면 참좋은데. 포인터 버퍼 1개 그걸 아무런 이동없이 계속사용해버려서 출력문장이 모두 마지막 문장으로

통일되어버리죠 오홍홍... 찢어서 잡아도 반복이 한번만 되도 문장이 꼬여버리니 쓰긴힘든지점이지만 참고로...




strlist.txt 

어느정도 첨가한 strlist.txt 파일입니다. 특문이라던가 몇개 더 추가하긴 해야할것같습니다.





샘플코드

필터

KoFilter{},CustomScript{Write,Pass(-1),Cache}

마인드해커

HOOK(0x0042DFA6,TRANS([ESP],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x00429B00,TRANS([ESP+0x4],PTRCHEAT),RETNPOS(COPY))


심연의레콩키스타

HOOK(0x004257D0,TRANS([ESP+0x4],PTRCHEAT),RETNPOS(COPY)),HOOK(0x00429B68,TRANS([ESP],PTRCHEAT,PTRBACKUP),RETNPOS(SOURCE))




samp6.jpg



samp7.jpg


현재 컴퓨터가 바이러스가 의심스러워서 실행파일관련된건 첨부할수가없군요.