Git Product home page Git Product logo

ggil2cpp's Introduction

Il2cpp Module for GameGuardian

GameGuardianTelegram

About Module

This script is only needed to make it easier to work with Il2cpp. This script works through the program GameGuardian. With the help of the module, you can get information about the method or class that interests you. This script is not positioned as a dumper, and is only needed to simplify working with Il2cpp.

The module has support for the Lua plugin for VS Code, that is, some functions have a description that this plugin can display.

The script is divided and available for assembly. You can also use an already built version from the build folder or from the Releases tab. Script is built using the luabundle library.

All documentation about the module is available on the wiki

ggil2cpp's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ggil2cpp's Issues

HybridCLR

Background

Games now are starting to adapt HybridCLR, as it claims: 'high performance, low memory'. It introduces some AOT changes of Unity into 'AOT + Intrepreter' to aim for 'C# Hot Update Technology'. This HybridCLR is also called as 'hotfix update': HybridCLR

Problems

Currently, GGIL2CPP fails to obtain classes, fields, and methods information directly from the game memory. It also breaks all IL2CPP dumpers, even that executed in runtime, like: Zygisk-Il2CppDumper. Pointing fields / methods with specific offset still works, looks like the changes breaks the 'string' correlation as most dumpers also include function names, etc.

*This issue is reserved as templates once the workaround to this issue is widely adopted.

help

Excuse me, how to enter any address to get the class and so on?

Full dump.cs

Is it possible to generate full dump using GG, like Zygisk-Il2CppDumper does? I wanted to dump protected game but it crashes with zygisk module, Perfare has yet to respond. I don't care if the GG process is really slow

Field not found

Hello, I tried to use your Il2cppApi tool to query fields in the game named Arkights. Many different fields were queried, but none of them could be found

report errors

Hello, sir, I used this on the Android 10 mobile phone, and reported an error in the modifier. The following is what I reported an error.

luaj.LuaError: error loading module 'Il2cppApi':
/storage/emulated/0/备份与创作/动态/tt.lua:1
require("Il2cppApi")
load Il2cppApi.lua: luaj.LuaError: /storage/emulated/0/备份与创作/动态/Il2cppApi.lua:1824
FindGlobalMetaData = function(self)
'}' expected (to close '{' at line 1820) near 'FindGlobalMetaData' (global 'require')
level = 1, const = 10, proto = 0, upval = 1, vars = 8, code = 25
CALL v0..v1
; PC 2 CODE 0100401D OP 29 A 0 B 2 C 1 Bx 1025 sBx -130046
stack traceback:
/storage/emulated/0/备份与创作/动态/tt.lua:1 in main chunk
[Java]: in ?
at luaj.LuaValue.error(LuaValue.java:997)
at luaj.Globals.loadfile(Globals.java:255)
at luaj.lib.PackageLib$lua_searcher.invoke(PackageLib.java:299)
at luaj.lib.PackageLib$require.call(PackageLib.java:231)
at luaj.LuaClosure.execute(LuaClosure.java:534)
at luaj.LuaClosure.call(LuaClosure.java:160)
at android.ext.Script.runScript(Script.java:6018)
at android.ext.Script$ScriptThread.run(Script.java:5747)
Caused by: luaj.LuaError: /storage/emulated/0/备份与创作/动态/Il2cppApi.lua:1824
FindGlobalMetaData = function(self)
'}' expected (to close '{' at line 1820) near 'FindGlobalMetaData'
at luaj.compiler.LexState.lexerror(LexState.java:295)
at luaj.compiler.LexState.syntaxerror(LexState.java:299)
at luaj.compiler.LexState.check_match(LexState.java:1021)
at luaj.compiler.LexState.constructor(LexState.java:1381)
at luaj.compiler.LexState.simpleexp(LexState.java:1619)
at luaj.compiler.LexState.subexpr(LexState.java:1741)
at luaj.compiler.LexState.expr(LexState.java:1759)
at luaj.compiler.LexState.explist(LexState.java:1459)
at luaj.compiler.LexState.localstat(LexState.java:2132)
at luaj.compiler.LexState.statement(LexState.java:2254)
at luaj.compiler.LexState.statlist(LexState.java:2290)
at luaj.compiler.LexState.body(LexState.java:1449)
at luaj.compiler.LexState.simpleexp(LexState.java:1624)
at luaj.compiler.LexState.subexpr(LexState.java:1741)
at luaj.compiler.LexState.expr(LexState.java:1759)
at luaj.compiler.LexState.explist(LexState.java:1462)
at luaj.compiler.LexState.funcargs(LexState.java:1479)
at luaj.compiler.LexState.suffixedexp(LexState.java:1574)
at luaj.compiler.LexState.exprstat(LexState.java:2173)
at luaj.compiler.LexState.statement(LexState.java:2273)
at luaj.compiler.LexState.statlist(LexState.java:2290)
at luaj.compiler.LexState.mainfunc(LexState.java:2306)
at luaj.compiler.LuaC$CompileState.luaY_parser(LuaC.java:121)
at luaj.compiler.LuaC.compile(LuaC.java:99)
at luaj.Globals.compilePrototype(Globals.java:364)
at luaj.Globals.loadPrototype(Globals.java:352)
at luaj.Globals.load(Globals.java:267)
at luaj.Globals.loadfile(Globals.java:249)
... 6 more

How to use?

Hello, sorry for my misunderstanding, but how do you use this script "Il2cppApi.1.6.0.lua"? I run this script and it stops. Do I have to implement my script on top of this one? Can you give an example of a game script to show how to use this plugin?

nick work

I'd like to give it a try, but how could i find the classname or function name in libil2cpp?

i have an app and i can't just use Il2CppDumper to output the c++ files. 

No work

64bit is not working for me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.