Jump to content

2 posts in this topic

Recommended Posts

Updated (edited)

Search Value and Lock/Freeze Value:

h5gg.require(7.8); //min version

h5gg.clearResults();
h5gg.searchNumber("123", "I32", "0x0", "0xFFFFFFFF00000000");
var count = h5gg.getResultsCount();
var results = h5gg.getResults(count);

var locker = setInterval(function() {
    console.log("running...");
    for(var i=0; i<count; i++) {
        h5gg.setValue(results[i].address, "456", "I32");
    }
},
500  //lock/freeze time interval (millseconds)
);

//then we can cancel the lock/freeze:
//clearInterval(locker);

 

 

Read Static Pointer In Modules(dylib/main-executable):

h5gg.require(7.8); //min version

//ModuleFileName: like "UnityFramework", or 0 for main executable
var modules = h5gg.getRangesList("ModuleFileName");

var base = Number(modules[0].start);

var addr = base + 0x123456; //add offset

var pointer = h5gg.getValue(addr, "U64");

//must convert to Number type, then we can do + calc or convert to hex via toString(16)
pointer = Number(pointer);

alert('0x'+pointer.toString(16));

 

 

Code Patch Offset with Bytes (only for jailbroken):

h5gg.require(7.8);

var modules = h5gg.getRangesList("UnityFramework"); //module file name

var base = modules[0].start; //module base addr in runtime memory

var addr = Number(base) + 0x01915304; //offset

patchBytes(addr,  "00E0AFD2C0035FD6"); //bytes

/********************************************************/
//only jailbroken devices can do this
function patchBytes(addr, hex) {
    for(i = 0;i<hex.length/2;i++) {
        var item = parseInt(hex.substring(i*2, i*2+2), 16);
        h5gg.setValue(addr+i,item, "U8");
    }
}
/********************************************************/

 

 

Updated by tuancc
fix
  • Like 2
  • Thanks 1

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 would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines