본문 바로가기

쓰기

언제나 괴악한 플러그인만 만드는 whoami입니다.
rabbit%20(3).gif

이넘은 뭐냐면... 야근병동2 의 괴악한 후킹 데이타를 어떻게든 헤쳐보고자 만들어본 필터입니다.

사용방법은..
1. 필터를 아랄트랜스의 필터 폴더에 넣는다..
2. 첨부된 ATData 내의 DenyWord.ini 를 게임 폴더의 ATData 폴더에 넣는다.. 무슨 말인지 아시겠죠?
  기리기리나 사용자 사전 플러그인을 써보셨으면 아실겁니다;
3. 필터 추가후 게임 시작.

하는 일은..
DenyWord.ini 의 [DENY] 에 등록된 단어가 나오면 죽습니다;
단, DENY에 등록되었더라도 [ALLOW] 에 등록되어 있으면 그냥 넘어가줍니다;
덤으로, 전부 1바이트 문자들이면 역시 죽습니다.

옵션창은 역시 디자인되어 있지 않지만 옵션은 하나 있습니다. DEBUG([로그파일명]). 뭔지는 아시리라 믿고.. 그리고 1바이트 문자들일때는 출력하지 않습니다. 수도 없이 찍혀서 중요한 로그를 보기가 너무 힘들어서 ㅡ.ㅡ 일부러 빼버렸습니다.

옵션창을 열면 DenyWord.ini 를 다시 읽습니다.

마지막으로 DenyWord.ini 를 에디트할 때의 주의점.
1. 반드시 Shift-JIS 를 지원하는 에디터로 열것. 잘못된 에디터로 열어서 글자 다 깨져도 책임 못집니다.
2. 안을 보시면 DataXXX=어쩌구저쩌구 식으로 설정이 되어 있습니다 (XXX는 숫자). 그런데 숫자 중간을 절대 빼먹지 마시기 바랍니다.

다음을 봐주세요.

; DenyWord.ini
; The words which never be translated
;
; CAUTION: 1. Open with the Shift-JIS compatible editor!
;          2. Do not miss Data number, or some data will not be loaded.

; DENY 에 등록되어 있으면 번역 않습니다.
[DENY]
Data1=save
Data2=
Data3=scenario
Data4=OP&一日目
Data5=目?めメッセ?ジ
... 중략 ... 이 사이의 데이타는 다 있다고 칩시다;
Data22=おまけイベント
Data23=----RESERVED----
Data24=愛?話
Data25=??話
;  26-29이 빠져있습니다.
Data30=_END_
Data31=大筋エンド
Data32=ハ?レムエンド
Data33=全?BAD

; DENY에 있어도 ALLOW 에 등록되어 있으면 번역합니다.
[ALLOW]
Data1=n

위에서 23번에 보면 ----RESERVED---- 라고 되어있죠? 이건 빠진 번호가 없게 하기 위해 일부러 넣은 겁니다. 나중에 다른 단어로 바꿔치기 하기 위해서죠.

26-29 번은 일부러 빼보았습니다. 이렇게 되면 30번 이후는 안읽힙니다. 순서대로 읽다가 중간에 번호가 없으면 데이타 끝으로 간주하도록 되어 있으니 당연하겠죠.

이해 하시겠죠? ^^

현재 첨부되어 있는 야근병동2 의 DenyWord.ini 는 테스트 버전입니다. 쉽게 말해 여기에 등록되어 있지 않지만 번역되면 죽는 단어들이 꽤 될 겁니다. 그건 게임중에 간혹 스크립트 에러가 나면서 죽으면 마지막 번역된 단어를 로그나 TextDump 등을 참조해 알아내어 추가하시기 바랍니다.. (굿 럭, A님.)

아참, 세팅은 KoFilter - DenyWord - ezTransXP 로 테스트했습니다.

whoami

2008.08.09
11:08:24
1. CmdFilter 의 DENY기능 (특정 문자 만나면 죽는 기능)만 따로 떼어서 문자열 단위로 확장해 두었다고 생각하면 쉽게 이해 가능할겁니다. CmdFilter의 주기능 (Prefix/Postfix 분리) 때문에 문자열 처리가 어렵고 역슬래시 필터 가지고는 야근2에는 역부족이라서요.. ㅜ.ㅜ

2. 전부 1바이트면 죽는 기능은.. 말씀하신대로 CmdFilter 에서는 전부 Prefix에 들어가서 어차피 번역되지 않습니다; 결국은 두 필터가 1바이트 문자열에서는 (내부 기능은 다르게 작동하지만 겉에서 봐서는) 동일하게 동작하게 됩니다.
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
329 Archive [플러그인, 소스] FixControlCharactor 20080815(테스트버전) [2] file Hide_D 7533   2008-08-15 2009-01-06 02:06
 
