본문 바로가기

쓰기

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 [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
389 Talk 기리기리 번역... [8] 나는누구인감? 18994   2008-07-09 2008-07-10 13:34
루이토모를 하다보니 대사창이 아닌곳에 텍스트를 뿌리는 장면이 있더군요. 초반에 채팅창이 나오는데 그 채팅창이 이미지로 되어있는줄 알았는데 텍스트였습니다... 스크립트 열어보니 해당부분 번역되어 있더군요. 루이토모 외에 Temptation-Naked 2도 이런...  
388 Talk AppLoc.exe를 거치지 않고 AppLocale 가동시키는 법! Hide_D 18684   2011-01-28 2011-01-28 01:54
환경 변수 두개를 다음과 같이 세팅합니다. set __COMPAT_LAYER=#APPLICATIONLOCALE set AppLocaleID=411 그리고 나서 원하는 프로그램을 돌리면 자동으로 AlLayer.dll이 인젝션 됩니다.  
387 Archive [플러그인, 소스] MultiPlugin 20080709 [2] file whoami 18645   2008-07-09 2008-08-15 00:18
 
386 Archive [소스] Aral Trans 0.2 - 기리기리 플러그인 file 아랄 18550   2008-06-22 2008-06-22 01:52
 
385 Archive [소스] AralTrans 0.2 - 이지트랜스 플러그인 file 아랄 18512   2008-06-22 2008-06-22 01:47
 
384 Talk 위키 링크 레벨업! [테스트] [12] Hide_D 18387   2009-12-17 2010-01-10 22:42
[와 ]를 세번씩 쓰면 링크가 되도록 바꿔봤습니다. ㄹ솘ㅎ[[[아랄트랜스]]]ㅎㄹ셔ㅗㅓ 잘 되려나?  
383 Archive [소스] AralTrans 0.2 - ATCode 플러그인 [1] file 아랄 18376   2008-06-27 2008-06-27 05:23
 
382 Talk FixLine '인수 추가' 창 새 디자인 [4] file Hide_D 18340   2009-03-26 2009-03-27 02:07
 
381 Talk 쓸모가 있을것 같은 기능들 [4] Hide_D 18225   2008-07-30 2010-08-04 16:58
1. 줄 재배치 (기능) 사용자 입력으로 개행 기호 (r, n, <br> 등등)를 입력 받고 일본어 부분에서 일단 저것들을 제거했다가 번역후 다시 넣는 기능. (효과) (1) 번역률 향상 개행문자가 사이에 있으면 심오한 번역문이 나옵니다. (2) 벽뚫기 완화 개행문자를 ...  
380 Archive [플러그인, 소스] MultiPlugin [11] file whoami 18212   2008-07-03 2008-08-15 00:19
 
379 Talk 6월 1일 2시 챗던 Talk Hide_D 18098   2010-06-01 2010-06-01 02:34
대화 인물 : Hide_D, Rynie, G2m, 프시쵸 대화 주제 : 0.3 [ActiveX, ATS] Hide_D 본인이 직접 뜯어본것이 아니므로 사실과 다를 수 있습니다. Hide_D: 아 0.3 자체는 괜찮아요 Hide_D: 다만... G2m: ㅇㅇ Hide_D: 1. ActiveX Hide_D: 2. ATS Hide_D: 이 두놈...  
378 Talk autorun.hta 파일 오류 스샷 입니다. [2] file 암흑마제 18045   2009-12-20 2009-12-20 23:26
 
377 Talk 폰트함수인덧 아무개 18005   2011-01-11 2011-01-11 23:38
CreateFontIndirect_Correct 누가 후킹 하나열[...........]  
376 Archive [플러그인, 소스] NonCached 테스트 버전 20090717 [1] file whoami 17949   2009-07-17 2009-07-23 23:37
 
375 Archive [소스] ATPluginFrame 프레임워크 20100105 테스트 버전 file whoami 17914   2010-01-05 2010-01-05 19:47
 
374 Archive [플러그인, 소스] KiriKiri 테스트 버전 20090723 [1] file whoami 17854   2009-07-23 2009-07-23 23:38
 
373 Archive [플러그인, 소스] CustomScript 테스트 버전 Archive(09.21 02:50갱신) [1] file Hide_D 17632   2008-09-15 2009-01-06 01:57
 
372 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 17564   2010-01-01 2010-01-01 16:59
 
371 Archive [소스] ATPluginFrame 프레임워크 20091222 테스트 버전 [1] file whoami 17551   2009-12-22 2009-12-30 18:58
 
370 Archive [소스] CustomDic v4 20110102 테스트버전 [1] file Hide_D 17513   2011-01-02 2011-01-03 06:08