Jump to content

BadCase's GGIl2cpp Toolbox 1.0.4

   (1 review)

1 Screenshot

About This File

This script provides a frontend for all of the core functions of @Kruvcraft's 

GGIl2cpp (#1zbicc50) as well as some additional functions.

FindClass: Calls GGIl2cpp's Il2cpp.FindClass() function and loads results to the Save List. Selecting results in the Save List opens a menu to copy data, load Field instances, make Method edits and create Field and Method edits for exported scripts.

FindFields: Calls GGIl2cpp's Il2cpp.FindFields() function and loads results to the Save List. Selecting results in the Save List opens a menu to copy data, load instances of the Field and create Field edits for exported scripts.

FindMethods: Calls GGIl2cpp's Il2cpp.FindMethods() function and loads results to the Save List. Selecting results in the Save List opens a menu to copy data, edit Methods and create Method edits for exported scripts.

FindObject: Calls GGIl2cpp's Il2cpp.FindObject() function and loads results to the Save List. Selecting results in the Save List opens a menu to load Field instances.

PatchesAddress: Calls GGIl2cpp's Il2cpp.PatchesAddress() function which edits a Method in Xa with a hex byte edit. The script can create the hex byte edits for you or you can enter them manually.

Keyword Search: Allows you to search for Classes, Methods and Fields by keyword instead of exact name. Classes will be added to the Save List for Class and Field results, Methods will be added for Method results.

Script Creator: Allows you to edit created function names, modify menu order and export scripts.

Edited by BadCase


What's New in Version 1.0.4   See changelog

Released

No changelog available for this version.

 Share


User Feedback

Recommended Comments

how to freeze the value?
put addListItems before setValues or after setValues?

 

function handleFieldEdits(className, fieldEditsTable, classTable, functionIndex)
    local classInstances = Il2cpp.FindObject({className})[1]
    local tempTable = {}
    for i, v in pairs(classInstances) do
        for index, value in pairs(fieldEditsTable) do
            for fieldIndex, fieldData in pairs(classTable.Fields) do
                if value.FieldName == fieldData.FieldName then
                    tempTable[#tempTable + 1] = {
                        address = v.address + tonumber(fieldData.Offset, 16),
                        flags = gg.TYPE_DWORD,
                        value = value.edit,
						freeze = true --freeze value
                    }
                end
            end
        end
    end
    restoreFields[functionIndex] = gg.getValues(tempTable)

	gg.addListItems(tempTable) -- add to save list for freeze. before setValues or after setValues ?
	gg.setValues(tempTable) -- set the value

end



image.thumb.png.adc0c4cb001aee6840b7b608bc56ddb2.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.