본문 바로가기

쓰기

이제는 ATCode 까지 손을 대버렸습니다 -_-



차이점이 느껴지십니까? ;;

/a:ATCode {
ENCODEKOR,FORCEFONT(5),
HOOK(0x004A5CDF,TRANS(ECX,SOW)), // 대사
HOOK(0x004D84F0,TRANS([ESP+0x4],SOW)), // 선택지
HOOK(0x004A5600,TRANS([ESP+0x8],PTRCHEAT)) // 이름
}

/t:MultiPlugin{preKoFilter{},CmdFilter{OVERWRITE(FALSE)},ezTransXP{},CmdFilter{}}

빨간 색 부분을 주의해 넣어주세요; SOW는 Script OverWrite 약자로.. 뭔가 대단한 이름이 생각나지 않아 그냥 붙였습니다. ㅡ.,ㅡ

* 원리

리얼라이브는 스크립트 전체를 메모리에 올려놓고 거기서 직접 데이타를 읽어 화면에 뿌려줍니다. 그래서 번역문이 원문보다 긴 경우 넣을 공간이 없기 때문에 원문 길이에 맞게 번역문을 넣어줘야 합니다.

예:
원문 - zz ABCD wxyy (여기서 zz, wxyy 등은 스크립트, ABCD는 대사임)
번역 : ABCD = 가나다라마바  (원문이 4자인데 번역문은 6자)
번역문 - zz 가나다라 wxyy (원문이 4자밖에 되지 않으므로 번역문 뒤를 잘라서 강제로 4자로 만든다)

SOW, 스크립트 덮어쓰기 후 복구 방식은 다음과 같이 작동합니다.

1. 번역문의 길이만큼 데이타를 백업받습니다. 위치는 번역문의 끝이 딱 원문의 끝에 맞도록.
원문 - zz ABCD wxyy
백업 - z ABCD (6자 백업)

2. 백업받고 난 원문 위치에 번역문을 복사합니다.
복사 후 원문 - z가나다라마바 wxyy (원본 대사의 앞부분 (z )이 깨졌음)

3. 대사 출력 포인터를 번역문의 처음으로 돌립니다. 곧, 원래 A 자리에서 출력해야 하는데 가 자리에서 출력하도록
대사 출력 포인터를 거꾸로 2칸 옮깁니다. 이건 포인터 바꿔치기와 동일합니다.

4. 대사가 출력됩니다.

5. 대사 출력 후 원문을 복구합니다.
복구 전 원문 - z가나다라마바 wxyy
백업된 원문 - z ABCD
복구 후 원문 - zz ABCD wxyy

Hide_D

2008.07.21
17:52:05
이젠 RealLive라고 플러그인 이름을 바꾸기만 하면 되는군요[..]

Hide_D

2008.07.21
18:08:25
으음...
그나저나 세이브는 어떨까요?

whoami

2008.07.21
18:10:56
세이브는 아마 안 될 겁니다;

... 그런데.. 한글번역중에도 세이브되는 포인트가 하나 있습니다; 선택지에서는 한글상태에서도 세이브가 됩니다.

나는누구인감?

2008.07.21
18:24:06

오오오. 굉장한걸 만드셨군요!

whoami

2008.07.21
18:24:52

아뇨. 지금까지 preKoFilter 나 CmdFilter 가 하던 일은 동일합니다. 단지 예전에 사용하던 덮어쓰기 방식은 글자수 제한이 있었지만 SOW는 글자수 제한이 없습니다.. 곧, 원문보다 번역문이 길어도 전부 표시해줍니다. 그것만 다르다고 생각하면 됩니다.

그래서 CmdFilter 에 OVERWRITE(FALSE) 로 덮어쓰기 모드 (글자 길이를 맞춰주는 모드)를 강제로 꺼 준 겁니다.

나는누구인감?

2008.07.21
18:50:29
ATCode에서 원문 받아서 CmdFilter로 넘기고 번역하고 CmdFilter에서 한번 더 거르고 번역된 문장이 ATCode로 와서 ATCode에서 번역된 문장을 스크립트와 합체해서 출력한뒤 ATCode에서 메모리에다가 원문을 다시 복구해서 문제발생의 소지를 없애버리는것 아닌가요?

