Jump to content

Happy Secret

Contributor
  • Posts

    532
  • Joined

  • Last visited

Posts posted by Happy Secret

  1. 350x350bb.jpg

    Modded/Hacked App: Oxide: Survival Island
    Bundle ID: com.catsbit.oxidesurvivalisland
    iTunes Store Link: https://apps.apple.com/us/app/oxide-survival-island/id1579424683


    DIY Requirements:
    - Non-Jailbroken iPhone/iPad/iPod Touch.

    DIY Features:
    - JumpHeight (Try not to change the value, looks like server would kick you if jump height equal or above 3)
    - ForwardSpeed (Try to limit the multiply of ForwardSpeed and RunSpeedMultiplier below 8, looks like server will kick you if you are running too fast for long time)
    - RunSpeedMultiplier (Try to limit the multiply of ForwardSpeed and RunSpeedMultiplier below 8, looks like server will kick you if you are running too fast for long time)
    - CrouchSpeedMultiplier (Didn't do much testing, but 1 looks ok.Test it yourself)
    - SidewaysSpeed (Tried with 5 looks ok, didn't do more testing on it. Test it yourself)
    - BackwardSpeed (Tried with 5 looks ok, didn't do more testing on it. Test it yourself)
    - SwimSpeed (I didn't test any. Test it yourself)


    DIY Instructions:
    1. Download last decrypted version from Decrypted iOS IPA App Store (iOSGods)
    2. Download the DIY Pack from here
    3. Unzip the downloaded DIY Pack into a folder
    4. Put Step 1 Downloaded ipa into this newly created folder
    5. Follow README to make game IPA H5frida/Frida/Cheat ready
    6. Sideload the new ipa with H5GG with ARM and Unity v1.8.4.dylib using Sideloadly (**Enable File Sharing)
    7 Enjoy your DIY Oxide Survival Island Cheat 
    8. Explore more cheat yourself with H5GG Unity Static Analyzer (UA Button) and Share your finding down below. Happy DIY. 

    WARNING

    This game has high cheat detection and kick rate. Use at your own risk

     


    Cheat Video/Screenshots:

    N/A


    Credits:
    - Happy Secret

    • Like 31
    • Winner 1
    • Thanks 1
    • Haha 2
    • Agree 3
    • Informative 1
  2. On 7/21/2023 at 6:10 PM, Gay 228 said:

    i tried the hack with option 1 to advance to option two

    code in spoiler

      Reveal hidden contents

    var script = initializeUnitySupport();
    var aryObj = script.call("findUnityObjectOfType", ["Oxide$PlayerManager",true]);writeFloat(readPtr(Number(aryObj[0])+Number(gUnityClasses.Oxide$PlayerManager.offset))+Number(gUnityClasses.Oxide$PlayerManager.m_JumpHeight.offset),50)


    //(tried with another object trust me with CCCDrivenControlller same error)

     

    Use at your own risk…

    https://iosddl.net/b66dcf757102fd16/H5JSPlugin_-_OxideSurvivalIsland.js

    Jump: Should not higher than 2

    Forward Speed / RunMultiplier: Multiple of two better not exceed 8….or don’t keep high run speed for too long time.

    Caution is doing Jump on high run speed…very easy to cause kick by server

    I start the cheat from InventoryController in order to reach one single PlayerManager…there are multiple player manager something. It likely be other player.

  3. On 7/21/2023 at 6:10 PM, Gay 228 said:

    i tried the hack with option 1 to advance to option two

    code in spoiler

      Hide contents

    var script = initializeUnitySupport();
    var aryObj = script.call("findUnityObjectOfType", ["Oxide$PlayerManager",true]);writeFloat(readPtr(Number(aryObj[0])+Number(gUnityClasses.Oxide$PlayerManager.offset))+Number(gUnityClasses.Oxide$PlayerManager.m_JumpHeight.offset),50)


    //(tried with another object trust me with CCCDrivenControlller same error)

     

    Are you sure you can cheat JumpHeight with H5GG Enhanced Menu? When I modify JumpHeight, I immediately get kicked with message

    ”You will be kicked from the server

    Reason: Suspected cheating #1”

  4. 28 minutes ago, congxyz2k6 said:

    its okay . Ive found the only way it could work for me , it is by pressing on the icon when it is loading into the battle , then I can use it 1 time then the game will crashing after i enter the next loading screen

    It looks a memory issue to me.

    which stage are you in? It could also because at later stage the game is a bit different. 

  5. 6 hours ago, Gay 228 said:

    unity 5d is not very good, it allows you to create an esp, but I need it in the mod menu

    All the code is there, feel free to customise the UI and Flow.

    You may refer to my Arena of Valor cheat. I automate the flow. One click to initiate. 

    5 hours ago, Gay 228 said:

    yes I tried and advanced to:
    get value failed: address format error
    What is wrong with me?

    Share your few lines of code, plz

  6. 2 minutes ago, Gay 228 said:

    i want to hack games with your java script i thought it was multitasking, you can just make a menu mod which also h5gg is cool.
    what about option 2 i will try. but I don't want to test I want to make a cheat.
    can you do esp in java? I would like to see esp just html is already outdated in my opinion


    if you success in creating cheat script with option 2…the. Option 3 is not far away.

    if you can’t even make cheat with option 2, don’t even think about option 3. Option 3 is much advanced 

  7. 48 minutes ago, Gay 228 said:

    I need to change the height of the jump
    yes i can get everything from ccdrivencontroller
    this game: Oxide survival island (survival)
    what about _config, I don't quite understand what it is responsible for in the code, can you explain?

    Can you cheat this high jump with H5GG enhanced menu alone?

    if the only class object you need is ccdrivencontroller. Then you don’t need to travel to other class object.

     

    _config is just an example that I need to travel from CharacterMotor object to CharacterMotorConfig object 

  8. 3 minutes ago, Gay 228 said:
      Hide contents


    /*
        H5GG Plugin Mod Menu logic should enable easier Mod Menu development for non-jailbroken. It preserve existing H5GG UI and features, while adding new cheat menu.
        Cheat implemented using a patch free approach, the game binary does not required to patch. 
        
        Contribute by Happy Secret on iOSGods (2023)
    */
    var script = initializeUnitySupport();

    //[MODIFY] Configure Cheat Here
    var cheats = {
        JumpHeight: ["CCDrivenController", "m_JumpHeight", "50", "SELF", "ON"],
    };

    var intervalID;
    var aryObj
    var cheatState = false;
    var cheatMode = "recurrent";
    var recurrentInterval = 1200; //try not to be small than 1000, prevent system freeze

    function toogleCheat() {
        cheatState = !cheatState;
        document.getElementById("applybutton").textContent = ' Toggle OFF ';
        document.getElementById("applybutton").style.backgroundColor = '#E8E8E850';

        if (cheatState) {
            intervalID = setInterval(function () {
                if (cheatState) {
                    try {
                        script = initializeUnitySupport();
                        //[MODIFY]Find core object object list
                        aryObj = script.call("findUnityObjectOfType", ["Oxide$CCDrivenController", true]);
                    } catch (e) {
                        //reset Unity Support
                        gIl2cppInit = false;
                        var script = initializeUnitySupport();
                        appendLog("Unity support crashed and reset complete");
                    }

                    if (!aryObj) {
                        appendLog("Cannot find object to cheat. Engine stopped.");
                        cheatState = false;
                        document.getElementById("applybutton").textContent = ' Toggle Cheat ';
                        return;
                    } else if (aryObj.length == 0) {
                        appendLog("Cheat waiting for core object.");
                        return;
                    }
                    
                    for (let i = 0; i < aryObj.length; i++) {
                        //[MODIFY]Start prepare core object for delink / filtering here
                        let CharacterMotor = new UnityObject(aryObj[i]);
                        //debugInfo("BattleCharacter (" + aryObj[i].toString(16) + ") with UnityObject:" + BattleCharacter, [aryObj[i]])
                        CharacterMotor.loadFields(["_config"]);
                        //debugInfo("BattleCharacter (" + aryObj[i].toString(16) + ") with player:" + BattleCharacter.Status, [aryObj[i]])
                        
                        //debugInfo("BattleCharacter (0x" + aryObj[i].toString(16) + ") with CurrentUnitType:" + BattleCharacter.CurrentUnitType, [aryObj[i]])
                        
                        //[MODIFY]Locate the right object to cheat (SELF)
                        let isSelf = true//BattleCharacter.CurrentUnitType==100? true:false;
                        let cheatObj = {};
                        //End prepare core object for delink / filtering here
                        
                        //[MODIFY]Start prepare cheat object here
                        let CharacterMotorConfig = new UnityObject(CharacterMotor._config)
                        CharacterMotorConfig.loadFields(["m_JumpHeight"])
                        cheatObj["CCDrivenController"] = CharacterMotorConfig
                        
                        //End prepare cheat object
                        for (var prop in cheats) {
                            if (Object.prototype.hasOwnProperty.call(cheats, prop)) {
                                let obj;
                                let addr;
                                let oldValue = 0;
                                if (isNaN(cheats[prop][2])){
                                    switch (cheats[prop][2]){
                                        case "ONE":
                                            cheats[prop][2] = 1
                                            break;
                                    }
                                }
                                if (isSelf && cheats[prop][3] == "SELF" && cheats[prop][4] == "ON") {
                                    cheatObj[cheats[prop][0]][cheats[prop][1]] = isNaN(cheats[prop][2]) ? cheatObj[cheats[prop][0]][cheats[prop][2]] : cheats[prop][2];
                                } else if (isSelf==false && cheats[prop][3] == "ENEMY" && cheats[prop][4] == "ON") {
                                    cheatObj[cheats[prop][0]][cheats[prop][1]] = isNaN(cheats[prop][2]) ? cheatObj[cheats[prop][0]][cheats[prop][2]] : cheats[prop][2];
                                }//end if TURN ON
                            }
                        }//end For cheat item
                    }//end For core object list
                    appendLog("Cheat applied successfully");
                } else {
                    clearInterval(intervalID);
                }
            }, recurrentInterval);
        } else {
            //code will stop on next coming iteration
            document.getElementById("applybutton").textContent = ' Toggle Cheat ';
            appendLog("Cheat stopped");
        }

        if (cheatMode != "recurrent") clearInterval(intervalID);
    }

    /* Add button on H5GG UI to open the Cheat UI, if it does not exist */
    if ($("#cheatpluginmodmenu").length == 0) {
        var btn = $('<button id="cheatpluginmodmenu">Cheat</button>');
        btn.attr("credit", "Happy Secret");
        btn.click(function () {
            $("#cheatpluginpage").show();
        });
        //backward compatible with standard H5GG menu
        if ($("#frontview").length == 0) {
            $('#results_count').after(btn);
        } else {
            $("#frontview").append(btn);
        }
    }

    /* Create the Cheat UI Layer, if it does not exist */
    if ($("#cheatpluginpage").length == 0) {
        var popup_pixelfancheat_html = $('<div id="cheatpluginpage"  style="background-color: #FDFDFD; width:100%; height:100%; position:absolute; left:0; top:0; border:1px solid #B8B8B880; border-radius: 5px; padding: 0px; z-index: 99999;-webkit-user-select: all;-webkit-touch-callout: default;"></div>');
        $(document.body).append(popup_pixelfancheat_html);
    }

    /* Generate Clean Cheat Menu UI */
    var html = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cheat by Happy Secret';
    html += '<br><div style="float:right; font-size:16px; font-family: Arial, sans-serif;" onclick="closecheatpluginpage()">&nbsp;X&nbsp;</div>';

    /* Prepare Cheat Item */
    for (var prop in cheats) {
        if (Object.prototype.hasOwnProperty.call(cheats, prop)) {
            if (isNaN(cheats[prop][2]))
                html += '<label><input name="' + prop + '"type="checkbox" ' + '" onchange="checkchange(this)" checked/>' + prop + '<output>(' + cheats[prop][4] + ')</output></label>';
            else
                html += '<br><label><input name="' + prop + '"type="range" min="0" max="' + cheats[prop][2] * 2 + '" value="' + cheats[prop][2] + '" style="width:50%" onchange="rangechange(this)" />' + prop + '<output>(' + cheats[prop][2] + ')</output></label>';
        }
    }

    html += '<p align="center"><button onclick="toogleCheat()" id="applybutton">&nbsp;Toggle Cheat&nbsp;</button>';
    html += '</hr><div id="cheatpluginpagelog" class="scrollbar" ></div>';


    $("#cheatpluginpage").html(html);
    $("#cheatpluginpage").hide();

    function closecheatpluginpage() {
        $("#cheatpluginpage").hide();
    }

    function rangechange(input) {
        cheats[input.name][2] = Number(input.value);

        input.nextElementSibling.value = '(' + input.value + ')';
        //input.previousElementSibling.value = '(' + input.value + ')';

        //Change Apply Button Color to remind user to press Apply
        document.getElementById("applybutton").style.backgroundColor = 'yellow';
    }

    function checkchange(input) {
        cheats[input.name][4] = input.checked ? "ON" : "OFF"

        input.nextElementSibling.value = '(' + cheats[input.name][4] + ')';

        //Change Apply Button Color to remind user to press Apply
        document.getElementById("applybutton").style.backgroundColor = 'yellow';
    }

    /* Create Cheat Log */
    function appendLog(msg) {
        var oldmsg = $("#cheatpluginpagelog").html();
        if (oldmsg.length > 300) oldmsg = "";
        oldmsg = getCurTime() + ' - ' + msg + '<br>' + oldmsg;
        $("#cheatpluginpagelog").html(oldmsg);
    }

    yes, of course, the script is in the spoiler

    If you want to test out Unity User Object wrapper, I suggest you to use Option 2 first.

     

    from you script, I have few questions.

    1. Are you sure you can get object pointer for this class Oxide$CCDrivenController

    2. Your step 3, doesn’t look right. You are also using _config??CharacterMotor.loadFields(["_config"]);

    3. Your step 5, doesn’t look right as well. 
    let CharacterMotorConfig = new UnityObject(CharacterMotor._config)???

     

    What game is it? 
    If you are using you can get an object from Oxide$CCDrivenController. And you just need to update m_JumpHeight from this object. 
     

    Your step 3 should be 

    CharacterMotor.loadFields(["m_JumpHeight"]); /l

     

    You may simplify step 5, to just put CCDrivenController object to cheatObj["CCDrivenController"] = CharacterMotor (or you should rename it) 

     

    • Like 1
  9. 1 hour ago, pony945 said:

    I found out the "_hp" have been Secured.

    So I change the onHitKill _hp to maxHP and off the hp/mp hack.

    It work, but I'm not sure if it's safe.

     

    Thanks for the update. 
    Yes, Game Developer made changes on HP and MP. 
     

    max HP seems the temporary thing that we can use for now. But I guess game developer will fix this in next release. 
     

    let me think about it

    • Like 1
×
  • 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