본문 바로가기

쓰기

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
번호 제목 글쓴이 날짜 조회 수
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155435
389 Talk 추후 업데이트(언젠가, 누군가) 해야 할 사항입니다. (7/28) [5] TwoComet 2013-01-22 1858
388 Archive [플러그인] ATCode, DumpText, DenyWord 130104 [2] file EroGame 2013-01-04 1390
387 Archive [플러그인] ATCode 121201 [1] file EroGame 2012-12-01 1508
386 Archive [플러그인] DumpText 121114 [6] file EroGame 2012-11-14 1084
385 Archive [실행파일, 플러그인] AralTrans, ATCTNR, ATCode 121106 [10] file EroGame 2012-11-06 1720
384 Archive [실행파일, 플러그인] AralTrans, ATCTNR 121104 [14] file EroGame 2012-11-04 1680
383 Archive [실행파일, 플러그인] AralTrans, ATCTNR 121103 [1] file EroGame 2012-11-03 1200
382 Archive [실행파일] AralTrans 121101 - 테스트 - 파기 [10] file EroGame 2012-11-01 1238
381 Archive [플러그인] ATCode 121025 file EroGame 2012-10-24 1070
380 Archive [플러그인] ATCode 121021 file EroGame 2012-10-21 967
379 Archive [플러그인] ATCode 121020 (파기) file EroGame 2012-10-21 988
378 Archive [플러그인] ATCode 121015 [1] file EroGame 2012-10-14 972
377 Archive [플러그인] ATCode 121014 (수정) - 파기 [6] file EroGame 2012-10-14 3027
» Archive [플러그인] ATCode 121005 (필독사항포함) [1] file EroGame 2012-10-05 1008
375 Archive [플러그인] ATCode 121003 file EroGame 2012-10-03 1014
374 Archive [플러그인] ATCode 121001 [10] file EroGame 2012-10-01 952
373 Archive [플러그인] ATCode 120906 [2] file EroGame 2012-09-06 1063
372 Archive [플러그인] ATCode 120827 [4] file EroGame 2012-08-26 1304
371 Archive [플러그인] ATCode 120826 (120906 수정) file EroGame 2012-08-26 1436
370 Talk ATCode 120817 [1] EroGame 2012-08-17 1283