kone
소미소프트

소미소프트

MZ 암호화 engine.bin 추가 분석 내용

05/04/2026, 19:04:25
정보
7165 views · 30 likes


F95스레드 : https://www.anime-sharing.com/threads/psa-malware-detected-from-members-upload.1847789/page-9

참고글 : https://kone.gg/s/somisoft/cvcwtgs27JN4fZA5Hs850b?p=2


위 게시글에서 등장한 바이러스로 의심받는다던 engine.bin이 궁금해서 추가로 분석해봤습니다.



결론 : 바이러스는 아니고, 암호화 DRM 시스템의 일부분으로 보입니다.



아래 분석 과정 내용은 신빙성을 위해 정리해두었으나 모두를 위한 내용은 아닙니다 ㅎㅅㅎ 관심있으신 분들만 읽어보셔요



1 - 매직 바이트

파일의 시작 부분을 매직 바이트(매직 넘버)라고 합니다. 이는 무슨 파일인지 알 수 있는 중요한 단서가 됩니다.


D2 03 DE C0 인데, 이를 little endian이라는 방식으로 읽으면 0xC0DE03D2가 됩니다.

C0DE가 심히 프로그래머의 웅취가 납니다.

RPGM 게임이 js를 사용하므로, js 엔진인 V8 관련 코드를 검색하여 매직 바이트가 C0DE인 것을 찾아보니



빙고! V8 엔진의 바이트코드 캐시 데이터(직렬화)에 쓰이는 매직넘버였습니다.

바이트코드라는 가정을 기반으로 나머지 내용을 분석해봅니다.


2 - 헤더 구조

파일의 초반부를 헤더라고 합니다. 전체적인 파일 구성이 어떤지 알려주는 개괄이라고 볼 수 있습니다.

검색해본 V8 cached data의 헤더 구조에 따라 정보를 추출하면 다음과 같은데 그냥 버전과 길이가 담겨있을 뿐, 행위 분석에는 의미가 없는 메타데이터이기 때문에 넘어가겠습니다.


3 - 내용 분석

이제 이후 내용을 분석해야 하는데, V8 cached data 구조에 대해 잘 검색이 되지 않습니다.ㅠㅜ

어차피 완전한 분석을 해야하는 건 아니니, 대충 읽을 수 있는 데이터(아스키 코드)만 추출해보도록 합니다.



굉장히 흥미로운 단서들이 나온 상황입니다.


일단 첫번째로, 디버거/리버싱 관련된 이름들이 나왔습니다. (올리디버거, IDA, 치트엔진, VM 탐지 등등... )

내 코드를 못뜯게 하기 위해서 저런 프로그램이 켜져있으면 실행 못하게끔 하겠다! 라는 의지를 보여줍니다.

두번째로는, JS API 흔적들이 보이네요. (require, process, console.error 등등..)

처음에 V8 cache 데이터라고 분석한 내용에 신빙성을 실어주는 문자열입니다. JS 코드가 컴파일 되었다는거니까요!

세번째로는, 시스템 명령이 보입니다.

tasklist /NH /FO /CSV (윈도우 프로세스 목록 가져오기, 첫번째 내용과 같이 프로세스 목록을 분석하는데 사용하는 코드인가 봅니다.)

네번째로는, 우리에게 친숙한 base64 인코딩 데이터가 보입니다.

NDE6HR8Udjw0NA==

NDE6HxQdCy5qdjw0NA==

각각 복호화하면 b'41:\x1d\x1f\x14v<44',  b'41:\x1f\x14\x1d\x0b.jv<44' 인데, 이를 XOR로 브루트포스해봅시다.

짜스! 우리에게 익숙한 DLL이름들이 나왔습니다.


마지막으로는 64길이의 HEX가 평문으로 있네요.

 E7FFFFC20C008B75E48B4510FF30E8760B000059C38BFF558BEC83EC1CA11030

 3000008D44240C0F859800000031C0C704240030000089F18944240489442408

 해시라고 하기엔 글자 분포가 이상합니다.

 클로드에게 도움을 요청해봅시다.


