본문 바로가기

쓰기

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 [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155435
389 Talk 기리기리 번역... [8] 나는누구인감? 2008-07-09 18994
388 Talk AppLoc.exe를 거치지 않고 AppLocale 가동시키는 법! Hide_D 2011-01-28 18684
387 Archive [플러그인, 소스] MultiPlugin 20080709 [2] file whoami 2008-07-09 18645
386 Archive [소스] Aral Trans 0.2 - 기리기리 플러그인 file 아랄 2008-06-22 18550
385 Archive [소스] AralTrans 0.2 - 이지트랜스 플러그인 file 아랄 2008-06-22 18512
384 Talk 위키 링크 레벨업! [테스트] [12] Hide_D 2009-12-17 18387
383 Archive [소스] AralTrans 0.2 - ATCode 플러그인 [1] file 아랄 2008-06-27 18375
382 Talk FixLine '인수 추가' 창 새 디자인 [4] file Hide_D 2009-03-26 18340
381 Talk 쓸모가 있을것 같은 기능들 [4] Hide_D 2008-07-30 18225
380 Archive [플러그인, 소스] MultiPlugin [11] file whoami 2008-07-03 18212
379 Talk 6월 1일 2시 챗던 Talk Hide_D 2010-06-01 18098
378 Talk autorun.hta 파일 오류 스샷 입니다. [2] file 암흑마제 2009-12-20 18044
377 Talk 폰트함수인덧 아무개 2011-01-11 18005
376 Archive [플러그인, 소스] NonCached 테스트 버전 20090717 [1] file whoami 2009-07-17 17949
375 Archive [소스] ATPluginFrame 프레임워크 20100105 테스트 버전 file whoami 2010-01-05 17913
374 Archive [플러그인, 소스] KiriKiri 테스트 버전 20090723 [1] file whoami 2009-07-23 17854
373 Archive [플러그인, 소스] CustomScript 테스트 버전 Archive(09.21 02:50갱신) [1] file Hide_D 2008-09-15 17632
372 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 2010-01-01 17563
371 Archive [소스] ATPluginFrame 프레임워크 20091222 테스트 버전 [1] file whoami 2009-12-22 17551
370 Archive [소스] CustomDic v4 20110102 테스트버전 [1] file Hide_D 2011-01-02 17513