Jump to content

H5GG Enhanced Menu Tutorial - JSPlug-in Advanced


Happy Secret

41 posts in this topic

Recommended Posts

This is my game looks like

 

public class GWEconomyModel // TypeDefIndex: 9184
{
	public int LoyaltyBonusPerDay_Gold; // 0x288
}

and my plug-in code 

 

try {
    script = initializeUnitySupport();
    aryObj = script.call("findUnityObjectOfType", ["$GWEconomyModel", true]);
    
    if (!aryObj) {
        alert("Cannot find object to cheat. Engine stopped.");
    } else if (aryObj.length == 0) {

          var GWEconomyModel = new UnityObject(aryObj[0])
          GWEconomyModel.loadFields(['DelveAttemptsPerDay'])
          var DelveAttemptsPerDay = new UnityObject(GWEconomyModel.DelveAttemptsPerDay)
          DelveAttemptsPerDay = 50

        //CharacterMotor.loadFields(['DelveAttemptsPerDay'])
        //var DelveAttemptsPerDay = aryObj[0].DelveAttemptsPerDay
        alert(aryObj.length)
        
    }

} catch (e) {
    //reset Unity Support
    gIl2cppInit = false;
    var script = initializeUnitySupport();
    alert("Unity support crashed and reset complete");
}

 

 

The result is app always crash at var GWEconomyModel = new UnityObject(aryObj[0])
the aryObj.length is always 0, but not able to load the field.

 

Can you correct my understand and educate how to fix this error?

 

 

Link to comment
Share on other sites

1 hour ago, ada1016 said:

This is my game looks like

 

public class GWEconomyModel // TypeDefIndex: 9184
{
	public int LoyaltyBonusPerDay_Gold; // 0x288
}

and my plug-in code 

 

try {
    script = initializeUnitySupport();
    aryObj = script.call("findUnityObjectOfType", ["$GWEconomyModel", true]);
    
    if (!aryObj) {
        alert("Cannot find object to cheat. Engine stopped.");
    } else if (aryObj.length == 0) {

          var GWEconomyModel = new UnityObject(aryObj[0])
          GWEconomyModel.loadFields(['DelveAttemptsPerDay'])
          var DelveAttemptsPerDay = new UnityObject(GWEconomyModel.DelveAttemptsPerDay)
          DelveAttemptsPerDay = 50

        //CharacterMotor.loadFields(['DelveAttemptsPerDay'])
        //var DelveAttemptsPerDay = aryObj[0].DelveAttemptsPerDay
        alert(aryObj.length)
        
    }

} catch (e) {
    //reset Unity Support
    gIl2cppInit = false;
    var script = initializeUnitySupport();
    alert("Unity support crashed and reset complete");
}

 

 

The result is app always crash at var GWEconomyModel = new UnityObject(aryObj[0])
the aryObj.length is always 0, but not able to load the field.

 

Can you correct my understand and educate how to fix this error?

 

 

Have you try using Unity Static Analyser to see if you can find that object? 

Normally we need to find one related on scene object that you can get object with Unity's Object.FindObjectOfType. Then use it as root to navigate to your desired object. 

In my example, I do not directly use findUnityObjectOfType to reach ItemStat. Instead, I use Gameplay.m_ItemStat to connect Gameplay object (on scene) to ItemStat(not on scene). Then I can create Unity Object on ItemStat.

On scene is a logical one. You cannot guess if it is available especially for those virtual / intangible things. 

Use Unity Static Analyser to test it out. If you can use Unity Static Analyser to directly retrieve object, that mean you can use get the object with findUnityObjectOfType.

Another note is, as whether on scene or not is important. So, be cautious on where you trigger to cheat...Some object only available on certain screen/scene. Say the some shop related object would only available when you open the shop UI in the game. 

All in all, test it with Unity Static Analyser first...confirmed you can cheat the value you want before you try to prepare the cheat with JSPlug-in. Some games create lots of copy of a game value. You might not cheat the value if you modify the wrong one. 

Link to comment
Share on other sites

9 hours ago, Happy Secret said:

Have you try using Unity Static Analyser to see if you can find that object? 

Normally we need to find one related on scene object that you can get object with Unity's Object.FindObjectOfType. Then use it as root to navigate to your desired object. 

In my example, I do not directly use findUnityObjectOfType to reach ItemStat. Instead, I use Gameplay.m_ItemStat to connect Gameplay object (on scene) to ItemStat(not on scene). Then I can create Unity Object on ItemStat.

