본문 바로가기

쓰기

10월 3일자에 간간한 버그 및. 약간의 생각의 변심으로 인해

크게 수정되었습니다.

aaaa.png



먼저 "1바이트 - > 2바이트" 기능과 문자와 문자사이 공백 삽입의

서로간 연동의 기능이 강화되었습니다.

(2바이트 치환간의 문제도 강력강화)


4월1일자에 기능을 제외시켰던 중복번역검사의 디폴트로 된 기능을

옵션으로 빼놓았습니다.


개행분할번역은 세부 옵션으로 올라갔습니다.


스마트 방식의 Will Plus 엔진을 겨냥한 기능이 생겼습니다.

(후킹 가능 형태는 추후 공지하겠습니다)


10월 3일자에 적용된 

포인터 형태로된 것 일괄 복원 기능을 옵션으로 빼놓았습니다.

(일부 기존 코드들에서 안좋은 반응이 발견)





덧으로 공지 및 필독사항입니다.


포인터 백업기능을 사용할때는 해당 가로챌 포인터가 항상 살아있는지 확인해주시기 바랍니다.

대사를 출력후 해당 메모리를 날려버리는 구조라면

아랄 메모리가 날아갈경우나 복원할 메모리를 날려버릴경우

복구시 다음 참조때 에러가 발생하게됩니다.


그것만 확인한다면 포인터 백업기능은 막강한 힘을 발휘할 수 있습니다.



메모리 덮어쓰기와 달리 포인터 바꿔치기는

하나의 인자값(ex.[esp+0x4] 등) 에 하나씩 아랄 버퍼를 할당하게 됩니다.


만약 포인터 바꿔치기할 장소가 콜스택이 엄청쌓인 곳에 걸경우

(순수 스크립이 몽땅와서 냅따 좋다고 이곳을 후킹하실경우)


아랄 포인터 하나만 가지고 거기 오는 전체를 감당하게 됩니다.


따라서 어떤 이레귤러등이 발생하여 에러가 날 확률이 높습니다.


되도록 해당 콜스택을 전부 하나씩 후킹을 거시는게

에러나 튕기는 확률히 극적으로 낮아지게됩니다.


ex. 세이나 루카나 예제코드

무한콜스택이 쌓인곳에 후킹하여 포인터 바꿔치기 사용한 코드(하나의 버퍼만을 공용으로 사용)

HOOK(0x0047FEF0,TRANS([[esp+0x4]],PTRCHEAT),RETNPOS(COPY))


콜스택 전부 참조하여 순수 글이 오는것만 골라내어 참조시(주소마다 아랄버퍼 각각 전부 할당되는 코드)

HOOK(0x004576C6,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x00467A27,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x004F2C7C,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x004F484B,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x004FA343,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x004FA405,TRANS([[esp]],SMSTR(IGNORE)),RETNPOS(SOURCE)),HOOK(0x005128DC,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x00523385,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x00560A56,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x00567B17,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x00567B77,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE)),HOOK(0x0062896B,TRANS([[esp]],PTRCHEAT),RETNPOS(SOURCE))


당연히 테스트 및 디버그 결과 후자가 안전했습니다.

+ 포인터 백업 기능도 해당 갯수 만큼 전부 백업을 각각 지원해주게됩니다.


따.라.서. 정리하면

무한콜스택으로 걸곳은 해당 함수내에서 복사만 하고 바로 갔다버릴때의 장소에만 바꿔치기를 사용합니다.

그냥 무한 콜이라면 차라리 메모리 덮어쓰기가 더 낳을정도였습니다.

콜을 코드로 각각 분리하여 포인터 바꿔치기로 코드를 내는게 올바른 방법입니다.


다소 방법의 수가 적어보일수도 있습니다만 저 3가지 택 밖에 없는게 사실입니다.



무한콜스택을 거는곳에 포인터를 사용하기 위해

포인터 백업기능을 지원했습니다.

위에 예제에서 첫번째 코드. 무한콜로 오는곳에는 포인터 백업 기능을 켜주면 튕김이 극소로 줄어듭니다.


다만 그래도 후자(두번째 코드)가 더 안전했습니다.(게임엔진내에 자체 버퍼 초기화를 막을 방법은 없더군요)

EroGame

2012.10.05
22:08:38

현재 버전으로 아래 하위 버전의 모든기능을 포함하게 됩니다.

그러므로 지금부터는 아래 버전을 찾아 다운받을 필요가 없습니다.


앞으로는 이 날짜 이상의 버전으로 이용해주세요.

List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
49 Talk Re: SOW 모드의 신기한 점? file whoami 11209   2008-07-23 2009-01-06 01:27
 
48 Talk Vmware 가상 일윈으로 즐기기.. [3] file ㅌㅌ 14029   2008-07-23 2008-07-24 21:11
 
