린엔진 개념 정리좀 도와주세요

홈 > 린엔진 > 린엔진 게시판 > 질문
린엔진 게시판

린엔진 관련 게시판입니다.

린엔진 개념 정리좀 도와주세요

3 이지 6 7431 0

먼저 제가 알고있는 개념은


il2cppdumper를 사용하기 위해서 'libil2cpp.so와 global-metadata.dat'가 필요하다


 'libil2cpp.so, global-metadata.dat'를 구하는 법


두가지 방법이 있는 것 같다.


첫번쨰 방법

1-1.

ld에서 원하는 어플을 받고 실행하여 추가 업데이트까지 진행 후 종료,

구글 스토어에서 앱추출 다운,

(원하는 어플 게임을 A라 칭하자)

앱추출 어플을 실행하고 원하는 어플을 추출하면 pc에 A.apk 파일이 존재함

A.apk 파일을 압축프로그램으로 연결하여 실행하면 쉽게 'global-metadata.dat' 를 찾을수 있다.


1-2.

libil2cpp.so를 추출하기 위해

ld를 실행하고 린엔진을 실행한뒤

listen -> attach (attach시 입력하는 package 등 http://linforum.kr/bbs/board.php?bo_table=free&wr_id=414#c_482 참조) 게임 실행

우측위에 패키지명이 나오면 정상적으로 된 것 

(어떤 어플들은 어태치 후 어플 실행하면 튕김 이건 어떻게 뚤어야 하는지 모르겠음... 포털에도 관련 글은 없는듯)

그 후 린엔진 덤프 기능을 통해 추출

http://linforum.kr/bbs/board.php?bo_table=linBoard&wr_id=10&sca=%EA%B0%95%EC%A2%8C 

참고



두번째 방법

2-1.

처음부터 구글에 'apk 다운' 검색 (https://apkpure.com/kr/)

이곳에 게임명 입력후 '버전'을 클릭

최신버전 혹은 희망 버전 xapk 를 다운

xapk를 압축프로그램으로 연결하면 용량이 큰 apk가 두개 있다.

이 두개를 압축 해제하면

각각의 압축해제 폴더에 'libil2cpp.so, global-metadata.dat'가 있음



이제 잘 이해가 안되는 부분 질문이에요 



1. 첫번째 방법과 두번쨰 방법의 파일('libil2cpp.so, global-metadata.dat') 차이가 뭔지 정확하게 모르겠음


두번째 방법이 확실히 쉽지만 뭔가 최신버전은 다운받더라도 그 후에 어플 실행해서 생기는 추가업데이트가 적용이 안된 상태라서


덤프후 dll을 열어 봤을때 코드가 다를 수 있나요?


2. attach 후 어플 실행하면 어플 꺼지는 어플들은 또 다른 attach 방법이 있나요??? 아니면 우회 플러그인을 받으면 대부분 되나요?


3. il2cppdumper로 추출한 dll 폴더에서 수 많은 dll중에 assembly-csharp.dll을 열어서 핵심코드를 찾는 이유가 따로 있나요?


  아니면 게임마다 열어야 하는 dll이 다른데 예제의 게임이 assembly-csharp.dll를 사용하는건가요?




6 Comments
9 BeastB 2020.09.08 16:51  
1. => 언급하신 두번째 방법은 libil2cpp.so 나 global-metadata.dat 파일이 암호화나 패킹되어 있을 수 있기 때문에 1번방법으로 메모리에 올라간 데이터를 덤프해 오는 거구요

2. => 린엔진말고 frida 로 해보거나 frida도 꺼진다면 보안 솔루션을 분석해보셔야 합니다.

3. unity 3d 홈페이지 (https://docs.unity3d.com/kr/2019.4/Manual/ScriptCompilationAssemblyDefinitionFiles.html)
"Unity는 기본적으로 거의 모든 프로젝트 스크립트를 Assembly-CSharp.dll 관리되는 어셈블리로 컴파일합니다. "
라고 적혀있듯이 게임 시스템 전반의 대부분의 코드를 포함하고 있기 떄문에 assembly-csharp.dll 에서 핵심코드를 찾는다고 볼수 있겠네요.
3 이지 2020.09.14 17:31  
빛과 같은 답변 감사합니다.

개념정리가 안되 막혔었는데 이해가 한번에 됫습니다.^^

행복한 하루보내세요~
1 빈이 2022.09.24 09:40  
감사합니다
2 Arzeina 2020.09.25 00:43  
좋은 질문과 좋은 답변이네요 굿 ^^
1 연구원 2020.11.30 16:55  
말씀하시는 수준이;; 다르네요 얼른 배워야겠습니다ㅠ

Congratulation! You win the 10 축하드립니다! 당첨되셨어요~!

1 레몬트리 2021.08.12 17:19  
하나 하나 배워 갑니다.