Jump to content

kiynox

Contributor
  • Posts

    444
  • Joined

  • Last visited

  • Days Won

    11

Posts posted by kiynox

  1. [ @angel88888 ]
    ---

    Quote

    is there any tutorial for learn about speed function selection? i don't know which box should be tick or blank

    I think what @nok1a meant before is that: you shouldn't use GG inbuilt speedhack but rather change the speed properties of that player inside the game. You can modify speed stats or items that can buff your speed to higher value. Game Guardian inbuilt speed-hack is speeding up your entire game, which will cause desync as explained earlier.
    ---

  2. [ @Aaron-Auto ]
    ---

    Quote

    is there possible u can make it username and password 

    As I said earlier, you just need to edit the script I gave you above. It is pretty much the same.

    lookup =
    {
    	["user1"] = "password1"
    }
    
    function notice(message)
    	gg.alert(message)
    	os.exit()
    end
    
    function menus()
    	notice('You have reached the main menu!')
    end
    
    username = gg.prompt({'Enter username :'},{[1] = nil},{[1] = 'string'})
    if username == nil then
    	notice('Username empty, exiting...')
    else
    	if lookup[username[1]] == nil then
    		notice('Username not found, exiting...')
    	end
    end
    
    password = gg.prompt({'Enter password :'},{[1] = nil},{[1] = 'string'})
    if password == nil then
    	notice('Password empty, exiting...')
    else
    	if lookup[username[1]] ~= password then
    		notice('Password incorrect, exiting...')
    	end
    end
    
    menus()

    ---
    *Dont be lazy.

  3. ---
    [ @HEROGAMEOfficial ]

    Quote

    share to public = share code.

    By this logic, just dont hide anything at all since it is used by yourself. The OP wants to "Hide" it, even though some knowledgable users can still get the script datas. The intention is to make it not too obvious isn't it?
    ---
    [ @Aaron-Auto ]

    Quote

    hide my values in a server like 000webhost or something and also for only 1 device

    What kind of 'hide' you want? Isnt your "000webhost" will only store your script? Then just use luaobfuscator & encrypt your script like I said above. Or you want to hide your website address?
    ---

    Help

    [ @tomorucih ]
    ---
    You can use: GGIl2CPP. To use it: you can just save it in the same location as below script:

    require("Il2cppApi")
    
    Il2cpp()
    
    class_name = "Put your class name here"
    field_name = "Put your field name here (not use offset)"
    value_type = gg.TYPE_DWORD --Change it accordingly
    values = 1 --Change your value here
    freezes = true --Freeze the value
    
    
    fields = {}
    local classes = Il2cpp.FindClass( {{Class = class_name,  MethodsDump = true, FieldsDump = true}} )
    for k, v in ipairs(classes) do
    	for k, v in ipairs(v) do
    		local objects = Il2cpp.FindObject({tonumber(v.ClassAddress, 16)})
    		for entry, object in ipairs(objects) do
    			for i = 1, #object do
    				fields[#fields + 1] = {
    					address = object[i].address + tonumber(v:GetFieldWithName(field_name).Offset, 16)),
    					flags = value_type,
    					value = values,
    					freeze = freezes
    				}
    			end
    		end
    	end
    end
    
    gg.addListItems(fields)

    ---
    *Not tested.

  4. [ @Aaron-Auto ]
    ---
    I have updated earlier script. Should works now.
    ---

    Quote

    how about the data base can u make one?

    Just send request to pastebin using: gg.makeRequest(). Put the data on Pastebin like this:

    --Time format (year:month:day:hour:minute:second)
    lookup = { ["user1"] = "2023:12:05:16:22:00" }

    And use this script:

    --[ Updated & tested on: 05/12/23 ]
    function parser(inputs)
    	cparse = os.date("%Y%m%d%H%M%S")
    	uparse = lookup[inputs[1]]:gsub(':', '')
    	
    	if tonumber(cparse) >= tonumber(uparse)  then
    		return false
    	else
    		return true
    	end
    end
    
    function notice(message)
    	gg.alert(message)
    	os.exit()
    end
    
    function menus()
    	notice('You have reached the main menu!')
    end
    
    fetch = gg.makeRequest('https://pastebin.com/raw/Qq72QUn0').content
    if fetch == nil then
    	notice('Cannot fetch data, exiting...')
    else
    	pcall(load(fetch))
    end
    
    inputs = gg.prompt({'Enter username :'},{[1] = nil},{[1] = 'string'})
    if inputs == nil then
    	notice('Username empty, exiting...')
    else
    	if lookup[inputs[1]] == nil then
    		notice('Username not found, exiting...')
    	else
    		if parser(inputs) == false then
    			notice('Username expired, exiting...')
    		else
    			menus()
    		end
    	end
    end

    ---

  5. [ @Aaron-Auto ]
    ---
    There's 2 ways. You can hardcode the timing inside the script or create a database with pastebin or etc. Using database will allows you add more user without making changes to the script, unlike hardcode, you need to keep adding a new user inside the script. So which one do you want? but first of all, here's some inner working of what you want:

    --[ Updated & tested on: 05/12/23 ]
    --Time format (year:month:day:hour:minute:second)
    lookup =
    {
    	["user1"] = "2023:12:05:16:22:00"
    }
    
    function parser(inputs)
    	cparse = os.date("%Y%m%d%H%M%S")
    	uparse = lookup[inputs[1]]:gsub(':', '')
    	
    	if tonumber(cparse) >= tonumber(uparse)  then
    		return false
    	else
    		return true
    	end
    end
    
    function notice(message)
    	gg.alert(message)
    	os.exit()
    end
    
    function menus()
    	notice('You have reached the main menu!')
    end
    
    inputs = gg.prompt({'Enter username :'},{[1] = nil},{[1] = 'string'})
    if inputs == nil then
    	notice('Username empty, exiting...')
    else
    	if lookup[inputs[1]] == nil then
    		notice('Username not found, exiting...')
    	else
    		if parser(inputs) == false then
    			notice('Username expired, exiting...')
    		else
    			menus()
    		end
    	end
    end

    ---

  6. [ @GTXGAMING ]
    ---

    Quote

    so how to bypass through script 

    There's no universal script that ables to decrypt any encrypted values for any games. It is depends on how the game encrypt the values. Can be with different secret key, xor or even hashing.
    ---

    Quote

    how to create pointer script If the value is encrypted

    • Pretty much the same. The encrypted value is often somewhere near un-encrypted value (visual value). So you just need do some offset calculation.
    • Or you can also find neighboring debug symbol / string that related / near encrypted value. Then do the same, calculating offset.

    ---
    So, you can do some experiment by finding the un-encrypted value (visual only value) -> goto the address -> find any neighboring address that have large values (usually there's 4-2 large values near each other) -> then sets it to 0 -> some of that large value address is probably have the correct address, so try to change it to 9999 (whatever).

  7. [ @Silento ]
    ---
    OP wants 2 things: constantly check register value & load allocated memory. So I will cover more about loading memory allocation, since we don't know yet what this memory allocation holds, either instruction/strings:

    • - If it's single instruction, then the OP is in right direction using mov pair (mov, movk, movz), to load immediate address. If it's fails, then you can use ADRP/ADD pair or using Offset/PC relative address, as most instruction doesn't support immediate address.
    ldr x0, 0x100 --Offset/PC relative (ldr address to our target address)

    ---

  8. [ @GuyLian ]
    ---

    Quote

    I want to change W21 value if it's equals to (0xB0FF) then change it to (0xB0CC) that's it.

    The reason I ask you is because:

    • Software/Hardware sets the register value at current state, meaning that you need to change all/specific instruction that does "mov w21, 0xB0FF" to "mov w21, 0xB0CC"
    • Since the value on the register is often changing (based on current execution), meaning that you need to always hook the register/watch any changes into register. You can't done this using Game Guardian, it is only for Memory editing not debugging. You need to use Memory Debugging app like GDB or Ghidra.
    • Your ARM64 Assembly OPCode: ("cmp w21, #0xb0ff ...") will not affect anything since it is not being executed. Beside using Memory Debugger, you can also create seperate thread within the App (Like Mod Menu) to always constantly check for Register value. Although this is bad, constantly checking register means that it is resource extensive and the thread will likely killed by the OS. Yes, Android have auto-prevention that will shut threads/apps that resource extensive (Phantom processes).

    ---
    Albeit, constantly checking Register value is bad in general and not doable in Game Guardian for reasons above. Better just changing any "mov w21, 0xB0FF" instruction into "mov w21, 0xB0CC".

  9. [ @GuyLian ]
    ---

    Quote

    failed to organize arm64 opcode (movz x0, #0xE000)

    Have you tried to change it as Hex (not as ~A8) ?
    ---

    Quote

    I already allocated memory page it starts from address 78D26AE000 and here is the ARM64 Assembly Code I want to use

    Have you tried with mov?

    mov x0, #0xE000
    movk x0, #0x6AE0, LSL #16
    movk x0, #0x78D2, LSL #32

    ---

    Quote

    So I can check if W21 is equals to (0xB0FF) then change it to (0xB0CC) using this ARM64 Assembly Opcode :

    Can you tell me what you're trying to achieve?

    ---

  10. [ @Vaibhavmeghe13 ]
    ---

    1) Perhaps you IP is banned from Cloudflare CDN, you can either:

    • - Change your DNS settings to "1.1.1.1"
    • - Use VPN like SSH/V2Ray or etc: SSH Ocean

    2) Or the files is no longer exist (removed), so you no longer able to download it. If you're looking for virtual apps, I recommend to switch into Virtual Machine (VPhoneGaGa) as it is much better in terms of compatibility and many others:

    ---

  11. [ @INVISIBLE007 ]
    ---
    Try to do the following:
    - Run this command on Termux:

    su
    setenforce 0

    - Open Game Guardian -> "Fix It" button -> Switch to work with SELinux
    - The crash might be caused from Legacy Storage, try:

    su
    cmd appops set <package name> android:no_isolated_storage allow
    cmd appops set <package name> android:legacy_storage allow
    
    --Change <package_name> to Game Guardian package name, for example: com.abdcde

    ---

    4 gb main ram and 4 gb virtual

    Are you refers into virtual apps or virtual ram?
    ---
    If this continues, please send us some logs:
    > Game Guardian logs: Game Guardian -> "Fix It" button -> generate logs -> Send the log here at your internal storage.
    > Send your android logcat: use MyAndroidToolsPro or ADB:

    adb logcat > logs.txt

    ---

×
×
  • 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.