328 Talk 퓩퓩... 퓩퓩... oTL whoami 7557   2008-08-02 2009-01-06 01:35
원인을 알아냈습니다. 하지만 이건.. 참 난감하군요. 이 문제는 RLCmd의 문제가 아닙니다. 이 문제는 SOW방식의 문제도 아닙니다. 이 문제는 한글 완성형 코드의 문제입니다... oTL 예전에 KoFilter 를 한참 만들고 있을 때... 이 이야기가 나온 적이 있었습니...  
327 Talk 문자열 -> Hex 변환이 제대로 안되네요. [7] Hide_D 7561   2008-08-02 2009-01-06 01:00
LPSTR ConvertHex(LPCSTR source){ size_t Len=strlen(source); char Temp[2048]=""; BYTE szBuf[3] = { '', }; int j=0; for(size_t i=0;i<Len;i++){ szBuf[0]=(BYTE) source[i]; szBuf[1]=(BYTE) source[i+1]; if(szBuf[0]<0x80){ //1바이트 코드라면 j += ...  
326 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080806 [4] file whoami 7719   2008-08-06 2009-01-06 01:00
 
325 Archive [플러그인, 소스] CustomSD 0.3 20080810(테스트버전) [2] file Hide_D 7743   2008-08-10 2008-08-10 14:40
 
324 Archive [플러그인, 소스] RLCmd 20080806 file whoami 7775   2008-08-06 2009-01-06 01:00
 
323 Talk Hide_D군님, CCustomDic2 의 문제점을 알 것 같습니다.. [1] whoami 7811   2008-08-12 2008-08-12 22:41
저번에 (5) 문제.. 기억하시나요? 아마도 이것 때문인 것 같습니다. void CCustomDic2::PreCustomDic(LPSTR Dest, LPCSTR Source) { // ... 전략 for(int head=0;head<SourceLen;head++) { for(int tail=SourceLen-1;tail>head;tail--) { // ... 중략 ... //2...  
322 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080805(테스트버전) file Hide_D 7830   2008-08-04 2008-08-05 01:06
 
321 Archive [플러그인, 소스] FixControlCharactor 20080817_4(테스트버전) file Hide_D 7877   2008-08-17 2009-01-06 01:01
 
320 Talk DumpText를 만들고 있는데... [2] Hide_D 7892   2008-08-02 2008-08-02 12:04
밖에서 모달리스 다이얼로그 안으로 데이터를 넣어주는 간단한 방법 없나요 =ㅅ=; 저 방법이 생각안나서 지금 해보려고 하는게, 실시간으로 바깥의 isTextFilled 를 체크해서 true인 경우만 밖의 텍스트를 가져온 다음에 isTextFilled를 false로 만드는 방법밖...  
319 Talk 리얼라이브 세이브에 대해서... [4] 나는누구인감? 7894   2008-08-01 2009-01-06 01:00
오늘 학교에서 하라는 공부는 안하고 곰곰히 생각을 해봤습니다. 세이브 할 경우 현재 위치의 이미지 정보 읽어들임 → 현재 위치의 대사 정보 읽어들임 → 세이브 파일에 저장 로드 할 경우 세이브 파일의 이미지 정보 읽어들임 → 세이브 파일의 대사 정보 읽어...  
318 Archive [플러그인] ATCode - OVERWRITE 테스트 버전 20080721 file whoami 7900   2008-07-21 2009-01-06 01:27
 
317 Talk 0.3에서 추가할것 Hide_D 7908   2008-08-03 2009-01-06 01:00
까먹을까봐 정리 사용자 사전계 1. 사용자사전 유/무 2. 범용사용자사전 유/무 3. 사용자 정의한 주소의 파일 열기(취소) 4. 탭처리 5. 검색 알고리즘 강화(보류) ezTransXP 강화계 1. 번역후 괄호 처리(다이얼로그에 추가)(보류) 2. 사용자 사전과 완벽히 분...  
316 Talk whoami님 Util.h의 옵션 파서가 [4] Hide_D 7908   2008-08-10 2008-08-10 15:13
문자열 을 지원하나요? 아니... 으음 c:documents and settindsuser내 문서Game,A루트(미완성).txt 라는 문자열을 파서로 받을 수 있나요?  
315 Talk 플러그인을 만들다가 '또다시' 엄청난 실수를 저질렀다는걸 깨달았습니다. [2] Hide_D 7929   2008-08-12 2009-01-06 01:01
이쪽은 프로그래밍이라보가는 구상과 관련된 문제네요 ㅠ_ㅠ 현재 제가 손대고 있는 플러그인이 사용자사전 사용자대본 개행문자처리 컨트롤문자처리 인데, 두개씩 묶여있는 구조죠. 그런데... 사용자대본 -> 문장단위처리 사용자사전 -> 단어단위처리 개행문...  
314 Archive [플러그인,소스] 사용자사전 0.3 20080813 (RC) file Hide_D 7965   2008-08-13 2008-08-14 23:24
 
313 Talk cmd로 리버ex 테스트 [2] file 앙마vv 8011   2008-07-25 2009-01-06 01:27
 
312 Archive [플러그인, 소스] CustomSD 0.3 20080810_2 [1] file Hide_D 8012   2008-08-10 2009-01-06 01:26
 
» Archive [플러그인, 소스] DenyWord 테스트 버전 20080809 [1] file whoami 8067   2008-08-09 2009-01-06 01:26
언제나 괴악한 플러그인만 만드는 whoami입니다. 이넘은 뭐냐면... 야근병동2 의 괴악한 후킹 데이타를 어떻게든 헤쳐보고자 만들어본 필터입니다. 사용방법은.. 1. 필터를 아랄트랜스의 필터 폴더에 넣는다.. 2. 첨부된 ATData 내의 DenyWord.ini 를 게임 폴...  
310 Archive [플러그인, 소스] DenyWord 테스트 버전 20080811 file whoami 8097   2008-08-11 2009-01-06 01:05