Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 08/01/2025 in Posts

  1. game version 1.84.10 New unreleased dinos? Name: Pierce (PierceD) ID: 571,250,531 Name: Quetzaljara (HQuetza) ID: -1,408,411,774 Name: Smoothie (Smoothi) ID: -1,985,032,250 Name: Spinosaurus Rebirth (Spinos3) ID: 870,413,223 Name: Spinotops (HSpinoD) ID: 250,860,212 - this last one will crash the game if replacing the ID with it Name: Distortus Rex (BDrexDD) ID: -358780502
    3 points
  2. View File Westland Survival Mega Script This is a completely free script. The script will update automatically. It has more than 30+ functions. Join my group to hack other survival games: https://t.me/+HuACKfph5_gyYTdl Submitter Mr_quoan Submitted 08/06/2025 Category LUA scripts  
    2 points
  3. -- Il2CppGG by LeThi9GG require("Il2CppGG") -- Usage Instructions: -- This script demonstrates the core functionalities of Il2CppGG, a Lua-based toolkit for inspecting and manipulating Il2Cpp structures in GameGuardian. -- It covers image retrieval, class searching, method and field access, value modification, class dumping, and memory hooking. -- Prerequisites: Ensure GameGuardian is running and the target application uses Il2Cpp. Load this script in GameGuardian for execution. -- Note: Addresses and values are examples; adapt them to your specific game or application. -- For detailed API documentation, refer to the project's README.md or wiki. -- Example: Retrieve Image by Name -- Description: Fetches an Il2Cpp image (assembly) by its name. Use Il2Cpp.Image() without arguments to get all images. local Assembly = Il2Cpp.Image("Assembly-CSharp") -- Retrieves the "Assembly-CSharp" assembly. -- Example: Find Class within an Image -- Description: Searches for a class in the specified image using namespace and class name. Namespace can be nil for root-level classes. local PlayerScript = Assembly:Class(nil, "PlayerScript") -- Parameters: (namespace, classname) -- Alternative: Find Class by Name, Address, or Index -- Description: Directly searches for a class by name (recommended to use GetIndex() for performance optimization). --local PlayerScript = Il2Cpp.Class("PlayerScript") --print(PlayerScript:GetIndex()) -- Outputs the class index for faster future access. -- Example: Find Methods in a Class -- Description: Retrieves a specific method by name or lists all methods with GetMethods(). local LateUpdate = PlayerScript:GetMethod("LateUpdate") -- Finds the "LateUpdate" method. local addPoints = PlayerScript:GetMethod("addPoints") -- Finds the "addPoints" method. -- Example: Find Fields in a Class -- Description: Retrieves a specific field by name or lists all fields with GetFields(). local points = PlayerScript:GetField("points") -- Finds the "points" field. -- Alternative: Find Field by Name or Address -- Description: Global search for a field by name or direct address. --local points = Il2Cpp.Field("points") -- Searches globally by name. -- Alternative: Find Method by Name or Address -- Description: Global search for a method by name or direct address. --local AddPoints = Il2Cpp.Method("AddPoints") -- Searches globally by name. -- Example: Modify a Field Value -- Description: Locates an instance of the class and sets a new value for the field. local obj = PlayerScript:GetInstance() -- Retrieves instances of the class. points:SetValue(obj, 1000) -- Sets the "points" field to 1000 in the instance. -- Example: Dump Class to C# Format -- Description: Outputs the class structure in C# syntax for reverse engineering purposes. --print(PlayerScript:Dump()) -- Dumps the class definition, including fields, methods, and offsets. -- Hooking Examples -- Description: Demonstrates memory hooking for real-time modifications using the Hook module. -- Hooks allow intercepting and altering method calls, parameters, and fields. -- Hook a Field via a Method (e.g., hook "points" field using "LateUpdate" method) -- Description: Modifies the field value every time the method is called. local _LateUpdate = LateUpdate:field() -- Initializes hook on the method for field modification. _LateUpdate:setValues({{offset = points.offset, flags = "int", value = 9999}}) -- Sets the field to 9999. gg.sleep(10000) -- Pauses for 10 seconds to observe the effect. _LateUpdate:off() -- Disables the hook and restores original behavior. -- Hook Parameters of a Method (e.g., hook parameters of "addPoints") -- Description: Alters the parameter values passed to the method. local _addPoints = addPoints:method() -- Initializes hook on the method for parameter modification. _addPoints:param({{param = 1, flags = "int", value = 999999}}) -- Sets the first parameter to 999999. gg.sleep(10000) -- Pauses for 10 seconds. _addPoints:off() -- Disables the hook. -- Hook a Method Call (e.g., call "addPoints" from "LateUpdate") -- Description: Injects a call to another method with custom parameters during execution. local _addPoints = LateUpdate:call()(addPoints) -- Initializes hook to call "addPoints" from "LateUpdate". _addPoints:setValues({{param = 1, flags = "int", value = 999}}) -- Sets the parameter for the called method. gg.sleep(10000) -- Pauses for 10 seconds. _addPoints:off() -- Disables the hook. Il2CppGG Telegram Youtube
    1 point
  4. View File Il2CppGG Il2CppGG A comprehensive toolkit for inspecting and manipulating Il2Cpp structures within GameGuardian, implemented in Lua. Telegram Description Il2CppGG is an advanced Lua-based toolkit designed for GameGuardian, enabling detailed analysis and modification of Il2Cpp metadata, classes, methods, fields, types, and objects. It now includes memory hooking capabilities for game modification and reverse engineering, as well as class dumping to C# format. Author: LeThi9GG Features - Automatic Il2Cpp Version Detection: Supports versions from v22 to v31 with seamless adaptation. - Comprehensive Metadata Support: Parse global metadata, including strings, generics, and parameters. - Class Inspection: Retrieve class details, fields, methods, and properties; search by name for efficiency. - Type System Analysis: Detailed handling of types, including generics, arrays, and value types. - Object Manipulation: Locate and modify Il2Cpp objects in memory, with filtering for accuracy. - Safe Memory Operations: Read and write memory via GameGuardian for secure interactions. - Intelligent Caching: Optimized performance through caching mechanisms. - Name-Based Search: Easily locate fields and classes by name without requiring addresses. - Memory Hooking (New): Hook methods, parameters, fields, and calls for real-time modifications (from Hook.lua). Supports 32-bit and 64-bit architectures with jump opcodes. - Class Dumping (New): Export classes to C# format, including field offsets, method RVAs, and attributes (from Dump.lua). - Parameter Handling (New): Manage Il2Cpp parameters with names, tokens, and types (from Param.lua). Requirements - GameGuardian installed on an Android device. - A target application utilizing the Il2Cpp framework. - Basic proficiency in Lua programming. Installation 1. Download the [build/Il2CppGG.lua](/build/) file from the repository. 2. Place it in GameGuardian's scripts directory. 3. Load the `Il2CppGG.lua` script within GameGuardian. Build - Execute the `buildLT9.lua` script in GameGuardian to generate `build/Il2CppGG.lua`. Project Structure Il2CppGG/ ├── Androidinfo.lua (Android device information helper) ├── buildLT9.lua (Module bundling build script) ├── Class.lua (Il2Cpp class module) ├── Field.lua (Il2Cpp field module) ├── Il2Cpp.lua (Core module for versioning and utilities) ├── Image.lua (Il2Cpp image/assembly module) ├── init.lua (Development entry point) ├── Meta.lua (Il2Cpp metadata module) ├── Method.lua (Il2Cpp method module) ├── Object.lua (Memory object manipulation) ├── Struct.lua (Version-specific Il2Cpp structures) ├── Type.lua (Il2Cpp type module) ├── Universalsearcher.lua (Metadata and pointer locator) ├── Version.lua (Version detection and structure selection) ├── Param.lua (Parameter operations module) ├── Hook.lua (Memory hooking for modification and reverse engineering) ├── Dump.lua (Class dumping to C# format) ├── test.lua (Usage examples for hooking and dumping) └── build/ └── Il2CppGG.lua (Bundled production script) For general usage, only `build/Il2CppGG.lua` is required. The remaining files support development and contributions. Detailed API Documentation Core Module (Il2Cpp.lua) Handles initialization, versioning, and core utilities. require("Il2CppGG") -- Check architecture print("64-bit:", Il2Cpp.x64) print("Pointer size:", Il2Cpp.pointSize) -- Read value from memory local value = Il2Cpp.gV(0x12345678, Il2Cpp.pointer) print("Value at address:", value) -- Read pointer local ptr = Il2Cpp.GetPtr(0x12345678) print("Pointer value:", string.format("0x%X", ptr)) -- Convert UTF-8 string local text = Il2Cpp.Utf8ToString(0x12345678) print("String value:", text) Class Module (Class.lua) Represents an Il2Cpp class. -- Find class by name local playerClass = Il2Cpp.Class("Player") -- Retrieve information print("Class name:", playerClass:GetName()) print("Namespace:", playerClass:GetNamespace()) print("Instance size:", playerClass:GetInstanceSize()) -- Fields local fields = playerClass:GetFields() print("Number of fields:", #fields) local healthField = playerClass:GetField("health") -- Methods local methods = playerClass:GetMethods() local updateMethod = playerClass:GetMethod("Update", 0) -- 0 parameters -- Instances local instances = playerClass:GetInstance() print("Number of instances:", #instances) Field Module (Field.lua) Represents a field in an Il2Cpp class. -- Find field local health = Il2Cpp.Field("health") -- Information print("Field name:", health:GetName()) print("Offset:", health:GetOffset()) print("Type:", health:GetType():GetName()) -- Get/Set value local objAddress = 0x12345678 local val = health:GetValue(objAddress) health:SetValue(objAddress, 100) -- Static fields if health:IsNormalStatic() then health:StaticSetValue(9999) end Method Module (Method.lua) Represents an Il2Cpp method. local method = Il2Cpp.Method(0x12345678) print("Method name:", method:GetName()) print("Return type:", method:GetReturnType():GetName()) print("Parameter count:", method:GetParamCount()) local params = method:GetParam() for i, param in ipairs(params) do print("Parameter " .. i .. ":", param.name, param.type:GetName()) end Type Module (Type.lua) Represents an Il2Cpp type. local typeObj = Il2Cpp.Type(0x12345678) print("Type name:", typeObj:GetName()) print("Is value type:", typeObj:IsValueType()) print("Is generic instance:", typeObj:IsGenericInstance()) Object Module (Object.lua) Locates and manipulates objects in memory. local players = Il2Cpp.Object:FindObjects(playerClass.address) print("Number of players:", #players) Image Module (Image.lua) Represents an Il2Cpp assembly. local image = Il2Cpp.Image("Assembly-CSharp") print("Image name:", image:GetName()) local types = image:GetTypes() local player = image:Class("", "Player") Meta Module (Meta.lua) Handles global Il2Cpp metadata. local str = Il2Cpp.Meta:GetStringFromIndex(123) print("String:", str) Hook Module (Hook.lua) (New) Enables memory hooking for modifications. -- Hook field via method local lateUpdate = playerClass:GetMethod("LateUpdate") local points = playerClass:GetField("points") local _lateUpdate = lateUpdate:field() _lateUpdate:setValues({{offset = points.offset, flags = "int", value = 9999}}) gg.sleep(10000) _lateUpdate:off() -- Hook method parameters local addPoints = playerClass:GetMethod("addPoints") local _addPoints = addPoints:method() _addPoints:param({{param = 1, flags = "int", value = 999999}}) gg.sleep(10000) _addPoints:off() Dump Module (Dump.lua) (New) Dumps classes to C# format. local dump = require("Dump") print(dump(playerClass)) -- Outputs C# class representation Advanced Examples From test.lua: -- Retrieve image local Assembly = Il2Cpp.Image("Assembly-CSharp") -- Class retrieval local PlayerScript = Assembly:Class(nil, "PlayerScript") -- Method/Field local LateUpdate = PlayerScript:GetMethod("LateUpdate") local points = PlayerScript:GetField("points") -- Set field value local obj = PlayerScript:GetInstance() points:SetValue(obj, 1000) -- Dump class print(PlayerScript:Dump()) -- Hooking examples as above Notes - This toolkit is intended for educational and research purposes only. Use it responsibly. - Certain features may depend on specific Il2Cpp versions. - Exercise caution when modifying memory, as it may lead to application instability. Author LeThi9GG – Specialist in Il2Cpp reverse engineering. Contributing Contributions, bug reports, and feature requests are welcome. Please refer to the issues page. License This project is licensed for educational and research use. Respect the terms of service for any analyzed applications. --- Full documentation is available on the Wiki Submitter VieGG Submitted 08/29/2025 Category Tools  
    1 point
  5. function wol() gg.searchNumber('3D;11D;2145D', gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber('2145', gg.TYPE_DWORD) local start = gg.getResults(1) local target = start[1].address + 0x520 -- Changed × to x gg.setValues({ [1] = { address = target, flags = gg.TYPE_DWORD, value = 10 } }) gg.toast('MISSION HACK') gg.clearResults() gg.alert("Play Denomination mission in easy level with Ace deployed") home = 1 end
    1 point
  6. The script is available on the first page
    1 point
  7. On my DC grub already Marvel future fight ,and champion
    1 point
  8. Hello, I couldn't figure out where to post this so I hope this is in appropriate place. I've finally completed my CLI tool that makes your Gameguardian scripts work on all updates! Normally, things that rely on function offsets - like hex patches and hooks - break when the game updates. However, this tool generates scripts that use pattern scanning to dynamically find the functions. Here's the Github. Enjoy! all_updates_generator.zipall_updates_generator.zip all_updates_generator.zip
    1 point
  9. Memory Range: Anonymous Value Type: Dword X4 As you can see in the pic energy and gems can be hacked. Search the amount you have with X4 after it (if you have 65 then you search 65X4) Dword Refine in same way When you have one value remaining which will be a random value you edit in the same way. So if you want 999999 then you edit 999999X4 If you want to hack anything else (resources etc) I'd suggest trying the same way. I haven't tried those.
    1 point
  10. Hmm... I know one value that will lead us to all the addresses we need But I'm not sure it can be called unique This value is dynamic and may differ for some heroes I'll show you it on video
    1 point
  11. I made a script to speed things up here, but I don't know the values of all the heroes. We can speed up this process by searching for the known values together and adding an on/off button without having to type them over and over again after each match. This script enabled the hero in the video you gave to hit the skill repeatedly, and it was successful. If you can write the other values, I can get this done faster. TilesSurviveV1.1.lua
    1 point
  12. You can use a group search for values. Data type = DWORD 1,086,324,736 <-- Max skill cooldown 1,011,111,111~1,999,999,999 <-- Current skill cooldown 0 0 0 1 0 You can use the FLOAT data type The group of values will look different, but more understandable 6.0 <-- Max skill cooldown 1.0~99.0 <-- Current skill cooldown 0.0 0.0 0.0 1.40129846e-45 0.0
    1 point
  13. l didnt get it? kinda l think ill try a ways and told you about guys
    1 point
  14. 1 point
  15. nah the bro thinks he is saving the world or something he is a bother man so leave him and dont ask him budy if you want something lm here always and answering you without offending bro
    1 point
  16. thanks for this explantion Don't offend I'm just asking
    1 point
  17. as i said before Level are stored from value 1 to 10 Level 33 is Evolution Stage 3 so = 3 ; 3 ; HP :: 17 Level 25 is Evolution Stage 2 so = 2 ; 5; HP :: 17 if the table above wasnt clear enough, i dont know what to say anymore.
    1 point
  18. @MonkeySANCan you help me to find a way to swap opponent dinosaurs
    1 point
  19. Can't find any games with this name. I can find Pigeon Raising. Not sure if that's the one. Can you provide a link?
    1 point
  20. In the dump is there a method similar to "get_gold" or "get_crystal"?
    1 point
  21. [ Introduction ] Hi @everyone, in recent times, Android has just released version 14, which includes some SDK restrictions. The requirements are that apps should at least be under SDK version 24+, or else installation fails. Another problem is that Game Guardian hasn't been updated for years (March 22, 2021, since the last update), a total of 2 years. I understand that life can be unbothered sometimes, and I hope there's some confirmation regarding this instead of intending it as an "unforseeable future" kind of thing. I've seen a rising number of these issues on Help, General Discussion, and in other possible sections of the forum. I recommend anyone who has a newer device or just recently updated to Android 14 to follow this topic. Here, I propose several possible solutions regarding this issue: [ Main Course ] You can bypass SDK enforcement using shell commands, which you need to install Game Guardian manually through command line. You can achieve this through ADB: Android Debug Bridge or Termux: Terminal for Command Line application. This tutorial will split into 2: { ADB: Android Debug Bridge } This step doesn't require "Root" permission, but before proceeding into the main tutorial. We should prepare several things: Computer / Laptop running Windows OS A cable data Download ADB depedencies: here Android device with "USB debugging". If your device "cant be recognized" or simply not exist on "Device Manager", you need to install: Universal ADB Driver Then read: XDA: Install ADB & Enable USB Debugging. Now put this command on your command prompt / powershell / gitbash / or whatever terminal you use: # Check if our device works properly adb devices # Install Game Guardian manually through ADB adb install --bypass-low-target-sdk-block <path_to_game-guardian.apk> # If ADB is unresponsive / bugged, do: adb kill-server adb start-server { Termux: Terminal } The only requirement is you need "Root" permission, this is the most easiest way. Since you're going to Install Game Guardian, I assume you already have one (Yes, Game Guardian requires "Root" permission, duh). Download: Termux and Just go ahead execute this command: pkg update pkg upgrade pkg install tsu pkg install android-tools sudo adb install --bypass-low-target-sdk-block <path_to_game-guardian.apk> { Virtual Machine } This is suitable way for non-rooted users. Android 14 is relatively new, some of your ROM/OS might not support "Rooting" yet. Virtual Machine allows you to emulate another Android inside your Android 14 (or etc). Usually it comes with older Android version. I suggest to use Virtual Machine with Android 7 or 9 as you're not going to face any redundant issues, like Android 10-14 did. I would recommend using "VPhoneGaGa": VPhoneGaGa VMos Pro X8Sandbox F1VM { Modded APK } You can try to edit Game Guardian SDK: ("android:targetSdkVersion" to version 24+) and ("android:minSdkVersion" to 24+) on Manifest.xml using: APK Editor. You can also download already modded Game Guardian here (credit to @HEROGAMEOfficial ) : : Game Guardian : [ Aftermath ] With that, you can simply reference this topic in case there's someone that facing the same problem. I hope this topic can help you and other people. Thank you for reading.
    1 point
  22. you made it worked once before. im sure you can make it works once again. i already made changes to @MAARS script compare the original script with the one that i made. or your old script with mine for that matter. you can start from there.
    1 point
  23. 1 point
  24. GG supports x86 and x86_64 architectures since very long time ago. From the description on download page: GG's disassembler and assembler aren't required functionality, so no wonder that they are only implemented for most common use cases. Other than that, GG works just fine on x86 Android devices/emulators and nothing prevents one from doing whatever can be done on devices with ARM architecture. For example of modifying something in game code for x86 see: https://gameguardian.net/forum/topic/33131-hotelstory-not-complying/#findComment-121354
    1 point
  25. https://play.google.com/store/apps/details?id=games.my.zombie.shooter&pcampaignid=web_share dont go -999999 , you will get trilions of gold , just go -1 , follow the video.
    1 point
  26. See something familiar in this image? something like 15D;1,769,100,302D;1,634,887,011D;125D::29 1,769,100,302D;1,634,887,011D is Triceratops string name shown in the image. search that group search then goto address. replace that 2 values with this Blue string name = 1,970,029,070;1,145,324,645 ------------------------------- also use in Blue's Foresight, you can search the shards = 15;1,970,029,070;1,145,324,645;shards amount::29
    1 point
  27. Good for you. to everyone else, you dont need shards to max out to 6 stars for Heroic dino. and you can have more than one Heroic of the same dino. just look up for my video.
    1 point
  28. I'll update my doc thanks! JWTG Dino ID Guys I put every way to get any resourse at the end of this doc, including herioc blue shards! might be tiring for method three but...it works!
    1 point
  29. I just tested the script. enemy did not attack and I had higher damage. everything is working correctly. again, just follow the initial instructions so script will save the correct offsets.
    1 point
  30. hmm, I can only suggest to make sure you follow the instructions at the beginning of the script. start any mission, attack at least one enemy, pause game, then start script,. once script finds offsets by auto update from methods, script will save the offsets to a file. There is a chance, script can find offsets that aren't related to the enemy if instructions aren't followed correctly. if you've done this and still have problems, let me know.
    1 point
  31. video : for more cheats :- https://t.me/Rune_Essence
    1 point
  32. Use bitwise operators. To check that address ends with hexadecimal digit C : v.address & 0xF == 0xC Similarly for D8: v.address & 0xFF == 0xD8
    1 point
  33. Address is probably a string. Maybe you want to check the string.sub() function ? https://www.lua.org/pil/20.html https://stackoverflow.com/questions/45255696/extracting-the-last-n-characters-of-string-in-lua
    1 point
  34. 1 point
  35. I just wanted to point out that it looks like this script will call SelectLanguage() whenever gameguardian is clicked. That works, but it doesn't make sense to select the language more than once. It is much more logical to select the language once, then directly call Main() after that: gg.setVisible(false) SelectLanguage() while true do if gg.isVisible() then gg.setVisible(false) Main() end gg.sleep(100) end
    1 point
  36. local lang = {' English',' Español'} local selectHack = {"ONLY SELECT ONE HACK", "ELIGE SOLO UN TRUCO"} local hack = {{'Position', 'Teleport'}, {'Posición', 'Teletransportarse'}} local toast = {{'Position Hack chosen!', 'Teleport Hack chosen!'},{'¡Posición elegida!', '¡Teletransportado!'}} function SelectLanguage() local menu = gg.choice(lang, nil,'CHOOSE LANGUAGE / ELIGE EL IDIOMA') if menu == nil then os.exit() else langC = menu Main() end end function Main() local menu = gg.choice(hack[langC], nil, selectHack[langC]) if menu == nil then return end gg.toast(toast[langC][menu]) if menu == 1 then -- Position Hack elseif menu == 2 then -- Teleport Hack end end while true do if gg.isVisible() then gg.setVisible(false) SelectLanguage() end gg.sleep(100) end
    1 point
  37. Just adding what I want to change and help appreciated Thanks
    1 point
  38. local searchResults = gg.getResults(10, nil, nil, nil, 1, 100, gg.TYPE_FLOAT) would likely return nothing as you do not perform any searches beforehand. local posX = gg.getListItems() local posY = gg.getListItems() local posZ = gg.getListItems() you called it 3 times from the same list. gg.setValues(posX) gg.setValues(posZ) gg.setValues(posY) gg.addListItems(posX) gg.addListItems(posZ) gg.addListItems(posY) so was the editing. it could be as simple as this : local saved = gg.getListItems() for i, v in ipairs(saved) do if v.name == "posX" then v.value = 100 v.freeze = true elseif v.name == "posY" then v.value = 50 v.freeze = true elseif v.name == "posZ" then v.value = 1 v.freeze = true end end gg.setValues(saved) gg.addListItems(saved)
    1 point
  39. Very good. Thanks so much. Just to share a bit information if we want to change the specific value in the future after we changed it using the script. Only for fully upgraded car. Don't forget to save the value.
    1 point
  40. Binary scripts with corrupted or invalid headers interfere with application development. For this reason: Starting with GG 87.0, a variety of warnings and notifications are displayed ("Invalid binary script header"). In future versions of GG, such scripts will not be executed. Uploading such files to the forum is blocked. All scripts that allow you to create binary scripts with damaged headers will be deleted. You can use a script that replaces the header: Lua header fixer (#8vs58ae4) If this does not help, write to the author of the script. To users of scripts: write to script authors so that they do not spoil the headers. To script writers: Don't mess with the headers. If you want to indicate authorship, there are messages, toasts, and other ways. The file header is not a means of self-expression. If your encryptor / compiler has been deleted, you can remove the creation of corrupted headers from it and upload it as a new file.
    1 point
  41. I remap pointers or can change the purchase type from inapp to currency. Pointers I remap are changing the item(s) that you buy with gold/gems.
    1 point
×
×
  • 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.