아하! 머신코드라네요. 도대체 머신코드가 DRM에 왜 있는걸까요?

앞선 문자열들과 조합해서 상상을 해보자면, 머신코드가 있을만한 데이터는 DLL이 유력하겠네요.

DLL들의 무결성을 검사하기 위해 일부분을 저장해둔게 아닐까? 라는 합리적 의심을 할 수 있겠습니다.

DLL에서 저 HEX가 있을까요?


 빙고! 있었습니다.


4 - 마지막 정리

내용을 정리하자면,

가. engine.bin은 V8 캐시 바이트코드를 저장하고 있으며,

나. 게임을 뜯어보거나 수정할 수 있는 환경을 막기 위해 프로세스를 조사하여 디버거, 디스어셈블러, 메모리 변조 등을 탐지하려고 하고,

다. DLL의 변조 또한 막기 위해 일부 데이터를 저장해두어 비교가 가능하게끔 데이터를 담고 있다. 라고 볼 수 있겠습니다.


디버거 막고 디스어셈블러 막는건 바이러스의 동작 아니야? 라고 생각 하실수도 있지만

검사하는 프로세스명 중 게임 리소스 추출도구 및 키젠, 치트 엔진 등 악성 코드 입장에서 1차적으로 막을 이유가 없는 프로세스들을 검사함과 동시에

DLL의 위변조를 검사하는 프로세스가 있기 때문에 악성 행위로 보기에는 부적합한 측면이 있다고 보여집니다.

(DLL이 정상이라는 가정하에.. VT 결과로는 별 이상 없어보입니다.)

그렇기 때문에 저는 engine.bin 또한 다른 스크립트를 암호화한 DRM의 일부라고 결론짓겠습니다. (아마 암호화툴에서 심어둔거겠지용)

하지만 왜 멀쩡한 게임을 암호화를 해서 재배포를 하는지는 .. 정말 악한 취미네요 허허