On scene is a logical one. You cannot guess if it is available especially for those virtual / intangible things. 

Use Unity Static Analyser to test it out. If you can use Unity Static Analyser to directly retrieve object, that mean you can use get the object with findUnityObjectOfType.

Another note is, as whether on scene or not is important. So, be cautious on where you trigger to cheat...Some object only available on certain screen/scene. Say the some shop related object would only available when you open the shop UI in the game. 

All in all, test it with Unity Static Analyser first...confirmed you can cheat the value you want before you try to prepare the cheat with JSPlug-in. Some games create lots of copy of a game value. You might not cheat the value if you modify the wrong one. 

thanks @Happy Secret

Still much to learn..  I made a recording on what I am experiencing below and found two new things

1. I was able to locate GWEconomyModel as class in UA, but when I click, it always goes to something else (e.g GWGameState). Please see the clip at 17 second.  What does this tells me?  Please educate

2. I love your tutorial, but if possible, can you share what the code looks like at dump.cs that leads you made aware that instead of tracking GamePlay directly, it is Gameplay.m_ItemStat that you are interested?  Wanted to learn you thinking path as well.

 

Thank you so much

 

 

Link to comment
Share on other sites

5 hours ago, ada1016 said:

1. I was able to locate GWEconomyModel as class in UA, but when I click, it always goes to something else (e.g GWGameState). Please see the clip at 17 second.  What does this tells me?  Please educate

 

Pink Color means it can be reached in one Hop, but not directly. For those can reach directly, it will be in Yellow.

In GWGameState, if you scroll down the field list, there is one row highlight in yellow. That is the field that point to GWEconomyModel. If the address there is not bill/0x0, click on it. It will bring you to the GWEconomyModel object view.

Try edit the gold value there by clicking on the 0x288 offset, it will bring up editor. Just put in the number you want. See if it work in game, try spending gold etc, if you conclude the cheat is working fine.

Go back to your script, use GWGameState as the base object to navigate to what you need 

Link to comment
Share on other sites

On 9/1/2023 at 2:07 PM, Happy Secret said:

Pink Color means it can be reached in one Hop, but not directly. For those can reach directly, it will be in Yellow.

In GWGameState, if you scroll down the field list, there is one row highlight in yellow. That is the field that point to GWEconomyModel. If the address there is not bill/0x0, click on it. It will bring you to the GWEconomyModel object view.

Try edit the gold value there by clicking on the 0x288 offset, it will bring up editor. Just put in the number you want. See if it work in game, try spending gold etc, if you conclude the cheat is working fine.

Go back to your script, use GWGameState as the base object to navigate to what you need 

Thank you.. I had very weak sense of Unity Game development, sorry for my further more question....

Objective: change the remaining attempts of a dungen

from Dump.cs, I captured this

public class GWGameState : MonoBehaviour // TypeDefIndex: 9219
{
:
public int DelveAttempts { get; }
public int get_DelveAttempts() { }
:
}

 

my Plug.js code

try {
    script = initializeUnitySupport();
    //[STEP 2][MODIFY]Change the root object of interest, which should able to link to your other cheat object
    aryObj = script.call("findUnityObjectOfType", ["$GWGameState", true]);
    
    if (!aryObj || aryObj.length == 0) {
    }
    
    for (let i = 0; i < aryObj.length; i++) {    
        let GWGameState = new UnityObject(aryObj[i]);
        GWGameState.loadFields(['int32 DelveAttempts']);
        GWGameState.loadMethods(["int32 get_DelveAttempts()"]);
        GWGameState.DelveAttempts=5
        alert("GWGameState (" + aryObj[i].toString(16) + ") with UnityObject:" + GWGameState.DelveAttempts+"get_DelveAttempts="+GWGameState.get_DelveAttempts())
        GWGameState.loadFields(['int32 DelveAttempts']);
        alert(GWGameState.DelveAttempts)
        
    }


} catch (e) {
    //reset Unity Support
    gIl2cppInit = false;
    var script = initializeUnitySupport();
}

 

Result

GWGameState (0x13125ba80) with UnityObject: 5. get_DelveAttempts=3

Unity support crashed and reset completeTypeError: Attempting to change the setter of an unconfigurable property.

 

I believe I didn't change the object value at all, I just changed the object that I initiated, can you please educate ?

 

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, ada1016 said:
public int DelveAttempts { get; }
public int get_DelveAttempts() { }