47 Archive [플러그인,소스] 사용자사전 0.2 20080723 (테스트버전) file Hide_D 9861   2008-07-23 2008-07-23 00:08
 
46 Archive [플러그인, 소스] ATCode 테스트 버전 20080722 [2] file whoami 8908   2008-07-22 2009-01-06 01:27
 
45 Talk 어? ezTransXP 플러그인을 분석하다 생각난건데 [1] Hide_D 8162   2008-07-22 2008-11-22 16:38
이 플러그인에서는 전각 기호는 다른 코드로 치환해 뒀다가 다시 전각 기호로 되돌려주는데, 반각기호는 처리법이 약~간 특이합니다. 1. 원문에 ()<>{}가 없고, 번역문에 ()<>{}가 있으면, ()<>{}와 그 안의 내용을 날립니다. 2. 원문에 ()<>{}가 있고, 번역문...  
44 Archive [플러그인] ATCode - OVERWRITE 테스트 버전 20080721 file whoami 7900   2008-07-21 2009-01-06 01:27
 
43 Archive [플러그인, 소스] ATCode 테스트 버전 20080721 [10] file whoami 13514   2008-07-21 2011-06-28 01:25
 
42 Archive [플러그인,소스] EzTransXP with 사용자사전플러그인(테스트 버전) 20080721_2(추가수정) file Hide_D 9014   2008-07-21 2008-07-21 16:47
 
41 Talk 역시 번역 플러그인 테스트용으론 Hide_D 11417   2008-07-21 2008-07-21 12:50
체험판이 최고군요 +_+ 사쿠라슈트랏세웹 체험판 설치해놓고 전에 관리자님이 올리신 코드로 잘 돌아가니 이걸로 테스트 해야겠군요  
40 Archive [플러그인,소스] EzTransXP with 사용자사전플러그인(테스트 버전) 20080720_1 [6] file Hide_D 11446   2008-07-20 2008-07-21 13:59
 
39 Talk http svn을 운용하는건 어떨까요? [3] 아랄 8950   2008-07-20 2009-01-06 01:35
몇몇 개발자 분들께서 열악한 버전관리 환경 속에서도 플러그인을 개발하시는데 조금이나마 도움이 되고싶네요 소스는 svn상으로 함께 공유하며 자발적으로 개선해 나갔으면 하는데요 현재 기존의 플러그인에서 분기되거나 또는 아랄트랜스 기본 기능에 넣고 ...  
38 Talk 아무나 rc 파일 좀 만들어 주실분 안계세요? [2] Hide_D 12831   2008-07-19 2008-07-19 22:41
대충 이렇게 생겨먹었습니다. ┌──────────────────────┐│                      ││ □사용자사전사용             ││  경로 - ○ 게임폴더ATDataCustomDic.txt ││      ○ 사용자정의 |       |...|││    ...  
37 Archive [플러그인,소스] 사용자 사전 플러그인 0.1 20080718_2 [5] file Hide_D 22052   2008-07-18 2009-11-13 00:53
 
36 Talk whoami님 [3] Hide_D 9072   2008-07-18 2008-07-18 21:25
아래에 만든 플러그인이 에러가 납니다. 맨 처음에 만들었던 개발모드가 풀유니코드로 작성되어있고, 이녀석이 그냥 돌릴땐 잘 돌아가길래 그냥 Ctrl+C, Ctrl+V 해주고, 위 아래에 Ansi -> Unicode Unicode -> Ansi만 붙여넣은 거라 아무래도 변환부에 문제가 ...  
35 Archive [플러그인,소스] 사용자 사전 플러그인 0.1 20080718 (테스트 버전) [1] file Hide_D 9905   2008-07-18 2009-01-06 01:00
 
34 Archive [소스]추가 사용자 사전 0.1 [개발모드] file Hide_D 9405   2008-07-18 2008-07-18 17:10
 
33 Talk 귀차니즘 발동 Hide_D 10755   2008-07-18 2009-01-06 01:00
현재 프로그래밍을 공부하면서 플러그인을 만드는 관계로 진척속도가 좀 많이 느립니다 =ㅅ=;; 그냥 플러그인 0.1 내놓고, 나중에 마저 개발해야겠네요. 데굴데굴  
32 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080716_3...oTL file whoami 8454   2008-07-16 2009-01-06 01:00
 
31 Archive [플러그인, 소스] preKoFilter 테스트버전 20080716_2 [1] whoami 9823   2008-07-16 2009-01-06 01:00
심각한 버그 버전입니다. 삭제되었습니다; http://aralgood.com/zbxe/36084 를 참조하세요.  
30 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080716 file whoami 9670   2008-07-16 2009-01-06 01:00