MYS projects/코드 파인딩 프로젝트

코드 파인딩 프로젝트 620

자본주의자 2024. 3. 23. 17:39

[240329][Archive] アンラベル・トリガー

 

[스크린샷 이미지 클릭 시 확대]

 

파인더의 한 마디:

NEXTON 산하의 신 브랜드 Archive의 처녀작입니다.

Aino+Links의 창작그녀의 연애공식과 동일한 원화가와 시나리오 라이터 겸 감독의 작품입니다.

 

이 세계관에는 3개의 종족과 3개의 국가가 있습니다.

 

인간 종족 휴므가 주축인 카지 합중국, 미합중국(또는 러시아를 제외한 1대전 연합국)이 모티브인 국가입니다.

아메리아국과 야마토국이 통일되어 생긴 국가라는 것으로 보아 일본식 문화도 포함되어 있는 것으로 보입니다.

 

흡혈인 종족 밤프가 주축인 빌카르 제국, 독일 제2제국이 모티브인 국가입니다.

황제와 귀족정을 생각하면 나치의 제3제국이 아닌 제2제국이 모티브로 보입니다.

 

수인 종족 아니마가 주축인 지미일 공화국연방, 소비에트 사회주의 공화국연방이 모티브인 국가입니다.

러시아 제국이 모티브로 생각되는 루라 제국이 무너지고 생긴 후계국이라 합니다.

 

세계 정세는 각 국의 모티브도 고려하면 현실의 1차세계대전이 독일의 항복이 아닌 교착 상태로 평화 협상한 듯한 분위기입니다.

빌카르 제국이 카지 합중국을 침공하였으나 합중국의 신무기 '아마게돈'으로 인해 교착 상태에 빠지고 점령지는 제3국인 지미일 공화국연방의 감독 하에 중립지대이자 본편의 무대인 프로스트 중립특구가 세워졌다는 설정입니다.

'아마게돈'의 부작용에 의한 기상이변으로 중립특구의 날씨는 영원한 겨울이 되었다고 합니다.

 

각 종족 별로 1명씩 총 3명의 메인 히로인과 각각의 메인 히로인의 관련인 1명씩 총 3명의 서브 히로인이 있습니다.

.

.

.

Unity(CatSystem) 엔진 MONO 버전입니다.