You can see it only provide getter but there is no setter. That is why, you cannot change the Attempts. You need to find if there are other method allow you to change the Attempts.

 

Can you change attempts using Unity Object explorer or Unity Static Analyzer? 

Link to comment
Share on other sites

4 minutes ago, Happy Secret said:

You can see it only provide getter but there is no setter. That is why, you cannot change the Attempts. You need to find if there are other method allow you to change the Attempts.

 

Can you change attempts using Unity Object explorer or Unity Static Analyzer? 

No, I cannot change via US Analyser as well. But I should be able to find the address and patch it. So.. if the value cannot be change by UA, it cannot be altered by plugin?

 

 

Link to comment
Share on other sites

6 minutes ago, ada1016 said:

No, I cannot change via US Analyser as well. But I should be able to find the address and patch it. So.. if the value cannot be change by UA, it cannot be altered by plugin?

 

 

sorry, ,really interested in this but really got a lot to learn.

The more I play with this, the more unknown I realises.    

 

Q:Is this script worked like one time thing? That, the script only get executed when the code path get there, and you have to run the script before it trigger.  For some method that happened at battle, such as adjust mana when take damage, you cannot use this script as it does not work like a hook.  Is this understand correct?

 

Q: if a method has game object in parameter, how do I loadMethods it?e.g.

public void AdjustPlayerMana(int playerIndex, int[] manaCollected, ref bool activateManaMatchTraits, bool collectedFromBoard = False, bool wasMatch = False, PuzzleTroop pAdjustmentCause) { }

thank you for your time.

Link to comment
Share on other sites

9 hours ago, ada1016 said:

No, I cannot change via US Analyser as well. But I should be able to find the address and patch it. So.. if the value cannot be change by UA, it cannot be altered by plugin?

 

 

Normally, if you cannot change value with Unity Static Analyzer, you would also can do simple memory patch with JSPlug-in.

