Jump to content

kiynox

Contributor
  • Posts

    484
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by kiynox

  1. [ @Mohamedbk649 ]
    ---

    Quote

    but as far as i know the game is for both archs.

    Even if the game support for multiple architectures, it will only use one. You can go visit the game directory: /data/data/game_package_name/lib. If there's multiple folder, delete it and just leave one (arm64, armv8-a, x64)

    Quote

    Google play services library can influence with that ? (run games on arch64).

    Yes, if you download the game directly from playstore, it will download the game depends on your device default architecture.
    ---

  2. [ @Mohamedbk649 ]
    ---

    Quote

    [x64] don't show up

    It's simply means that the game runs on x86 (32-bit)
    ---

    Quote

    That's why i think i need to force the game to use x64 or something like that no ?

    It depends, what variant of Phoenix OS that you use. As far as I know, Phoenix OS do support arm64 or x64, try redownload the game with arm64/x64 architecture on: apkcombo.
    ---

  3. [ @Olot ]
    ---

    Quote

    if i forget to enable and restart phone?

    To be honest, I don't really know since I haven't doing it myself. But probably it can cause bootloop or your device might brick.
    ---

    Quote

    how temporary disable works?

    As it's name, it is temporary, the phantom will be turned on sometimes later (Overrided)
    ---

  4. [ @Olot ]
    ---
    it's really simple, just download: Termux. Then copy, paste and enter this command:

    su -c "settings put global settings_enable_monitor_phantom_procs false"

    To avoid any issues, before turning off your phone (Shutdown/Restart) re-enable phantom:

    su -c "settings put global settings_enable_monitor_phantom_procs true"

    Or you can disable it temporarily:

    su -c "setprop persist.sys.fflag.override.settings_enable_monitor_phantom_procs false"

    Or if you have Android 14+, just simply enable Developer Option and navigate: Android Settings -> System -> Developer Option -> Enable "Disable child process restrictions".
    ---
    *Still proceed with caution.

  5. [ @Olot ]
    ---

    Quote

    it starts to freeze on 45% something and after gg crashes. i use galaxy a22 5g android 13 rooted with magisk

    Newer Android version (Android 12-14) uses Phantom processes, it will abruptly stop any processes that exceeded the limit. Perhaps try to disable it: Phantom
    ---
    Try it on your own risk, I'm not responsible for anything you tried. Proceed with caution.

  6. [ @kalibro ]
    ---
    Send us some screenshot. There's 2 app protection, there's things like LiApp / AppGuard that responsible for detecting any kind of abnormalitis on the app level (External), then there's in-game Anti-Cheat that tracks any in-game values (Internal). When talking about Anti-Cheat, you need to address any aspects of the game/app, including External & Internal Anti-Cheat.

  7. [ @Saaammii ]
    ---

    Quote

    this app didnt get installed because it isnt compatible with your phone.

    That's why you need to install it through ADB. Just download the modded version of Game Guardian from the thread. This thread/topic have beed updated, go take a look.
    ---

    Quote

    First of all for what is the " cd/d "%~dp0" " ?

    It is a command to switch directory to current directory.
    ---

    Quote

    Second I ran the install command, but for me it says "[INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 23, but found 22]" what can i do about it?

    Your forgot to add the parameter. The key is here:

    --bypass-low-target-sdk-block

    Android will whitelist the APK from SDK Version detection. So do:

    cd/d "%~dp0"
    adb.exe install --bypass-low-target-sdk-block gameguardian.apk

     

  8. [ @Mari01d ]
    ---

    Quote

    So, can GameGuardian support Shizuku on non-rooted devices?

    Game Guardian development is on hold now, it's been almost 3 years without any hearing from the developers. I don't think Game Guardian will support Shizuku.
    ---

    Quote

    Do you think it has any potential here?

    Just find out what Shizuku is from this thread. Looking at the Shizuku repo, it is really cool. But since it is a middle man for system-binder; is it have the ability to read app memory? while also writing on it? My judge is: it would be limited, just like Android did to ADB.
    ---
     

  9. [ @derbeyonder ]
    ---

    Quote

    Does the address I changed to #0 have an offset address in dump.cs? 

    It is function/method parameter, it's taking values from somewhere / field. It is likely that the value is from "public int price; // 0x24", so just change that instead.
    ---

    Quote

    If not, how can I find the first 8 bytes of hex, from the address I changed with gameguardian, in libil2cpp.so file with a hex editor and change it to 00 00 A0 E3 1E FF 2F E1?

    What you're trying to do here? "00 00 A0 E3 1E FF 2F E1" is equivalent to:

    mov r0, #0
    bx lr

    It is used for function/method that returns boolean/int/dword. It is not clear what "CreateOffer" method returns but I would say it is not returning anything, a void type method.
    ---

    Quote

    Or how can i make a simple gameguardian script?

    Calculate the address that you've changed with the method address. In this case: 08938738 - 08938724 = 20 (decimal) or 14 (hex), so you would need to find method address first and add the offset to it:

    base_address = 'do some logic here to find the method address from libil2cpp.so'
    target_address = base_address + tonumber(20, 16)

    ---

  10. [ @Fujimkad ]
    ---

    Quote

    in what ways can I find out the address of the value responsible for false and true

    True or false is simply presented as 1 and 0. It is dword/integer. You can either find with instruction or dword in general. There would be a lot of results, so I suggest to just disassemble on computers so you can get a grasp of what function that bool is exist. Usually it is formatted like this:

    mov [r0-r10] #[1-2]

    ---

  11. [ @Fujimkad ]
    ---

    Quote

    I have seen many videos where people break purchases in the game through GG, but as I understand it, to do this you need to find out the exact address of the instructions and replace it

    It is really depends on the game. But in general, you can still technically doing it on Game Guardian:

    • - Some games you can directly edit the in-game currency (Diamond, Coins, etc). Or usually it is just protected by XOR-ing the value, so by changing the XOR to 0, you can still directly edit the currency.
    • - Alot of in-game currency relies on server (server-sided) which you can't change it by only memory editing. You can use some workaround, for example by changing the price value to 0, so it can still be editable.
    • - If the game is server-sided, there's not much thing you can do. You may can still poke around the in-game function that handles in-game purchases. For example, you can try to dump/debug the game and find a function that verifies wether the purchases is succeeded or not. By changing it to 'succeed' flag, you might able to break the in-game purchases.
    • - Another tricky ways is to swap item id for an existing item. For example you've some free item to claim, you can change that 'free' item id with another one that is 'paid'. However this is not working if the game inventory is handled server-sidedly.

    ---
    There's alot of ways for doing it but these option is not the 'ultimate' ways of doing it, as it's just replacing the existing memory.

  12. [ @Unknownharry ]
    ---

    Quote

    Same as Lucky patcher api That could Change it For Sometimes Until User is in Application/game!

    Lucky Patcher only emulate in-app purchases that uses Google Play Services, not to mention that it is only working for older version. That's why Lucky Patcher mostly wont work with most apps in the current days.
    ---

    Quote

    Gonna Try use  Lucky Patcher API in Online GG Scripts

    This is very unlikely, as GG scripts only do read/write memory and cannot do beyond that.
    ---

  13. [ @_yourram ]
    ---

    Quote

    thanks, I understood these commands perfectly, but I don't know what mistakes I made, can you fix it too?

    If you understood it, you would not say "I don't know what mistakes I made". And no, I can't help you to fix it because I don't know what you're trying to search here:

    ---[Fix this search yourself]---
    gg.searchNumber(':nDstDist', 1)
    gg.refineNumber('110', 1)
    maintest = gg.getResults(6)
    gg.clearResults()
    maintest2 = maintest[1].address - 0x18
    gg.searchNumber(maintest2, 32)
    -------------------------------

    ---

    Quote

    can you fix it too?

    I can only help fixing the 'table':

    local results = gg.getResults(19)
    if results ~= nil then
    	local elements = {}
    	for k, v in ipairs(results) do
    		table.insert(elements, {address = v.address, flags = 16, value = "-999"})
    	end
    	gg.setValues(elements)
    end

    ---

  14. [ @_yourram ]
    ---

    Quote

    can you explain me in depth about this script function what is happening in this script ↓

    There's a lot of errors, but I will only explain:

    --Clearing results
    gg.clearResults()
    --Set memory region to Ca
    gg.setRanges(gg.REGION_C_ALLOC)
    --Search string: "nDstDist"
    gg.searchNumber(':nDstDist', 1)
    --Refining results that only contain '110' (I have no idea why)
    gg.refineNumber('110', 1)
    --Saving results as variable 'maintest'
    maintest = gg.getResults(6)
    --Clearing results
    gg.clearResults()
    --Taking address of the first result of 'maintest', then use offset -0x18 from the address.
    maintest2 = maintest[1].address - 0x18
    --Searching address of 'maintest2' (I have no idea why)
    gg.searchNumber(maintest2, 32)
    --Saving results as variable 'results'
    local results = gg.getResults(19)
    --(A table that only contain 1, why? (I have no idea why)
    local resultnumber = {1}
    --Temporary table to store items
    local elements = {}
    --Enumerating table 'resultnumber' that only contain 1, what? (I have no idea why)
    for i, v in ipairs(resultnumber) do
    --Check if 'v' is not empty
    if results[v] ~= nil then
    --Adding table: {address = results[v].address, flags = 16,value = "-9e9"}, to table 'elements'
    table.insert(elements, {address = results[v].address, flags = 16,value = "-9e9"})
    end
    end
    
    --Checking if table 'elements' has more than 0 item
    if #elements > 0 then
    --Applying changes in table 'elements' to memory
    gg.setValues(elements)
    end

    ---

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