본문 바로가기

쓰기

일단 대강 VNR엔진을 뜯어보고
공부는.. 일단 나름대로 하고있는데요.

VNR 후킹방식에 흥미로운 점이 있어서 소개해드리고 질문하려합니다.

여기서 다운로드 하거나
http://www.mediafire.com/view/m3rq26ill7qqz72/textunion.h
VNR하위 폴더,
\Library\Frameworks\Sakura\cpp\plugins\vnragent\engine\util
에서 해당 스크립트를 열어보실수 있습니다.

일단, 대강 질문하고 답변한 글인데요..
http://sakuradite.com/topic/1111
끄읍. 대강 번역했는데 프로그래밍에 잼병이라.. 발번역입니다.
===

textunion은 실제로는 도구가 아닙니다. OllyDbg로 많은 게임에서 발견한 텍스트 저장소 구조(text storage structure)입니다.
이를 TextUnion라고 이름을 붙였는데요, 텍스트 주소(text address)가 문자배열(character array)이나 스트링 포인터(string pointer)일 수 있기 때문에 말이죠(즉, C언어 공용체[C union]에서).
이 방법을 VNR의 GXP엔진에도 적용되었는데요. TextUnion에 어떻게 텍스트가 저장되는지에 대한, 저의 잘못된 추측때문에, GXP엔진을 내장번역할 때 팅기는 문제와 관련된것 같습니다.

그런데 말이죠, 게임엔진들이 텍스트를 저장하는 구조에서 많은 이런방식을 사용한다는 점과, TextUnion의 저장공간(capacity)이 항상 0x10이라는 점이 참 흥미롭습니다.
GXP, minori, SiglusEngine, Silky+/Elf, Waffle을 포함해서 많은 경우에 말이죠.
이는 DNA 유전자 구조와 비슷한 종류로써, 게임엔진들이 같은 조상에서 기원했다고 추측할 수 있죠.
제가 추측하기에는 같은 게임엔진에서 기원했던가, 같은 라이브러리(library)의 코드를 가져왔던가, 엔진개발에 같은 소프트웨어 개발자들을 고용한거라고 추측합니다.
===

음..  아랄 강좌에서 이런 추측에 대한 대답을(흘러가는 식으로) 본 거 같은데..

아무튼,
textcache와 textunion을 토대로 패턴을 찾아서 하는 방식을 참조해볼만하다고 생각합니다.
(잘만하면 처음나오는 엔진에도 대응되게.... 는 뭐 어렵겠지만..)

근데.. 왠지 기분이 이미 다 아실분은 아시고 답도 알듯.
그래서 질문드립니다.
조회 수 :
216
등록일 :
2015.09.25
19:52:58
엮인글 :
https://arallab.hided.net/2571770/cad/trackback
게시글 주소 :
https://arallab.hided.net/board_qna/2571770

TwoControl

2015.09.25
21:20:12

아랄 포인터 바꿔치기 방식중

'스마트 방식'이라고 명명한것이 그것입니다.


몇년전에 발견해서 개조해서 써서 커버했는데(발더스카이 시절)


패턴찾아서 쓰는건 최악이라 보고 있습니다.

물론 해당함수로 역추적해서 코드를 파고 있긴하지만


사람이 그것을 보고 해당 형태로 처리하는 곳이 아닌

그것을 취하고 나가는 별개의 수천곳의 장소중

번역된 대사만을 골라야하는 작업입니다.


저함수스트링을 가지고 경로나 파일명이나 명령어나

사용하는 온갖 스트링이 지나가기 때문에


필터링이 기리기리보다 최악이라고 보시면 되겠습니다. 



물론 VNR 같이 실 게임내용을 변경하는게 아닌

번역할 값만 참조하기만 한다면 제일 최적의 장소라고 볼수 있겠네요.

(출력되는 스트링값과 비교하기만 하면 쓸데이터 버릴데이터 필터가 어느정도 될테니)



(추천 수: 1 / 0)

미래도

2015.09.29
01:50:59

오오오오오 갓갓 ㅠㅠ..

먼저.. 댓글읽고 답글을 늦게 달게되었네요 죄송합니다;


사실 문제되는게 VNR에서 참고해서 띄우는게 아니라,

아랄처럼 게임내용바꿔치기 하면서 많은 문제를 가지고 있어서요. 컥;


아무튼 정말

감사합니다 >_<

List of Articles
주제 최종 글 댓글 조회 수sort
공지 아랄트랜스가 정상 동작하지 않는다면 꼭 읽어주세요. by Hide_D file 2020-05-14 14:28 ppqq 177 291752
대최면 AT코드 입력하고 적응 하면 요류 뜨는데 알려주세요 ㅠㅠ by 유리겐즈 file 2017-01-25 13:12 유리겐즈 3 1229
아마카노세이브문제해결좀요 by qhftuxmf file 2016-03-11 00:42 미래도 1 1229
컴 청소하다 발견한 드래곤 나이트4 리메이크를 하려고 하는데 by 제로나스 2014-09-29 01:11 암흑마제 1 1222
동급생1 at코드 아시는분;; by 엣지마스터 2013-04-07 21:40 굴러가는시간 1 1222
貸し出し妻 대출아내 마리나 시점 문제 해결법 아시는분??? by ntrman 2016-09-22 01:31 ntrman 2 1220
다크찡님 삼국연전기 신장판 코드와 삼국연전기 코드는 다릅니다. by 암흑마제 2013-04-26 00:24 다크짱 3 1219
노라와 황녀 세이브가 안됩닏ㄱᆞ by drank1234 2017-01-22 18:11 미래도 1 1217
venus blood lagoon 코드요청합니다 by 노조무 2019-01-06 00:52 twocomet 1 1215
아랄트랜스 오류? by 세피리아 file 2017-01-22 20:36 미래도 5 1211
dracu riot 번역 by GiveAndTake file 2013-08-23 10:47 LOD 1 1210
오토메도메인을 플레이하려고 하는데 게임이 그냥 종료됩니다 by 딸기우유주세요 2017-06-14 22:10 딸기우유주세요 6 1205
모험가의 마을을 만들자 at코드점 알려주세요~ by 쿠오옹 2013-04-17 21:48 쿠오옹 9 1197
도대체 왜 이렇게 나오는 걸까요? by Karasu file 2017-12-25 00:14 kelvin 1 1194
마도 교각 게임을 할때마다 이런식으로 나와요 혹시 아시는 분 있으신가요 by 꿈의자객 file 2013-04-30 18:42 ama1 1 1191
枯れない世界と終わる花(시들지 않는세계와 끝나는 꽃) 설치중 시리얼넘버.... by laforia 2016-12-01 06:43 DetectiveConan 2 1190
최면클래스 설치 하려는데 뜨는 오류 by 가루루몬 file 2017-04-30 18:07 DetectiveConan 2 1185
코드는 찼았는데 에러가 납니다.. 도움!! by SSddot file 2017-02-03 04:34 유베알레 1 1184
기리기리(키리키리) 엔진만 돌리면 에러가 납니다 도와주세요 아랄고수님들~ by Kianist file 2014-01-08 01:57 망쿨양 3 1184
天秤のLa DEA。 및 에우슈리 게임들 재설치 오류 by Kaleidoscope 2014-05-01 20:24 紅月 6 1181
Ran→Sem 해보려하는데 실행이 안되네요 by Kirim 2017-01-22 18:09 미래도 2 1178