NekoPack
엔진명은 시그니쳐를 따와서 NekoPack이라 다른곳에서도 부르기에 그렇게 부릅니다.
엔진 개발사가 어디인지도 제대로 모름.. (Rosebleu같긴한데.. 흠..) // Closed Source인듯..
==엔진정보==
사용 브랜드::
Rosebleu
Lime사 초기 작품 (현재 QLiE로 변경)
more (少女アクティビティ 이후 작품, KrKr에서 넘어옴) 등
Signature
단순판단조건:Dat파일의 유무로 판단합니다. (*.dat)
세부판단조건:Dat 파일에 시그니쳐가 NEKOPACK 입니다. (sig=NEKOPACK)
예시)
내부구성요소
게임실행파일 : exe
데이터 파일 : Dat
ㄴ이미지파일 : png , mng(영상)
ㄴ사운드파일 : ogg
ㄴ스크립트 : 확장자 X
참조
엔진에 대한, 더욱 자세한 프로그래밍적 정보는 이곳을 참조바람
https://github.com/morkt/GARbro/blob/3dc35d77e96f9ccce014d8241f26eac5d64a0ad4/ArcFormats/ArcNEKO.cs
==파인딩==
대전제: 아랄디버거로 매우 쉽게 찾아짐
(그럼에도 정리하는 이유는 패턴화, 자동화를 위해서...)
[ESP+0x8]로 구합시다.
(물론, [ESP+0x4c]로 구해셔도 됩니다...... 실제로 0x4c로 구해진코드도 있고..
암튼.... 안정화된 주소 구하려면 다 뜯어봐야겠죠. 음..(근데.. 굳이 필요가 있을련...지..?.... 는 누군가하겠지..))
바이너리패턴
558BEC81C4C4FDFFFFB8
ATcode 기본 틀:
FORCEFONT(5),FONT(Malgun Gothic,-13),ENCODEKOR,HOOK(주소,TRANS([ESP+0x8],PTRCHEAT),RETNPOS(COPY))
주소에 찾은 주소를 넣으면됩니다.
물론, 폰트는 마음대로 바꿔도되고요.
EX)
https://polaris.hided.net/aral_atcode/2674644
https://polaris.hided.net/aral_atcode/2674641
등.. 다양합니다..
엔진표기가 안되어있기에 따로 찾기가 귀찮으니 스킵..
==자동화==
실질적인 인식방법?
파일확장자/바이너리 서치
*.dat/binary search()
자세한 설명:
VNR에서 하듯이 그냥 Dat있으면,
바이너리 패턴대로 검색하고 없으면 무시하는 방식으로 합시다.
귀찮게 시그니쳐 확인하고... 그런거.... ㅁㄴㅇㄹ.. 왜하죠..
그런건 만약에 충돌현상 일어나서 해도 늦지 않을듯..
=====
요약:
실행 :
그냥 하면 안되는 경우 있음
=>
추출 :
그냥 잘 추출됨
=>
번역 :
특수한.. 명령어 구경을 못함..