본문 바로가기

쓰기

언제나 괴악한 플러그인만 만드는 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 Talk 작전명. '누덕누덕' 작전 시작 Hide_D 10674   2011-02-18 2011-02-18 00:02
AralTrans 0.2에서 시작해서 눈꼽만큼씩 고쳐나갈 생각입니다. 주 타겟 OS : Windows 7 32bit 목표 일자 : 2012년 오기 전 PS : JSCustom 프로젝트는 연기되었습니다.  
328 Talk AppLoc.exe를 거치지 않고 AppLocale 가동시키는 법! Hide_D 18684   2011-01-28 2011-01-28 01:54
환경 변수 두개를 다음과 같이 세팅합니다. set __COMPAT_LAYER=#APPLICATIONLOCALE set AppLocaleID=411 그리고 나서 원하는 프로그램을 돌리면 자동으로 AlLayer.dll이 인젝션 됩니다.  
327 Talk 폰트함수인덧 아무개 18005   2011-01-11 2011-01-11 23:38
CreateFontIndirect_Correct 누가 후킹 하나열[...........]  
326 Archive [플러그인] CustomDic 4.0.4.131 RC [5] file Hide_D 24298   2011-01-05 2011-04-24 21:07
 
325 Archive [소스] CustomDic v4 20110104 테스트버전 [3] file Hide_D 16410   2011-01-04 2011-01-05 06:00
 
324 Archive [소스] CustomDic v4 20110102 테스트버전 [1] file Hide_D 17513   2011-01-02 2011-01-03 06:08
 
323 Talk 웹 계정 아이디/비밀번호 secret Hide_D 1   2011-01-02 2011-01-02 16:21
비밀글입니다.  
322 Talk DenyWord + 정규표현식? Hide_D 17305   2010-12-18 2010-12-18 00:05
어차피 문자열을 찾는 구조였으니 그냥 Boost꺼나 C++0x의 STL에 달려있는 정규표현식 모듈 들고와서 Deny, Allow, Exact에다 정규 표현식도 합쳐볼까요?  
321 Talk ATCode에 @가 붙은 글꼴을 빼버려야겠군요 Hide_D 16792   2010-12-11 2010-12-11 16:28
질문 게시판에 백년 만년 올라오는 왜 글자가 옆으로 누워있죠? 를 막으려면 역시 @붙은 글꼴은 빼는게 제격입니다 ㅠ 대신 아래에 체크로 @ 허용 같은거 하나 만들어두고요  
320 Archive [소스, 플러그인] Cache 테스트버전 101127 file Hide_D 19949   2010-11-27 2010-11-27 04:19
 
319 Talk KiriKiri 텍스트 파싱 개선 프로젝트! Hide_D 22403   2010-10-28 2010-10-28 00:21
필요가 생겨서[!] 이제 좀 개선을 시켜볼 생각입니다. 우선 문제가 되는 곳은 text=""겠군요  
318 Talk [뻘글] 요새 프로텍터가 하도 무서워서 Hide_D 22878   2010-10-26 2010-10-26 00:15
대상 클라이언트에 최소한의 Injector만 '꽂아'두고 실제 동작은 '서버'에서 Injector와 IPC만으로 구동하는 형식은 어떨까 싶군요. Injector에서 '메모리' 입출력 관현 함수와 기본 WinAPI에 사용되는 DLL 로드(이건 위험하지 않으니까!)와 실제 WinAPI를 실...  
317 Talk JSCustom의 초기 골격 코드를 SVN에 커밋했습니다. [1] Hide_D 33949   2010-09-18 2010-10-25 09:57
지금 안된 부분이.... 1. 고수준 함수, 고수준 보조 함수 구현 ( http://wiki.aralgood.com/index.php/JSCustom/FunctionReference ) 2. 아랄트랜스 0.3버전용 함수 구현 3. 아랄트랜스 플러그인 규격과 v8Wrapper 모듈의 연결 4. UI 정도네요. 올리긴 했지만 ...  
316 Talk ATCustom - 프로젝트 소개 [8] Hide_D 32701   2010-07-22 2011-07-14 11:21
- 소개 - ATCustom은 사용자가 직접 메모리 훅 및 메모리 작업을 할 수 있는 Script 기반 Algorithm 플러그인입니다. Google Chrome에 탑재된 v8 JavaScript Engine을 사용하여 JavaScript 파일을 파싱하여 동작하며, ATCustom에서 제공하는 API를 사용하여 작...  
315 Talk ATCustom - 함수 Reference [47] Hide_D 103937   2010-07-20 2010-08-28 04:59
AralTrans의 Algorithm Plugin ATCustom의 함수 목록입니다. - 문서 상태 - 기본 함수 : 변경 중 변경 확률 보통 고급 함수 : 변경 중 변경 확률 높음 - 기본 함수 목록 - 핵심적인 기능을 가지거나 내부의 C++ 코드를 사용해야만 하는 함수의 목록입니다. 메...  
314 Talk AT 0.2에서 내부 버퍼가 4096을 넘을 수 있어야 합니다. [1] Hide_D 34245   2010-07-13 2011-03-04 05:56
ATCode인지 뭔지 내부 버퍼 길이가 4096바이트로 제한되어있어서 그보다 큰 길이가 들어올 경우 문제가 생깁니다. 길이를 제한하는 플러그인들은 모두 대용량의 텍스트도 받아올 수 있도록 처리해야할 것 같습니다.  
313 Talk [0.2] OnPluginInit단에서 스레드를 만들 때 [회피법] Hide_D 27118   2010-06-23 2010-06-23 02:10
http://lab.aralgood.com/board_documents/3202 에 나온대로 플러그인이 초기화되는 시점이 '안전하지' 않기 때문에 Init 단에 스레드를 추가하기가 어려운데, 이를 위한 회피 방법입니다 [OnInitThread에 AfxBeginThread를 사용하면 '무조건' 얼어버리는 현상...  
312 Archive [플러그인] GoogleTrans 테스트 버전 (20100620) file Hide_D 26601   2010-06-20 2010-06-20 16:00
 
311 OtherFiles [소스] Test Network + Google Translate Source - 2 file Hide_D 26517   2010-06-19 2010-06-19 09:59
 
310 OtherFiles AralTrans.exe 파일 살짝 수정했습니다. + 아랄씨 계시면 보세요 file Hide_D 28477   2010-06-07 2010-06-07 05:11