However, you could try using method call.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below. For more information, please read our Posting Guidelines.
Reply to this topic... Posting Guidelines

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Our picks

    • DRAGON BALL LEGENDS v5.4.0 - [ Enemies Don't Attack & More ]
      Modded/Hacked App: DRAGON BALL LEGENDS By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0334
      iTunes Store Link: https://itunes.apple.com/us/app/dragon-ball-legends/id1358222641


      Mod Requirements:
      - Jailbroken or Non-Jailbroken iPhone/iPad/iPod Touch.
      - Cydia Impactor.
      - A Computer Running Windows/Mac/Linux.


      Hack Features:
      - Enemies Don't Attack
      - No Ki Cost
      - Unlimited Ki
      - Tutorial Bypassed - No Need To Play Tutorial
      - No Character Swap CoolDown
      - No Vanish CoolDown
      - Auto Complete All Challenges - Currency/Chrono Crystals Hack! 
      - Always Critical
      - All Cards Give DragonBall 
      • 2,476 replies
    • DRAGON BALL LEGENDS v5.4.0 +3 Jailed Cheats [No Ki Cost + More]
      Modded/Hacked App: DRAGON BALL LEGENDS By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0334
      iTunes Store Link: https://itunes.apple.com/us/app/dragon-ball-legends/id1358222641


      Mod Requirements:
      - Jailbroken or Non-Jailbroken iPhone/iPad/iPod Touch.
      - Cydia Impactor.
      - A Computer Running Windows/Mac/Linux.


      Hack Features:
      - No Ki Cost
      - No Character Swap Cooldown
      - No Vanish Cooldown
      - Tutorial Bypassed
      • 4,817 replies
    • DRAGON BALL LEGENDS v5.4.0 +7 FREE Cheats
      Modded/Hacked App: DRAGON BALL LEGENDS by BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0334
      iTunes Store Link: https://apps.apple.com/us/app/dragon-ball-legends/id1358222641


      Hack Features:
      - No Swap Cooldown
      - No Vanish Cooldown
      - No KI Cost
      -  Auto Complete all Challenges
      - Always Critical
      - Tutorial Bypassed
      - Enemies don't Attack


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/70408-ios-13-support-dragon-ball-legends-v2110-3-jailed-cheats-no-ki-cost-more/
      Japanese Version: https://iosgods.com/topic/75598-dbl-%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB-%E3%83%AC%E3%82%B8%E3%82%A7%E3%83%B3%E3%82%BA-by-bandai-namco-entertainment-inc-v2100-instant-win-more/?
      For more fun, check out the Club(s): https://iosgods.com/clubs/
      • 2,977 replies
    • Bullet Force v1.100.5 +3 Jailed Cheats [Radar Hack]
      Modded/Hacked App: Bullet Force by Blayze Games, L.L.C.
      Bundle ID: com.blayzegames.iosfps
      iTunes Store Link: https://itunes.apple.com/us/app/bullet-force/id1009134067

      Mod Requirements:
      - Non-Jailbroken/Jailed or Jailbroken iPhone/iPad/iPod Touch.
      - Cydia Impactor.
      - A Computer Running Windows/Mac/Linux.


      Hack Features:
      - Radar Hack - Shows all enemies on the radar.
      - Instant Reload
      - Anti-Flash - Flashbangs have no effect.
      • 511 replies
    • [ DBL ]ドラゴンボール レジェンズ v5.4.0 - [ Instant - Win & More ]
      Modded/Hacked App: ドラゴンボール レジェンズ By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0333
      iTunes Store Link: https://itunes.apple.com/jp/app/ドラゴンボール-レジェンズ/id1358232022


      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iFile / Filza / iFunBox / iTools or any other file managers for iOS.
      - Cydia Substrate (from Cydia).
      - PreferenceLoader (from Cydia).


      Hack Features:
      - x Player Damage - x1 - 20 
      - x Player Defense - x1 - 20 
      - One Hit Kill
      - God Mode 
      - 1 Enemy Per Quest
      - Instant - Win - Enable It When You In Battle
      - No Swap CoolDown
      - No Vanish CoolDown
      - No KI Cost
      - Auto Complete All Challenges-> Currency/Chrono Crystals Hack!
      - Always Critical
      - Tutorial Bypass
      - All Cards Give DragonBalls

      All functions are unlinked and only for player, you!
      • 1,573 replies
    • [ Dragon Ball Legends Japan ] ドラゴンボール レジェンズ  v5.4.0 - [ Enemies Don't Attack & More]
      Modded/Hacked App: ドラゴンボール レジェンズ By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0333
      iTunes Store Link: https://itunes.apple.com/jp/app/ドラゴンボール-レジェンズ/id1358232022?mt=8


      Mod Requirements:
      - Jailbroken or Non-Jailbroken iPhone/iPad/iPod Touch.
      - Cydia Impactor.
      - A Computer Running Windows/Mac/Linux.


      Hack Features:
      - Enemies Don't Attack
      - No Ki Cost
      - Unlimited Ki
      - No Character Swap CoolDown
      - No Vanish CoolDown
      - Auto Complete All Challenges - Currency/Chrono Crystals Hack! 
      - Always Critical
      - All Cards Give DragonBall 

       This hack only works on x64 or ARM64 iDevices: iPhone 5s, 6, 6 Plus, 6s, 6s Plus, 7, 7 Plus, 8, 8 Plus, X, SE, iPod Touch 6G, iPad Air, Air 2, Pro & iPad Mini 2, 3, 4 and later.
      • 2,919 replies
    • DRAGON BALL LEGENDS v5.4.0 - [ Instant - Win & More ]
      Modded/Hacked App: DRAGON BALL LEGENDS By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0334
      iTunes Store Link: https://itunes.apple.com/us/app/dragon-ball-legends/id1358222641


      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iFile / Filza / iFunBox / iTools or any other file managers for iOS.
      - Cydia Substrate (from Cydia).
      - PreferenceLoader (from Cydia).


      Hack Features:
      - x Player Damage - x1 - 20 
      - x Player Defense - x1 - 20 
      - One Hit Kill
      - God Mode 
      - 1 Enemy Per Quest
      - Instant - Win - Turn On When You In Battle
      - No Swap CoolDown
      - No Vanish CoolDown
      - No KI Cost
      - Auto Complete All Challenges-> Currency/Chrono Crystals Hack!
      - Always Critical
      - Tutorial Bypass
      - All Cards Give DragonBalls

      All features are unlinked and only for player, you!
      • 4,625 replies
    • Westland Survival - Cowboy RPG v7.5.1 +7 [ Items Hack ]
      Modded/Hacked App: Westland Survival - Cowboy RPG By HELIO LTD
      Bundle ID: com.heliogames.a1
      iTunes Store Link: https://apps.apple.com/us/app/westland-survival-cowboy-rpg/id1339238576?uo=4


      Hack Features:
      - Unlimited Energy / Instant Energy Refills
      - Unlock All Blueprints
      - Items Duplicate When Split / Items Hack
      - Unlimited Consumable Items
      - Unlimited Item Durability
      - God Mode / Never Die -> Linked with enemies. Useful for looting.
      - One Hit Kill / High Damage -> Linked with enemies. Use with caution.


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/forum/79-no-jailbreak-section/
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
      • 258 replies
    • [FREE] Bullet Force v1.100.5 +10 Cheats [Shoot Through Walls]
      Modded/Hacked App: Bullet Force By Blayze Games, L.L.C.
      Bundle ID: com.blayzegames.iosfps
      iTunes Store Link: https://itunes.apple.com/us/app/bullet-force/id1009134067


      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iFile / Filza / iFunBox / iTools or any other file managers for iOS.
      - Cydia Substrate (from Cydia).
      - PreferenceLoader (from Cydia).


      Hack Features:
      - Unlimited Ammo + Increased Fire Rate - Both are linked. I can't unlink them, sorry.
      - Shoot Through Walls - Doesn't work for all walls.
      - ESP - Shows enemies nametags through walls.
      - Radar Hack - Shows all enemies on the radar.
      - Unlock All Perks
      - Instant Reload
      - Anti-Flash - Flashbangs have no effect.
      - Unlimited Throwables - Will not decrease. Works online, kinda.
      • 3,684 replies
    • DRAGON BALL Z DOKKAN BATTLE Japan (ドラゴンボールZ ドッカンバトル) v5.20.0 +7 Cheats!
      Modded/Hacked App: ドラゴンボールZ ドッカンバトル By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcogames.BNGI0211
      iTunes Link: https://itunes.apple.com/jp/app/ドラゴンボールz-ドッカンバトル/id951627670


      Hack Features
      - Unlimited HP  -  (Put .0 at the back of your value: 1000.0)
      - Unlimited Damage  -  (Put .0 at the back of your value: 1000.0)
      - Unlimited Defense  -  (Put .0 at the back of your value: 1000.0)
      - Dice Hack -  [ONLY RANGE BETWEEN 1 - 6 or it will crash]  -  (Put .0 at the back of your value: 4.0)
      - Dice Hack 1, 2, 3
      - Dice Hack 4, 5, 6
      - Auto Win Battles -> Disable if you get errors.
      PUT .0 at the back of all values!
      • 7,839 replies
    • Last Day On Earth: Survival v1.24.0 +36 FREE Hacks
      Modded/Hacked App: Last Day on Earth: Survival By Andrey Pryakhin
      Bundle ID: zombie.survival.craft.z
      iTunes Link: https://itunes.apple.com/us/app/last-day-on-earth-survival/id1241932094

      Hack Features:
      - Coins Hack - Spend/Buy something that costs Coins to increase Coins!
      - Durability Hack - Weapons, Clothes, Boots, etc. Will not break. You can always keep using them.
      - Crafting Hack - Able to craft stuff without required items!
      - Skill Points Hack - Skill Points won't decrease, reset to increase.
      - Duplicate Items Hack - Split Items to duplicate them! Now it will duplicate by 20!
      - Loot box hack - Open 1 lootbox for 1000! - x64 only
      - Items increase when Taking from Inbox. You will never run out of Items in your inbox! - x64 only
      - Minigun Doesn't Overheat - x64 only
      - Unlimited Energy. Energy Increases instead of subtracting! - x64 only
      - Bow One Hit Kill - x64 only
      - Anti-Ban

      During the month of December, we have decided to make the ViP hack for free for all users! :) Extra features include:
      • 29,162 replies
    • Last Day on Earth: Survival v1.24.0 +17 FREE Jailed Cheats
      Modded/Hacked App: Last Day On Earth: Zombie Survival By Andrey Pryakhin
      Bundle ID: zombie.survival.craft.z
      iTunes Link: https://itunes.apple.com/us/app/last-day-on-earth-zombie-survival/id1241932094


      Hack Features
      Hack Features
      - Coins Hack - Buy something that costs coins to increase
      - Duplicate Items Hack - Split items to duplicate them :p
      - Skill Points Hack - Use to increase
      - Weapon/Item Durability Hack - Your weapons and items will never break.
      - Loot Boxes Hack! -> Open 1 loot box and gain 10,000!

      This hack was made by ZahirSher for iOSGods.com.
      • 41,376 replies
×
  • 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