저도 잘 모르겠습니다...
후앰아이님이 명쾌한 설명을 해주셔야할듯...

어이쿠 정착A님 코멘트를 삭제하시면 저만 바보되는디...

whoami

2008.07.21
20:45:36

지나가다정착한이A님// 맞습니다. 제대로 이해하신 것 같네요. 그래서 예전 코드인 ECX+0x3 인가? 를 안쓰고 코드가 완전 계산된 부분에서 ATCode를 설정해 준 것입니다. 아마 [레지스터+값] 이나 [레지스터], 레지스터 형식은 되겠지만 [레지스터]+값 혹은 레지스터+값, [레지스터+값]+[레지스터+값] 같은 형태는 제대로 작동하지 않을 것입니다. 이 점은 포인터 바꿔치기 방식도 동일할 겁니다.

아래의 대사 포인트 스크린샷을 참조하시면 기존의 ECX+0x3 하고 지금의 ECX 하고의 차이점을 찾으실 수 있을 겁니다.. 그리고 이 어셈블리 패턴은 *모든* 리얼라이브 게임에서 유효한 것 같습니다. 곧, 이 지점만 찾으면 모든 리얼라이브 게임에서 대사는 한글로 볼 수 있을 겁니다.

첨부 :
reallive.script.PNG [File Size:63.7KB/Download44]

Hide_D

2008.07.22
00:00:58
으음.... 제가 생각하는게 맞나요?

 문장들

번역문장 ■
  캐시 □
 포인터 ▽
라고 할때
        ▽             
■■■■■■■■■■■■■■■■■■■■■■■■
□□□□□□□□□□□□□□□□
이걸
     ▽             
■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■□□□□□□
요렇게 해서

              ▽ 
■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■□□□□□□


                            ▽
■■■■■■■■■■■■■■■■■■■■■■■■
□□□□□□□□□□□□□□□□
이렇게 간다는 건가요?

그 다음단계는
                    ▽
■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■□□□□□
이거구요?

whoami

2008.07.22
17:34:38
Hide_D군님// 네. 맞습니다.

미히

2008.07.26
17:35:59

감사감사 감사합니다 !!

List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155437   2008-08-03 2008-12-16 00:03
309 Talk [질문]UTF 코드를 SHIFT-JIS와 KS코드로 변환 [4] 호기심맨 13982   2008-09-02 2008-09-16 23:09
안녕하세요... 요즘 Aral이란 프로그램 덕에 갑자기 컴퓨터가 좋아진 사람입니다. 다시한번 모든 개발자분께 감사하구요.. 저도 아주아주 미약한 실력이지만 .. 참여해 보려고 합니다. (Aral에 도움될 실질적 가능성 0.0001%) 제가 관심가지는 부분은 단순님이...  
308 Archive CustomDic 0.3 20080107 또 오류 OTL [5] file Hide_D 13954   2009-01-07 2009-01-08 02:00
 
307 Talk 필터에 MFC로 모달리스 창을 띄웠을때=ㅅ=; [4] file Hide_D 13934   2008-12-27 2008-12-30 08:29
 
306 Archive [플러그인, 소스] DenyWord 테스트 버전 20080921 file Hide_D 13927   2008-09-21 2009-01-06 01:25
 
305 Archive 아야카시 실행파일 수정 [5] file 아랄 13873   2009-01-02 2009-03-24 11:42
 
304 Talk 기리기리 버그, [6] Hide_D 13829   2008-10-19 2009-01-06 01:48
기리기리에서는 라인 외부 함수로 @,*를 사용하고 내부 함수(매크로?)로 [] 를 사용하고 있는데, []안에 올바른 매크로가 들어가지 않는 경우, 튕겨버립니다 ezTransXP나 KiriKiri나 둘중에 한녀석 손좀 봐둬야 할듯 =ㅅ=; http://www.aralgood.com/zbxe/13278...  
303 Talk ATLAS 삽질중.. [3] file 아랄 13771   2008-11-09 2009-01-06 01:15
 
302 Talk 아랄 디버깅에서 전체문장이 나오고 다시 한글자로 나오는 경우에서요 [2] file 암흑마제 13666   2009-12-21 2009-12-22 23:37
 
