본문 바로가기

쓰기

http://polaris.aralgood.com/index.php?document_srl=1779329

 

예시 코드

 

 

 

 

*기능

HEX-16 (VIEW)

원문                                                    XX XX XX XX                  XX XX XX XX    XX XX XX XX   <-원문도 박힘

(포인터 4 BYTE, 또는 메모리 효율상 한 라인으로 해결될때는 14~15BYTE 로 사용하여 원문이 메모리에 있음)

 

텍스트 길이                                           잡아먹을 메모리크기        XX XX XX XX    XX XX XX XX

(유니코드일때는 그 텍스트 길이)      (아스키 유니코드 관계 없이 한 라인으로 환산 ex. 아스키 0x0F, 유니코드 0x07)

 

 

따라서, 원문을 번역문으로 놓든 가로채든 할 경우

아래쪽 메모리에 길이 및 최대버퍼를 박아놓음

 

유니코드 일때와 멀티바이트 둘다 사용 가능.

 

 

위 코드 예제의 경우는...

 

(ECX)

XXXXXXXX       원문           XXXXXXXX     XXXXXXXX

XXXXXXXX       길이           길이최대         XXXXXXXX

 

(ECX)2번째 경우의 수

XXXXXXXX       원문                                       (00)00         // 유니코드일때는 (00)도 최대 NULL 문자

XXXXXXXX       길이           길이최대         XXXXXXXX

 

----------------------------------------------------------------------------------------------

첫번째 방법.

 

원문(포인터), 길이(大 14~15byte 이상)

->TRANS([ecx+0x4],PTRCHEAT(LENCHANGE))

 

원문(메모리버퍼), 길이(小 1~14,15byte 이하)

->TRANS(ecx+0x4,OVERWRITE(LENCHANGE,BUFCHANGE)))

//내용이 작은 글은 길어질때 포인터로 전환.

----------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------

두번째 방법.

 

원문(포인터&메모리버퍼 자동판단), 길이(관계없음)

->TRANS(ecx+0x4,UNICODE,OVERWRITE(BUFCHANGE)))

//포인터일 경우 포인터는 바꾸지 않고 그 내부 버퍼 덮어쓰기

//내용이 작은 메모리버퍼 일 경우 번역 길이가 짧으면 덮고, 길 경우에만 포인터 바꾸기

 

+추가. 기존 버퍼 무시 기능과 연동하여 버퍼 무시를 사용하지 않을경우

원 메모리에 글 길이에 맞춰 덮어쓰기 (포인터 변동 안함)

----------------------------------------------------------------------------------------------

 

주의사항,  첫번째 방법은 인자값(TRANS) 의 순서를 중요하게 여기게 됨.

코드로 넣은 순서에 따라(혹은, 전체 코드로 집어넣을때 순서)서 코드를 번역하게 됨/

(위에 첫번째 방법에는 포인터를 먼져 번역후, 두번째로 메모리인자를 확인할때 번역유무를 자동 판단)

이점을 유의(이용)하여 코드를 생성.

 

둘다 같은 결과가 나올지도 모르지만. 엔진에 따라 어느 방법이 안전이 좌우 될지는 모르는 상황.

따라서 2개 모두 구현완료.

 

 

 

*기타 추가사항

1.메모리 및 글 확인시 첫번째 데이타 확인 방법은 유니코드, 멀티바이트 개별로 나누어 검사

2.비정상적인 메모리를 포인터로 받으려고 하는 것은 무시 처리

3.위 기능에 대한 충돌현상 제거

4.메모리 옆 체크박스가 초기화 되지 않던점 보안

5.기타 기억 안나는 사항들. 

 

 http://erogame.wisegiga.net/?document_srl=9225

분류 :
Archive
조회 수 :
5924
등록일 :
2011.10.03
17:35:01
엮인글 :
https://arallab.hided.net/47815/dfb/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/47815

whoami

2011.10.03
21:53:26

안녕하세요 피시님 ^^

 

소스를 같이 올려 주시거나 혹은 SVN 에 등록(커밋)해주시겠어요?

그래야 다른 분들 (아랄님이시라던가 Hide_D君님이시라던가) 이 최신으로 업데이트도 하실 수 있고

0.3 용으로도 제작을 하실테니까요.

프시쵸

2011.10.04
21:35:53

음, 전설의 그 '아랄'님은 이제 안 오시는 거 아닌가염=ㅅ=

프시쵸

2011.10.04
21:36:10

으음, 역시 멋진!!!



List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
205 Archive [플러그인] OutRuby 임시 버전 20081012_2 [7] file Hide_D 28333   2008-10-12 2015-07-14 15:18
 
204 Archive [플러그인, 소스] NonCached 테스트 버전 20090709 [3] file whoami 27839   2009-07-09 2009-07-11 01:51
 
203 Archive [플러그인] GoogleTrans 테스트 버전 (20100620) file Hide_D 26601   2010-06-20 2010-06-20 16:00
 
202 Archive [플러그인, 소스] KiriKiri 테스트 버전 20090726 [10] file whoami 24512   2009-07-26 2009-07-28 23:52
 
201 Archive [플러그인] CustomDic 4.0.4.131 RC [5] file Hide_D 24298   2011-01-05 2011-04-24 21:07
 
200 Archive [플러그인, 소스] preHK2FK [3] file whoami 23992   2008-07-04 2009-01-06 02:08
 
199 Archive [플러그인,소스] 사용자 사전 플러그인 0.1 20080718_2 [5] file Hide_D 22052   2008-07-18 2009-11-13 00:53
 
198 Archive [번역툴]QuickTrans Beta 0.0.6 [6] file HaruKaze 21992   2009-01-28 2011-04-27 12:51
 
197 Archive [플러그인,소스] KiriKiri 테스트 버전 20090729 [11] file whoami 21239   2009-07-29 2009-09-13 14:57
 
196 Archive 정착한A님 여기 ATCode.dll 이거!! [3] file 아랄 20120   2008-10-07 2009-01-06 01:24
 
195 Archive [소스, 플러그인] Cache 테스트버전 101127 file Hide_D 19949   2010-11-27 2010-11-27 04:19
 
194 Archive [플러그인, 소스] MultiPlugin 20080709 [2] file whoami 18645   2008-07-09 2008-08-15 00:18
 
193 Archive [소스] Aral Trans 0.2 - 기리기리 플러그인 file 아랄 18550   2008-06-22 2008-06-22 01:52
 
192 Archive [소스] AralTrans 0.2 - 이지트랜스 플러그인 file 아랄 18512   2008-06-22 2008-06-22 01:47
 
191 Archive [소스] AralTrans 0.2 - ATCode 플러그인 [1] file 아랄 18376   2008-06-27 2008-06-27 05:23
 
190 Archive [플러그인, 소스] MultiPlugin [11] file whoami 18212   2008-07-03 2008-08-15 00:19
 
189 Archive [플러그인, 소스] NonCached 테스트 버전 20090717 [1] file whoami 17949   2009-07-17 2009-07-23 23:37
 
188 Archive [소스] ATPluginFrame 프레임워크 20100105 테스트 버전 file whoami 17914   2010-01-05 2010-01-05 19:47
 
187 Archive [플러그인, 소스] KiriKiri 테스트 버전 20090723 [1] file whoami 17854   2009-07-23 2009-07-23 23:38
 
186 Archive [플러그인, 소스] CustomScript 테스트 버전 Archive(09.21 02:50갱신) [1] file Hide_D 17632   2008-09-15 2009-01-06 01:57