MONO 버전이라 Light의 마가츠바라이 (https://capita.tistory.com/733)와 동일하게 XUnity.AutoTranslator를 이용하여 폰트 교체하려 했지만 글자 외곽선이 사라지는데 백로그 바탕이 흰색이라 백로그를 읽을 수 없게 되었습니다.

그래서 IRODORI의 팔검전 (https://capita.tistory.com/805)에서 사용한 방식인 직접적으로 에셋의 폰트를 교체하는 방법을 사용하였습니다.

 

Light의 마가츠바라이와 다르게 대사가 대사창 밖으로 나갈 경우 진행이 안되는 현상은 없어졌습니다. 

 

2024년 03월 23일 PM 05시 39분 : 코드글을 게시.

2024년 03월 24일 PM 09시 49분 : 한글 폰트 수정 파일 수정.

               Optimum으로 생성된 폰트로 수정. (기존과 큰 차이는 없음) 

2024년 03월 29일 PM 05시 58분 : 한글 폰트 수정 파일 수정.

               체험판 코드를 본판 코드로 수정.

2024년 03월 30일 AM 01시 03분 : 바이너리 패치 수정.

               굉장히 특수한 상황에서 AralTrans 후킹 지점 진입 전후로

               레지스터(EAX)가 보존되지 않아 발생할 수 있는 문제를 수정.

               이 경우 첫 글자가 네모나 다른 글자가 되고 뒷 부분에 원문이 있는 현상이 발생한다.

2024년 03월 30일 PM 04시 10분 : ATdata.7z 수정.

               CustomDic.txt의 단어 추가 및 수정.

2024년 03월 31일 PM 04시 24분 : 바이너리 패치 수정.

               굉장히 특수한 상황에서 AralTrans 후킹 지점 진입 전후로

               레지스터(EAX)가 보존되지 않아 발생할 수 있는 문제를 확실하게 수정.

이를 대략적으로 재현하려면 ATcode 설정창에서 설정을 바꾸면(사본/원본 후킹 변경 후 복원 등) AralTrans가 재후킹을 하는데, AralTrans 후킹지점 함수(90 90 90 90 90 C3 등)를 CALL 하는 지점에 Execution 브레이크 포인트를 걸고 그게 걸리면 [EAX]에 Write 브레이크 포인트 걸면 ATCTNR.DLL에서 복귀할 때 바이너리 패치로 설정한 NOP필이 아니라 재후킹으로 인해 아래와 같이 제로필로 복구되어 있음을 확인할 수 있다.

원인 모를 이유로 인해 재후킹 발생이나 또는 알 수 없는 다른 원인으로 생기는 문제로 추측된다.

2024년 03월 31일 PM 06시 03분 : ATcode 수정, 바이너리 패치 수정.

               위의 이론을 바탕으로 90 90 90 90 90 C3를 대체할

               재후킹 등으로 인한 제로필에 무관한 후킹지점 함수를 만들고 적용.

               제로필되면 CMP EAX,EAX가 ADD AL,AL이 되지만 어차피 EAX는 복구된다.

               ESP가 기존에 비해 8만큼 밀리는 걸 잊지 말 것.

2024년 04월 19일 PM 03시 05분 : ATdata.7z 수정.

               CustomDic.txt의 단어 추가 및 수정. (Extra, After 제외 올클리어)

 

메모:

내부 후킹 지점 : 55 8B EC 57 56 83 EC 30 8B 75 08 8B 45 0C 8B 40 08 패턴의 맨 앞

내부 후킹 지점에 브레이크 포인트를 걸고 걸리면 바이너리 패치 진입점에 브레이크 포인트를 걸어서 콜함수 체크문을 비교하여 수정

EIP를 이용한 헤더 상수 수정 필요, 바이너리 패치 진입점에서 되돌아가는 점프문 수정 필요.

자세한 내용은 https://capita.tistory.com/733 참고.

 

아래는 바이너리 패치 주석 스샷.

 

※주의. 최신 아랄을 쓰지 않다가 발생한 문제는 책임지지 않습니다ㅇ.ㅇ

(Unity(CatSystem) 엔진으로 ... 슬슬 안정화 된건가..?)

(PS. 언제나 그렇듯이 일본어 로캘에서만 테스트 했습니다. 일본어 로캘은 만병통치약.)

----------------------------------------------------------------------------------------------------------------------------------------

[유의사항]

- 바이너리 패치로 내부적으로 한 번 더 후킹과정이 필요하여, 게임 실행 후 1~2개의 대사는 번역되지 않습니다. 게임 시작을 클릭하고 3번 대사를 넘기거나 로드 후 대사를 3번 정도 넘기고 백로그 점프 하면 내부 후킹되어 번역이 시작됩니다.

- 휴대폰 메시지는 백로그나 DumpText 필터로 읽기 바랍니다.

- 특정 크랙의 경우 アンラベル・トリガー.exe가 아닌 アンラベル・トリガー.bin에 후킹을 걸어야 함에 유의.

굉장히 특이한 방식의 크랙이라 바로가기가 먹히지 않아서 매 번 적용해야 하는 듯 하다. 매우 불편하므로 가능하면 정품이나 다른 걸 쓸 것.

----------------------------------------------------------------------------------------------------------------------------------------

한글 폰트 수정 파일(내장된 SDF 폰트를 NanumGothicExtraBold SDF로 교체한 것.):

아래의 압축을 풀어서 나온 sharedassets0.assets를 "게임 설치 폴더\アンラベル・トリガー_Data"에 있는 sharedassets0.assets와 교체 (기존 파일 백업 권장)

sharedassets0.7z.001
19.92MB
sharedassets0.7z.002
7.95MB

 

 

바이너리 패치:

 

ATcode:

Filtercode:

 

(기본사항: 코드 적용하기 전에 ATdata.7z을 압축 풀 것. 이미 ATdata.zip이 생성되었다면 게임 종료 후 ATdata.zip를 지우고 다시 ATdata.7z을 풀어서 넣을 것.)

(위의 사항을 잘못지켜서 FixLine.dat가 잘못 적용되면 게임이 완전히 멈추는 현상이 발생할 수 있다.)

ATdata.7z
0.00MB

----------------------------------------------------------------------------------------------------------------------------------------

(제가 뭐라고 지껄여도, 여러분이 덧글을 쓰건 말건은 여러분의 자유이며 권리입니다. -.- )

(다만, 아청법의 두려움덧글 파워보다 커지는 순간, 블로그폐쇄할 수 밖에 없습니다. ㅇ.ㅇ;; )

(왜냐구요? 블로그는 딱히 자유로운 덧글 빼고는 즐거운 점이 한 개도 없기 때문이지요.ㅇㅇㅋ)

 

 

Tistory는 로그인 없이 덧글을 달 수 있어요.

 

요,...(oㅅo)