301 Talk [질문] MBCS와 #UNICODE의 관계 [7] 호기심맨 13663   2008-12-14 2008-12-14 22:16
무모한 용기가 화를 부른다고.... '나도 필터란걸 만들어보자' 하고 쓸데없는 결심을 하는 바람에(결심만)...... 요새 1년을 기다려온 투3도 손도못대고 ....... Visual Studio 2005란거 깔고 낑낑대고 있네요.. (왜인지는 모르겠지만 현제 다운받은 아랄소스...  
300 Talk 고칠거? [10] Hide_D 13651   2009-11-28 2009-12-17 18:13
아랄 처음 켰을때 프로세스 먼져 보이는거 아랄만 아랄로 프로세스에 안뜬다는거. by 피시 제 덧[..] 이지트랜스 경로 지정하면 앞으론 고정해봅시다 ㅇㅇ  
299 Talk 참 오묘한 윈도우~ 호기 13568   2009-04-04 2009-04-04 01:02
실수로.... malloc으로 잡은걸 HeapFree 하고 있었네요... (머 정확히 말자면 HeapCreate로 새 힙영역 확보하고 할당 해제 하는걸 구축했습니다만.... 정작 할당부분에서 malloc을썼던거죠) 문제는 이렇게 잘못짠걸 1개월이나 지난후에 알았다는 겁니다. 즉 그...  
» Archive [플러그인, 소스] ATCode 테스트 버전 20080721 [10] file whoami 13514   2008-07-21 2011-06-28 01:25
이제는 ATCode 까지 손을 대버렸습니다 -_- 차이점이 느껴지십니까? ;; /a:ATCode { ENCODEKOR,FORCEFONT(5), HOOK(0x004A5CDF,TRANS(ECX,SOW)), // 대사 HOOK(0x004D84F0,TRANS([ESP+0x4],SOW)), // 선택지 HOOK(0x004A5600,TRANS([ESP+0x8],PTRCHEAT)) // 이...  
297 Talk 번역기(eztransXP)가 만드는 몇가지 문제들 - 1 [1] Hide_D 13437   2009-12-16 2009-12-16 21:32
이지트랜스가 만드는 몇가지 문제에 대해서 다뤄보려고 합니다. 우선 첫번째로 일본어의 히라가나, 또는 가타카나 한글자가 번역기로 입력될경우 결과물이 공백(length = 0)이라는 문제입니다. 이 문제는 대개 게임 엔진에서 '강제로 한글자씩 출력하는 경우'(...  
296 Archive [플러그인, 소스] FixLine 테스트 버전 Archive(08.31 12:12 갱신) [1] file Hide_D 13429   2008-08-30 2009-01-18 20:11
 
295 Archive [플러그인,소스] FixLine 테스트버전 081220_2 [2] file Hide_D 13376   2008-12-20 2008-12-21 08:29
 
294 Talk [오류] 확장자가 ats 인 파일 실행시 오류 납니다. [1] 암흑마제 13360   2009-12-20 2009-12-20 21:08
auto run invalid parameter or setting file! 이라고 뜨는데요 확장자가 ats 인 파일을 실행시키면 이렇게 되네요 참고로 아랄0.3이고 0.3은 설치 잘 되었습니다.  
293 OtherFiles fixline 테스트 2차 file 처음처럼만 13341   2008-12-16 2008-12-16 15:52
 
292 Archive [플러그인,소스] Korean Duplication Checker 20090115 [2] file Hide_D 13334   2009-01-14 2009-01-19 23:34
 
291 Talk 아랄0.3 20일자 업데이트 적용시 구동 스샷(반반??) [4] file 암흑마제 13305   2009-12-21 2009-12-21 18:35
 
290 Talk 튕기는 문제에 대해서 [6] Hide_D 13286   2009-11-26 2009-12-15 02:55
뭐 다들 아시다시피(?) 대부분의 문제는 보안툴이나 백신에 대해선 충돌하기 때문인데, 여태까지는 소극적으로 대응해왔는데 이젠 좀 적극적으로 뭐가 문제인지를 찾아봐야겠습니다. 해서 다음을 조사해서 보고서를 작성하는 프로그램을 만들어볼 예정입니다~ ...