30
22 comments
Sign in to comment
05/04
이런건 알려면 뭘 보고 배워야 하는건가요 일단 ㄱㅊ
(무슨 말인지 모르겠다. 그냥 존나 가만히 있어야 겠다.)
05/04
완전 재밌다
05/04
온라인 게임에서 안티 치트 역할을 하면서 복호화 키를 갖고있는 파일을 만들어두고 그 파일이 있으면 변조된 파일이라는 표시네
저 암호화를 통해 불안감을 심어주는게 목적이었나 싶어서 한층 더 괘씸하네
05/04
05/05
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㄹㅇ
걍 악질임
05/05
므시따잉....
05/05
항상 글 잘보고 있어요. 개추 드립니다. 질문 드리고 싶은 게 있는데, https://kone.gg/s/somisoft/do-aMZlVIbV656bKpu0j0b?p=1&q=RJ01611497 요 링크의 RJ01611497 파일이랑 https://kone.gg/s/somisoft/dCtCjgMdQ0H8X_y93puP0b?p=1&q=RJ01573710 요 링크의 RJ01573710 파일이 안전한 파일인지 확인하고 싶은데 어떤 방법으로 확인할 수 있을까요? 바이러스 토탈이랑 유료 백신 돌리는 것만으로 충분할지 모르겠네요.. 요새 지능적으로 백신 피하는 멀웨어들도 많은 거 같아요. 혹시 뭘 중점적으로 보면 좋을지, 어떤 파일을 깠을 때 어떤 문제점이 있으면 의심해볼 만한 단서인지 팁 주실 수 있으실지..ㅠㅠ
05/05
글 잘 보고 계신다니 제가 더 감사합니다ㅎㅎ 참 좋으면서 어려운 질문이네요 ㅠㅠ 악성행위라는게 범위와 깊이가 너무도 넓다보니 들이실수 있는 품에 따라서 분석 깊이가 결정될 것 같습니다... (저도 커뮤니티에 의심 제보가 있는 경우에만 까보는 편입니다) 개괄적인 이야기만 드릴수 밖에 없는 점 양해 부탁드립니다 ㅡㅜ 일단 진짜 끔찍히 고도화된 바이러스가 아닌 이상, 게임을 구동할 때 악성 코드가 실행됩니다. 말씀해주신 두 게임 모두 rpgm 계통으로 확인되는데, rpgm 게임을 실행할 때 실행되는 코드들은 .exe, .dll, .js 정도가 있겠네요.
05/05 Edited 05/05
사실 폴더 내 이 파일들만 통째로 분석할 수 있다고 하면 바이러스에서 안전하다고 판단할 수 있습니다. 이미지, 오디오 파일이 감염되었니, engine.bin이 이상해보이니.. 해도 결국 실행시켜주는 건 .exe, .dll, .js 들이니까요. 다만 게임 엔진상의 결함을 사용하는 경우도 있고(parsing exploit 등), js야 분석하기 쉽지만 exe, dll같은 바이너리 리버싱 분석은 수년간의 공부가 필요한 정말 어려운 분야입니다 저도 잘 모르는 분야에용.. 그럼 저희 같은 아마추어 수준에서는 js 코드 분석 외에는 부차적인 방식을 택할수밖에 없겠죠? 예를 들어 폴더 내 게임 엔진의 경우 기본적으로 nw.js를 그대로 사용하기 때문에, 공식적으로 배포되는 nw.js SDK를 다운받아 비교하여 위변조, 추가된 파일이 없는지 확인할 수 있을겁니다. (물론 버전이 더럽게 많아서.. 좀 귀찮을 것 같네요) (올해 초 채굴 멀웨어의 경우 SDK중 dll을 위변조한 케이스)
05/05 Edited 05/05
게임 리소스를 다 뒤져서 파일 형식에서 벗어난 데이터가 없는지 확인할 수도 있을거구요! 혹은 파일을 분석하는 정적 분석을 포기하고 동적 분석으로 넘어가서 가상 환경에서 게임을 구동해서 procmon, api monitor, wireshark, ollydbg 등등의 도구로 프로세스가 하는 행위를 분석하는 방법도 고려할 수 있습니다. 동적 분석을 기초 설정 없이 시도할 수 있는 클라우드 Sandbox라는 것도 있어서 Hybrid-Analysis, Anyrun 같은 플랫폼에 파일 업로드만 하면 가상 환경에서 자동으로 실행, 행위 분석 리포트를 알려주기 때문에 바이러스 토탈보다 훨씬 얻으실 수 있는 정보가 많을 거에요! 다만 클라우드나 동적 분석도구들을 우회하는 바이러스도 많기 때문에 100% 확신할 수 없다는 단점도 있습니다. 원하시는 명쾌한 답변이 아닐 것 같아 죄송스럽네요 정확한 답이 없는 분야이다보니... ㅠㅠ 화이팅입니다!!
개발자가 암호화 하는거면 이해를 하는데 불법 배포 하는 새끼가 암호화를하면 아주아주아주 수상함
바이너리 내 아스키만 읽어서는 위험도를 판단하기 어렵다는건 뭐 말안해도 잘 알테고, 그와 별개로 내 생각은 아마 개짓거리하기 전에 사용자 피로도를 올리고 있는중이라고 생각함. 매번 글쓴이처럼 파헤쳐 볼수 없는 노릇이니 한 반년정도 노이즈를 준다음 귀찮음에 나가떨어질 쯤 모두를 예스맨으로 만들어버리는 방식이 아닐까 하는 의심이 듬. 코드 작성해서 업로드한 새끼도 관련 사이트들 모두 모니터링하고있을테니깐
05/06
그쵸 연초 채굴 멀웨어마냥 해시 기반 API 콜 같은 회피 기법도 있으니 constant pool 아스키 추출만으론 100% 장담 어렵죠.. ㅎㅎ 바이트코드인 거 확인한 다음 디컴파일 해보려 했는데, 같은 V8 버전으로 Node 빌드하라길래 귀찮아서 멈췄어요 ㅠ
05/07
와 개쎽시하다
Sign in to comment
[직번][sanatuki]개변태아이돌♥ 에로에로세뇌라이브시작이야♥
동인
돋돋돋돋돋
05/10 24011 90
[업로드 갱신안내] [PC-모바일-Linux-macOS] [공식한글]-존재감 없는 여동생과의 소박한 일상 1.02
번역
Ghost
05/10 35175 82
[복구] 복구된지 오래된 용량 적은 게임 5개
복구
몬스터가아니다신이다
05/10 34590 81
[AI번역+검수] 후타) [Fence 14]자지가 생겨버린 우등생짱
동인
vereeeev
05/10 31564 183
버) RVNWaWRlb01ha2Vy 2026.02~04
영상
xjabdks
05/10 31496 139
[Minamihama Yoriko] 교배 라이선스 ~인기 없는 내가 최강 유전자?!~
동인
1uF
05/10 30148 185
[Itohana] 건방진 소꿉친구가 나를 빼앗으러 오는 승리 √
동인
1uF
05/10 32983 136
26.05.12, 90일) 1-2. RJ310786 ReBF v2.0. 개선 26.05.12.7z
복구
ㅇㅇ
05/10 18157 60
[Takeda Aranobu] 치처녀 풍기위원의 모두에게 말할수없는 음미한 부탁 9
동인
1uF
05/10 16670 55
[mahouya] 패배 엔드에서 레오나 공주가 범해지는 이야기
동인
고전발굴
05/10 20177 24
[후타주의] 후원보급,Br@n) 네로짱 + 통합편집
영상
비밀봉투
05/10 19036 77
[さるら] 축제에서 의상이 풀려버리는 만화
동인
bender
05/10 16494 42
[직번] [armadillo daiji] 갸루 모녀의 돈버는 방법2
동인
maha1004
05/10 35645 165
Nⓐjⓐr 41개 모음
영상
darkunicorn
05/10 22094 96
[구매보급][한국어자막판] 거유 메스○키 마왕님과 마족 메이드장이 더러운 자○에 아양 떨며 봉사하게 되는 이야기♪
소리
이름뭐하지
05/10 19666 68
[버전업알림] 교칙은 절대적이다
번역
rack11
05/10 40604 73
Br@n)벽람항로 임플래커블 + 통합편집
영상
비밀봉투
05/10 15602 80
[구매보급/미번/이종간/촉수] 서큐버스 헤븐
미번
루파조아
05/10 21294 32
AI, 셀레스포니아) 마카이 지구의 주민
야짤
miso5
05/10 11181 101
에바네시아 (스타레일)
영상
브레머튼
05/10 21867 101
[번역요청] Abyss Of Pleasure 0.2.6
미번
0000p
05/10 15605 48
AI) 무인도 사원 여행기 시즈하 첫H장면
야짤
zerocoke
05/10 8191 33
[구매보급/공식번역] RJ01567096 교칙은 절대적이다
번역
rack11
05/10 52511 183
[구매보급] RJ01605925 고대의 기사와 제물의 무녀 26.05.10
미번
gkqisq
05/10 15475 74
후원보급,Br@n)버튜버 시온,보탄 + 통합편집
영상
비밀봉투
05/10 21915 86
도트/움짤 교배 프레스
야짤
angkimozzi
05/10 19035 45
[구매보급] [버전업] RJ01582213 라스티 던전 2 ver1.0?? 26.05.10
미번
gkqisq
05/10 9277 51
[aI번역-노모] 거유 여성이 둘 없으면 발기하지 못하는 남편을 위해 친구를 데려온 아내 -총집편
동인
mybest
05/10 30650 125
미번) 할 수 있는 후배 아오이 짱! ~2인 동거 시작해버렸습니다~ (できる後輩アオイちゃん! ~二人ぐらし始まっちゃいました~)
미번
darkunicorn
05/10 12087 33
미번) 나츠이로 레슨 v1.1.0b (なついろレッスン~the last summer time)
미번
darkunicorn
05/10 15293 25