中文说明请戳这里
Unity IL2CPP 리버스 엔지니어
MonoBehaviour 및 MonoScript 추출하는 데 사용할 수 있습니다.libil2cpp.so 파일을 지원합니다 Il2CppDumper.exe 실행하고 IL2CPP 실행 파일 및 global-metadata.dat 파일을 선택한 다음 프롬프트대로 정보를 입력하십시오.
그런 다음 프로그램은 현재 작업 디렉토리에서 모든 출력 파일을 생성합니다.
Il2CppDumper.exe <executable-file> <global-metadata> <output-directory>
복원 된 모든 DLL 파일을 포함하는 폴더
보기 위해 dnspy, ilspy 또는 기타 .net 디 컴파일러 도구를 사용하십시오.
Ube, Ube를 위해 Unity MonoBehaviour 및 MonoScript 추출하는 데 사용할 수 있습니다.
IDA를 위해
IDA의 경우 IL2CPP.H 파일을 읽고 IDA에서 구조 정보를 적용하십시오.
구조 정보 헤더 파일
Ghidra를 위해
Binaryninja의 경우
Ghidra의 경우 Ghidra-Wasm-Plugin과 함께 작업하십시오
ida.py, ghidra.py 및 il2cppbinaryninja
모든 stringliteral 정보가 포함되어 있습니다
모든 구성 옵션은 config.json 에 있습니다
사용 가능한 옵션 :
DumpMethod , DumpField , DumpProperty , DumpAttribute , DumpFieldOffset , DumpMethodOffset , DumpTypeDefIndex
GenerateDummyDll , GenerateScript
DummyDllAddToken
RequireAnyKey
ForceIl2CppVersion , ForceVersion
ForceIl2CppVersion 이 true 이면, 프로그램은 IL2CPP 바이너리에 대한 파서를 선택하기 위해 ForceVersion 에 지정된 버전 번호를 사용합니다 (메타 데이터 파서의 선택에는 영향을 미치지 않음). 이것은 일부 오래된 IL2CPP 버전에서 유용 할 수 있습니다 (예 : 프로그램은 제대로 작동하기 위해 IL2CPP V20 (Android) 바이너리에서 v16 파서를 사용해야 할 수도 있습니다). ForceDump
NoRedirectedPointer
true 이어야합니다. ERROR: Metadata file supplied is not valid metadata file.올바른 파일을 선택하십시오. 때때로 게임은 콘텐츠 보호 목적 등을 위해이 파일을 난독화할 수 있습니다. 그러한 파일의 deobpuscating 은이 프로그램의 범위를 벗어나므로 deobfuscating에 관한 문제를 제기 하지 마십시오 .
파일이 libil2cpp.so 이고 루팅 된 Android 전화가있는 경우 다른 프로젝트 Zygisk-IL2CPPDUMPER를 사용해 볼 수 있습니다.이 보호를 우회 할 수 있습니다.
ERROR: Can't use auto mode to process file, try manual mode. PC 플랫폼의 실행 파일은 GameAssembly.dll 또는 *Assembly.dll 입니다.
새 문제를 열고 파일을 업로드 할 수 있습니다. 해결하려고합니다.
ERROR: This file may be protected. IL2CPPDUMPER는 실행 파일이 보호되었음을 감지하고 GameGuardian 사용하여 Game Memory에서 libil2cpp.so 덤프 한 다음 IL2CPPDUMPER를 사용하여 프롬프트를로드하고 팔로우하고 대부분의 보호를 우회 할 수 있습니다.
루팅 된 안드로이드 폰이있는 경우 다른 프로젝트 Zygisk-IL2CPPDUMPER를 사용해 볼 수 있습니다. 거의 모든 보호를 우회 할 수 있습니다.