Jump to content

Search the Community

Showing results for 'group size'.

  • Search By Tags

    Type tags separated by commas.
    For example, the common name of the game: PUBG, Free Fire, Rules of Survival, Critical Ops, Mobile Legends: Bang Bang, etc.
  • Search By Author

Content Type


Forums

  • GameGuardian
    • Requests
    • Help
    • Guides
    • Cheats
    • Video Tutorials
    • Unintended Effects
  • General
    • General Discussion
    • Introduce yourself (:
    • Announcements
    • Website suggestions/Bugs
  • Downloads Support
    • Apps
    • LUA scripts
  • Online Multiplayer Mods
    • Altering Online Games with Gameguardian
    • Download Mods
  • Other Hacks
    • Tutorials
    • Non-GameGuardian
  • Archive
    • Archived topics

Categories

  • Official Downloads
  • Virtual spaces (no root)
  • LUA scripts
    • Forward Assault
    • Free Fire
    • PUBG
    • Rules of Survival
    • Templates
    • Tools
  • Test applications
  • Other

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Device


Discord ID

  1. Well first of all there are 2 XOR key I found, one is 444,444 and the other is 444,442 with these XOR key you can get every currency in this game if I didn't miss one. First is gold you just have to put 444,442 as XOR key and you can find the value and edit it. Qword is recommended since Dword is limited for gold. For Ruby if you don't have any you can just do Dword basic search of an item in the ruby shop and use increment to find out the value for the item in sale and edit it negative value If you already have some ruby then you can use the XOR key 444,444 to find the value and edit it. For the blue currency it's the same thing as ruby but the value you need to find is the Lv. 1 cost of what you want to edit. If it's Lv.10 and it cost 9990 you won't find anything if you search 9990 you need to find the Lv.1 cost value and edit that in negative. And if you already had some of this currency then the XOR key is 444,442. I used group search 100;100;50;100;50 for this one and I removed every 100 and incremented the 50 values to find those amd edited them and for the XOR key it's 444,444. For this currency you need to search 28000 with the XOR key 444,444 you should only find 1 value and you just have to edit it negative and every item at the same price will change too. For the XOR key of the currency it's 444,442. And that should be it for currencies. You can also edit other stuff like this And prob a lot more stuff with those 2 XOR keys so you can search for yourself it's either basic Dword or one of those 2 encryption. Well have fun fiddling with the game now. Btw I'm tired so I might have explained it badly so if you didn't understand something you can always ask.
  2. Post screenshots of your address list. The idea, if you don't have a 500m stack or a big number previously edited, is to work with an unchanged group of different values. For that I used the example of a 640 and a 680 stack, spawned one after the other. Work with different numbers. If you're getting too many results, look for another value: remove some of them and try again after a fresh restart. I don't do this hack with refining. That ALWAYS crashed my game. You can do this in one shot with one search and one edit. Keep your inbox organized. So you want a lot of modded AKs. Once you get one, clean your inbox so it's easily located. Example by order in inbox: - 700 wood - 700 stone - 1 Modded AK - 70 gas. This way it's not messy with a lot of 1D values. At least while you're not nailing it. For that, clean your inbox carefully before doing anything! When you reduce the wood/stone value, make them different from each other, preferably by 40 or so values. Then there are a few possible outcomes from that list which you can witness in the video (# = random number) ####D ##D yourvalue D ###D This is a completely unrelated set. Ignore it. -1#########D 0D yourvalue D 0D -1#########D Not this one either although it will seem coherent with the values in your inbox. Finally: -1#########D 0D Verification D yourvalue D 0D -1#########D This is the correct one. Select both the quantity and verification, press edit. Tick "add to value, do not replace". Type 500000000. Click OK. Take one item from that stack (in case of stone and wood you'll see immediately the value jumping to 500m) and restart to check. How can I help? Can you record a clip? I am not having much time but I'll help as I can.
  3. ohh i see,Thx MonkeySan and CrystalMod i really appreciate your help,now i understand what is offset and how to write them in simple script,thx so much for the scripting example and the videos. btw, the -3,219,128,320 Qword will get about 1-10 results.In the video above,i already remove the unwanted value and using only 1 code as example for the video. I knew i could use the group search as MonkeySan provided and there was a another easy example one, that goes like this > gg.searchNumber("7,1746481e-50F;-3219128320Q:512",gg.TYPE_AUTO,false,gg.SIGN_FUZZY_EQUAL,0,-1) gg.getResults(850) gg.editAll("1,4160822e-46",gg.POINTER_WRITABLE) gg.editAll("-3146121216",gg.TYPE_QWORD) but I know there must a be method for a faster editing multiple adress with the same search value,and use the offset in the script. I want to learn that knowledge ,bcuz in the game i am playing,the faster the code the better it be ^w^,Btw i really appreciate the example that have been provided,i might use it for another function cheat in the game.Thx so much. Let me describe how totally the cheat will work. 1)it is an xray code,after edit the values,i can see enemy bodies through wall 2)i get the code -3219128320 qword by tracking another fast script.Results will be under 10 values. 3)I have studied what is the working code,that is -all -3219128320 qword founded -1 another adress inside only 2 code/address/value from the results founded -the 1 another adress are not same inside the 2 values -512D ; 7,1746481e-50F ; 512Q -512D ; 7,1746481e-50F ; -4,294,966,784Q 4)Edit all -3219128320 from the results 5)edit 7,1746481e-50F ; 512Q from only 1 in the results 6)edit 7,1746481e-50F ; -4,294,966,784Q from only 1 in the results 7)both offset are same which is 30 8)gg.toast('done')
  4. Hi! Sorry for the late response, usually i can only contribute thread per day because i'm busy with my project. Anyway, i kinda can't quote some of your question because i'm on mobile device, so i will answer a few here xD. Any files has its own permission assigned, its consist of user, group, system. As its name, it's permit the allowed party to do such thing with the files (Read, Write, Modify). To access the file permission, just hold the file until the file option comes. You might find something like 'attributes' or 'permission'. I recommend to use MiXplore or ES File Explorer to see that kind of option because the stock file manager usually doesn't have it. An alternative way to this is to delete unnecessary game files and replace them using blank file with the same name. You might ask 'wich file?'; thus you can do this on database, app_cache, files folder, etc. You might do it your-self, just try the file one by one, if it affect the game (Make the game crash), revert the file to original one and leave untouched Yes, you can try the shell code i gave you above. The memory manipulation will work as memory bypass, so you can use memory hacks without being detected. I might unclear to explain this, just run the code using Android Terminal Emulator or ADB. You might wonder what game PID is, basically the game has its own process ID when its running. To find the game PID, use this code: pidof com.criticalforceentertainment.criticalops It will show some kind of number, make sure to copy it. Now put the pid into '[pid]' field that i've been mention in the code. You might find this difficult, you can just try this one-liner: if $a in "pidof com.criticalforceentertainment.criticalops"; do mount -o bind /proc/2/maps /proc/$a/maps; end -Good Luck!
  5. Note to Mods : Since I'm new here there I cannot create post other than here . If you find below guide useful please move to guide folder. I'm a newbie to Lua but interested to learn ( albeit at a slow pace ) . The first thing I observed was to find a quick way to script and test. Now I've a windows on VM that I use to practice. Running bluestacks on VM is discouraged due to performance issue. So set up as below. It can be used both in or out of VM. Environment Windows 10/11 Windows 10/11 VM Apps Lua binaries ADB ( Platform Tools ) VSCode Lua Extension GG Lua Intellisense Scrcpy - To view / control phone from PC Setup Install Lua binaries > Update path in environment variable Install ADB > Update path in environment variable Install VSCode Install extensions for Lua and GG Intellisense Setup a default build task for .lua files CODE for default build task { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "push2Phone", "type": "shell", "command": "adb push c:/dev/lua/lw_01.lua ./sdcard/lua/", **** CHANGE THIS LINE AS PER YOUR PATH AND REMOVE COMMENT **** "problemMatcher": [], "group": { "kind": "build", "isDefault": true } } ] } Prerequisites Activate android debugging on phone and link your device via ADB [Optional] Download SCRCPY and run the application How to use Create a script in VScode. Use intellisense extension to format, check syntax errors etc Save Please CTRL + SHIFT + B > This will trigger default build and due to the code above will automatically push the script to desired folder on phone ( Provided the phone is already connected via adb ) Use GG in phone/scrcpy to run the file. This is one quick way to develop + test directly on phone If you have any other tips/tricks related to vscode, feel free to add .
  6. I’ll try my best to guide you. If you don’t get it, I’ll make the video. COINS you need sim work as a barista. No matter what level. on the every job event, there are rewards, for example 1 ticket, 45 simoleons & 30 job points. you can do group search like 1;45;30:40 (1 for ticket value, 45 for coins value and 30 for job points value) refine it by 45 (coins value) the result will be over a thousand but okay. Stay on show result 100 because if you show all result (a thousand) and do increment, will crash the game. Do increment now. retap the event job button on the game (pink star button) to see the simoleon value change. If it’s not changed, try to delete and revert (tap trash bin on GG) and do increment again. back to GG and scroll, look for the match value as it shows on the game. Change it. And revert other values you have incremented to make sure it’s “Safe”. I suggest you don’t change the value over 5 millon because when you collect, will freeze the game longer and crash it. take the job event and finish it. So you will earn coins as much as you input. The game will freeze for seconds. But fine. Just wait. And viola! SIMCASH You need reward 7 simcash and 50 simoleon on quest. And complete that quest. But do not collect now! go to GG and search 7;50:40 now refine by 7 there will be over 300 result but okay. Stay on show only first 100 result. I suggest you do not show over 100 because will crash the game. do increment now. Reopen the quest windows to see the change. If the value (simcash) is not changed, delete and revert (tap trash bin on GG). Do increment again. If game crashes after increment, retry. The steps same as coin h**k. The bigger value, the longer the game will freeze when you collect. this methode credit to @DarkangelX15X
  7. clash of clans Features: 1 Loot Search (Gold, Elixir, Dark Elixir Search While Attacking) 2 SandBox Attack (Simulate Attack) 3 Keep Active (You Never Get Attacked While The App is Active) For iDevice users Requirements: 1 Jailbroken iDevice 2 Cydia Substrate 3 xmodgames Instructions for Installation in iDevice: cydia repo: http://apt.xmodgames.com. detail tutorial of installing xmodgames in cydia can be found in this url For Android users Requirements: 1 Rooted phone 2 xmodgames Download in Android system: download link:http://www.xmodgames.com/x.apk or search "xmodgames" in google play store Instructions for Activation: 1 Open the app “XmodGame” from HomeScreen. 2 Click on Clash of Clans. 3 After Mod is Installed, Click on Launch. 4 After App is Opened, Click On 'X' button at the bottom left corner. 5 Click On 'Set' in the right side of the screen. Set a limit to search. Turn the options on. NOTE:"Search" function on IOS & Android have different operations, but the rest are the same: On Android, set conditions then click "search switch" to start a search; On IOS, set conditions, click "Search Switch" then you MUST click map "Attack" button on the left corner of screen to find your enemies. "Search" function on IOS & Android have different operations, but the rest are the same: On Android, set conditions then click "search switch" to start a search; On IOS, set conditions, click "Search Switch" then you MUST click map "Attack" button on the left corner of screen to find your enemies. SandBox attack is a simulate attack when you visit others. When it finished xmodgames will CRASH. Keep Active :You never get attacked while the app is active. But remember to keep your screen on. 7 Enjoy it!! Xmodgames also have mods for other games ( spider man:unlimited/ Boom Beach/ Summoners War/ Candy Crush/ Ace Fishing...etc.) Here is the tutorial video! https://www.youtube.com/watch?v=fdZNvSOsYhY Credits: XModGames Group
  8. <string name="help_xor_search_title">XOR search</string> <string name="help_xor_search">"* XOR search: If you know that the value you need is encrypted with a XOR key that is always at the same distance from the value, then you can use this mode to search by the decrypted value. 1. Switch to __app_name__ from a game. 2. Tap the \"__search_known_value__\" button in the \"__search__\" tab. 3. Enter a search number and XOR key distance, separated by \"__mode_xor__\". For example, to search for value 100 with a key on distance 8, enter: 100__mode_xor__8 To input additional symbols, use the \"__btn_hex__\" button on internal keyboard. 4. Select the suitable data type, or choose \"__type_auto__\" (if you are not sure) and other options (if needed) and click \"__search__\". 5. When finished searching, search results will be displayed in the list. 6. Back to the game. After the value has changed, switch to __app_name__ again. 7. Repeat XOR search with appropriate changes. 8. If there are too many results, repeat steps 6 and 7. 9. If few results are left, you can try to modify, store or freeze the value. You can use XOR search with range search. For example \"100__tilde__150__mode_xor__8\". Usually XOR search is slower from usual number search. This mode not supported in the group search or in the encrypted search. Distance must be from 1 to 4096 inclusive. You can input distance in hex form with __hex__ symbol at the end: \"100__tilde__150__mode_xor__10h\". Distance must respect values align. For example, dword must be aligned to 4-bytes boundary. This mean search \"40X7\" is useless for dword because 7 can not divide to 4. Combine this mode with another can cause problems on the bad firmware. For example, if you make usual search and after that refine in XOR mode this can cause hang or reboot your device. This must not happen if the first search will be in this mode. A fuzzy search of this mode is not supported. You can combine it but fuzzy work as usual and do not respect your XOR key with distance. Sign for values is respected. It is mean you can search value not equal, greater, smaller and so on. In this search, all values are considered signed. "</string>
  9. 1: /data/data/com.voegyuzcwnxhndki/files 2: 10041 3: [com.voegyuzcwnxhndki] 4: [1028, 1015, 3003] 5: 10041 6: -1 0 7: 22 8: /proc/self/fd/57 -> /data/data/com.voegyuzcwnxhndki/files/377127035.txt '/data/data/com.voegyuzcwnxhndki/files/377127035.txt' N: '/data/data/com.voegyuzcwnxhndki/files/377127035.txt' 9: '/data/dalvik-cache/arm/data@[email protected]@[email protected]' '/data/dalvik-cache/arm/data@[email protected]@[email protected]' '/data/dalvik-cache/arm/data@[email protected]@[email protected]' '/data/app/com.voegyuzcwnxhndki-1/base.apk' '/data/app/com.voegyuzcwnxhndki-1/base.apk' '/data/data/com.voegyuzcwnxhndki/files/377127035.txt' '/data/dalvik-cache/arm/data@[email protected]@[email protected]' '/data/data/com.voegyuzcwnxhndki/files/377127035.txt' 10: false 11: /proc/self/exe -> /system/bin/initlinker32 12: 25447 13: 999 -> Name: oegyuzcwnxhndki Umask: 0000 State: R (running) Tgid: 25447 Ngid: 0 Pid: 25447 PPid: 23025 TracerPid: 0 Uid: 10392 10392 10392 10392 Gid: 10392 10392 10392 10392 FDSize: 128 Groups: 3003 9997 20392 50392 VmPeak: 1349464 kB VmSize: 1329028 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 91524 kB VmRSS: 91524 kB RssAnon: 21896 kB RssFile: 69428 kB RssShmem: 200 kB VmData: 134108 kB VmStk: 8192 kB VmExe: 12 kB VmLib: 82036 kB VmPTE: 544 kB VmPMD: 16 kB VmSwap: 0 kB Threads: 28 SigQ: 3/20989 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000080009204 SigIgn: 0000000000000001 SigCgt: 0000000e400094f8 CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: 0000000000000000 CapAmb: 0000000000000000 NoNewPrivs: 1 Seccomp: 2 Speculation_Store_Bypass: unknown Cpus_allowed: ff Cpus_allowed_list: 0-7 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 1063 nonvoluntary_ctxt_switches: 187
  10. @HorridModz Provides a Nice detailed explanation. Hex patching is rather easy as it's only a form of data that simply overwrited / added, the important thing is: to understand the assembly itself. Probably I'll provide a little more coverage about the topic. [ Usage ] - Replacement: You can only replace hex at fixed length. The hex length is depends on Data types that you're dealing with, it could be a Set / Subset Instruction. In general it can take 2-4 bytes, make sure to read the instruction as a string not in hex form. More simple coverage on the next section. - Addition: This used when doing references such as memory allocation. To manually add a custom instruction; you need to write it in empty/unread memory region (the indication is: it's filled with 00) and then reference the game function to your allocated memory. It's the general idea, you shouldn't be worry about it; most tools already provide this feature. Why no substraction? You can't remove a function even after proper patching and 'disabling' any reference to that function, directly or memorily. It leads to data corrupt/crashing; so it's uncommon. You can use this to cut fake data (such as malware app that filled with 00 to make a large size) because "they" only add additional hex at the end. There's more reason to this. [ Data Types ] - Function/Instructional data takes 4 length; mov r0, r0 #00 00 A0 E1 bx lr #1E FF 2F E1 - Inner Function/Subset Instruction takes 2-4 length. It's called as thumb and can be found on 32-bit architecture. mov r0, r0 #00 46 bx lr #70 47 [ Patching ] - Lazy Patch: You can 'remove' instruction without removal, simply fills with 00. This off course wouldn't work if the app have high security but the benefit is: You don't need to understand Assembly. - Proper Patch: You can just memorize this common patch and applies it anywhere; it's simple and not a time consuming. Well, for more instruction patches; you need to learn assembly. Learn returning values and Jump instruction (BL/JMP) patches would mostly help. [Patch 1] Instruction: mov r0, r0 Arm Encoded: 00 00 A0 E1 Thumb Encoded: 00 46 [Patch 2]: Usually a boolean/takes value Instruction: mov r0, #0 Arm Encoded: 00 00 A0 E3 Thumb Encoded: 4F F0 00 00 [End Patch]: Indicate closing, put after patches Instruction: bx lr Arm Encoded: 1E FF 2F E1 Thumb Encoded: 70 47 [ Misc ] - 00 is equal to 1 Hex - Hex can present in 00 or 0x00 - Thumb can be found on 32-Bit Architecture (x86, Armeabi / Armv7 / Arm32 ) - Thumb can also takes 4 length; the same length as Arm encoded - To differentiate Thumb and Arm encoding; 1) Copy the instruction hex, 2) Compare hex and instruction, including after and before offset
  11. How to crack the most games Most games are free from protection and can be hacked by changing the values in its memory. It is only necessary to find the right value in the memory. In most cases, it looks like this (1 method): You have in game a certain number, which you can change. This can be anything: money, crystals, the number of lives, the number of resources, damage and so on. Are you looking for this value in the memory. Most likely find a lot of values. Returns to game, change this number, and looking again. And so as long as there will be a small number of results. Then you change to the desired number and all done. Type of data to search - usually Dword. If nothing is found, then you try to type Auto. If in Auto has not found, then the value may be encrypted. Try Dword + "encrypted value" or Auto + "value is encrypted." (3 method) It may happen that the number found is not reduced. Change a lot of values is dangerous - you can get glitches or game crashes. Use the filling to find the desired value, among those found. This is done as follows: choose "edit all", click the "more" button, put in the increment 1. As a result, all values will be filled in ascending order. Return back to the game and check how the value has changed. If there is no change, then the hack did not work - as a result there is the desired value. Returns to the GG, roll back the changes on all the results to avoid crash, and try other methods. If the value has changed, then see the new value, and then looking at the list of found the same values. With him remove the check mark. Everything else revert to previous values and delete. The remaining change to the desired result. In principle, it is enough to break many games. If this does not work, you can use the fuzzy search. It is longer and more complicated, but allows more options to hack protections. It looks like this (method 2): You start a fuzzy search in GG. Then you go into the game and change the number to be hacking. Returns to GG, press the "value change". Then again in the game, you make it any action, but the number does not change. Back to GG and choose "value has not changed." And so on. Alternating change with his absence, you pretty quickly will eliminate all unnecessary values. We need to try to change the number of different ways - then will be fewer results. What remains - are trying to edit and look at the result. If you know exactly the amount by which the value of the game has changed, then the fuzzy search, you can click "more" and specify the exact value. If the number has decreased, then with a minus sign. Then press a button "N = O + D" (new = old + delta) and everything that does not fit, will be deleted. If the number does not change, then weed out the excess may be difficult in the game. You need to look whether there is in the game next to the number of the other numbers. If so, search for group (4 method), you can try. Typically, it looks like this: There are a few numbers that appears next in a game. Are you looking for them through the group list. Will find a lot. Then you are looking at the results of just the right number, discarding the rest. In fact that's left - filling apply, as described above. It will allow to find the right value. In general, it is all about this. A couple of tips: Often, game values are adjacent in memory. Do not be lazy to go to the memory editor and see what kind of values are close to the desired parameter. For example, the game has a silver and gold. Silver to earn and spend just as gold does not. After breaking silver you go in the memory editor at silver and below you can see the number that matches your amount of gold. Try to change it. Most likely, this is the value that you need. The game can speed up or slow down if it works speedhack. There is also a function time jump. Sometimes it may provide additional opportunities for hacking. For example, the value of the game is changing too fast - slow down the game in 1000 times and find the desired value. No need to dwell on the main game settings. You can not hack gold? Crack the number of items and then sell. Or hack the price of the object. Also, do not forget that the number may be negative. Purchase price for the negative - a typical approach is to crack. Still it is possible to break the number of received awards, bonuses and so on. Sometimes it is possible to break even that does not look like the numbers at first glance. For example, some flag. You're in the air - in memory 1, you are on the ground - in memory 0. You will find this value, and then freeze it as 1 or 0, and you can "walk" through the air. Sometimes these things can be done to make it autoaim, endless events and so on. In general, it is all about this. These approaches and techniques enough to break most games. Of course if it is possible. If the game stores data on the server, then it will not help. When you try hacking these games may be issued a message on the data out of sync with their subsequent overloading the server. If the game does not work without the Internet, there is need to enter your login / password, select the server to connect to, you can play with other players, it is likely that all of the data on the server and you will not be able to crack anything.
  12. How to shoot yourself in the leg This list is not exhaustive. When fantasy stock almost anything can cause a shot in the leg. Here they are listed only the most common methods. 1. Turn on speedhack with 1,000,000 or higher speed, and then complain about game data is damaged. 2. Make time jump for a few months or years in advance, and then complain about game data is damaged. 3. Change the values of several thousand in memory of the game, and then complain about game data is damaged. 4. Install the new version of GG, make horrible changes it in the settings, and then complain that the new version is not worked like the old, in which the default settings. 5. Select the settings English, use "," as the decimal separator, and then complain that it not used. 6. Use hide from the application, and freezing the values at the same time, and then complain that the game slows down. 7. Change the value in an online game like Clash of Clans, and then complain that the hack does not work. 8. Enter in the search for negative values, and then complain that finds the positive values (old version). 9. Enter in the search for positive values, and then complain that is a negative value (the new version). 10. Enable the auto pause in GG, and then complain that the system reports that the game does not respond. 11. Try to use speedhack in the game without x86 libraries on emulators, and then complain about speedhack not work. 12. Set count of output values of the first results near a million, and then complain that the GG force closes. 13. Watch the video with another application (GameHacker, iGG and so on.), press similar buttons in the GG, and then complain that the hack does not work. 14. Open the memory editor to see there another output format, and then complain that there is not so in the video / manual. 15. Fill in all the fields, that is, at least something, and then complain that the hack does not work. 16. In the temporary path enter numbers for search, and then complain that not work. 17. When we rename any label, or make any changes, then complain about the fact that it worked before, but now everything is broken. 18. Use the memory regions that are marked as dangerous, changing them in random data, and then complain that the game has crashed. 19. Freeze value, try to edit it, and then complain that the value does not change. 20. Trying to enter the type of data more than it can be in this type, and then complain that generates an error. 21. Try to perform the group search, using as separator ",".
  13. GameGuardian work without root So, as for work without root. This is not magic. Technical limitations were, and have remained. So it will not work anywhere and always. Actually it looks like this: 1. You put an application of virtual space (Parallel Space, VirtualXposed, Parallel Space Lite, GO multiple, 2Face and many others). 2. In it you add the game and installed GameGuardian. 3. From the virtual space application, you launch the game and GameGuardian. Actually everything. GameGuardian can be used to hack the game. Everything is simple and transparent. It was a good part of the news. Now about the bad: 1. The game has zero progress. You can not transfer the progress from the existing installation of the game, if the game itself does not provide it (through the cloud or somehow). 2. Not all games work through virtual spaces. 3. There may be another account in the game. 4. Not all functions will be available in GameGuardian. 5. On some firmware it does not work at all. If you cannot choose a proсess in GameGuardian, or get an error 105/106, then on your firmware, GG, without root, will not work. Try optimized versions of virtual spaces or another firmware or other device or get root. 6. In some virtual spaces GameGuardian does not work. What can be done in case of problems: 1. Try different virtual spaces if the problem is in them. Best option: Parallel Space. 2. Try changing the firmware. 3. Get a root and do not fool yourself. Once again: it will not work at all and always. It is possible that it will work for you and will not. Virtual spaces to run GameGuardian without root (#ct7bob3) Proper install without root - GameGuardian (#abausujp) Help: https://gameguardian.net/help/help.html#work_without_root Video-examples: Balls Bounce Free - hack balls - without root - GameGuardian, Parallel Space Bejeweled Stars: Free Match 3 - hack without root - group search - GameGuardian, GO Multiple Hack Tap Counter without root via GO Multiple on Android 7.1.1 - GameGuardian Hack Tap Counter without root via GO Multiple - GameGuardian Work without root via Parallel Space - GameGuardian Work without root via 2Face - GameGuardian Work without root via Mutiple Accounts - GameGuardian Work without root via GO Multiple - GameGuardian No root via VirtualXposed - GameGuardian (#b6l7k1qu) No root via VirtualXposed (without error 105) - GameGuardian (#bpb5835m) No root via optimized Parallel Space Lite - GameGuardian (#47glijbj) No root [from scratch] (boring and long video) - GameGuardian (#9rf9317c) No root via Dr. Clone - GameGuardian (#aft8whcy)
  14. XOR SEARCH: This method of search is very unique and not intended for you to try as a first method. Once you've tried all memory types, all ranges, unknown increased and unknown decreased and all fail, this method might be what you want to do last. XOR is a simple encryption method, but without the key, you can't know the value. And games lately (not all) will have a key that changes on value change, making finding these types of values EXTREMELY difficult if not impossible... Until now. HUGE thanks to @Enyby The search All the games I've come across that use this method have all been dword, so I'll stick to dword. Also most games (except For Emblem Heroes and some parts in GunPie) the XOR key and XOR value are 4bytes apart. Let's say you have 25 gold. To search 25 with xor key 4 bytes away 25X4 If you know your value is within a range but not 100% on value, so you know you collected about 40 to 45 gold, your search can be 38~50X4 Then when you collect 10 more 48~60X4 During these searches, if you want to eliminate many results that are most likely not it, you can do a does not equal 0 and does not equal the value. You search 500X4 Followed by ≠0 ≠500 Then you can resume the XOR method. This search cannot be done with a group search. If done properly, can do unknown changed/unchanged. Editing You have a couple ways you can edit values. Edit results and if you want to edit to 12345 Put 12345X4 If you want to edit multiple values keeping xor and doing a different value for each. If you have 3 results from searching 500X4 Edit results 100;5000;15000X4 First value week be edited to 100 2nd 5000 and 3rd to 15000. The other option ,goto address, copy value above (xor key) using the xor calculator built into GG, calculate value and got can type values and re-encrypt with proper xor key. Increment edit If you have 5 results and want each to be different, separate each edit with a ;. So for 5 results 5;10;15;20;25X4 Value 1 will be 5, 2 will be 10..... Then you can figure out the correct value, revert and remove the wrong values and continue with editing that one value. List of known games using XOR protected values. Tiny Miners Bullet Force Gunpie Super Mario Run Fire Emblem Heroes (SP: 8 is xor offset. Level: 24 is xor offset) Touch Tank Target Acquired Futurama: Worlds of Tomorrow Pokémon: Magikarp Jump Skychamp HAWK: Freedom Squadron Candy Crush Heroes Infinite Stickman Legend (XOR offset 8) Zombie Pandemic Survivor
  15. Kingdom Adventurers V2.42 Date: Aug 24th 2023 Tested on Nox Emulator using Adguard to block Ads Diamonds can't be changed directly Using Game Guardian (GG) You should know how to start GG and how to search Searching for Basic Materials As the previous method was changed, I will update the search for the basic materials Item Codes (ITEMCODE) These are Flags that are used to identify Materials 1 Grass 2 Wood 3 Food 4 Ore 5 Mystic Ore 6 Energy Search Syntax This is a grouped Search where each value is seperated by a semi-colon (;) -9999999~~0;0;ITEMCODE;QTY;STORAGE;0;0;1;-1;0;7FFFFFFFh::41 Values to Search for -9999999~~0 - Look for a large negative number, this changes with every time you start or continue the game 0 Flag - Leave as is ? ITEMCODE - Change to the Item Code you want to search for ? QTY - Quantity ? STORAGE - The Capacity of the Storage 0 Flag - Leave as is 0 Flag - Leave as is 1 Flag - Leave as is -1 Flag - Leave as is 0 Flag - Leave as is 7FFFFFFFh Flag - This is in HEX so include the "h" at the end ::41 Flag - An Ordered Search (::) that is 41 long Let's look for Grass At the start of a new game there is 20 Grass 25 Grass Capacity -9999999~~0 This flag is possibly the start of the data for an Item We know that the first value is a large negative number so we are saying search for any number that isn't between (~~) -9999999 AND 0 Flag Where there is a Flag we just use what the value is, include the "h" for the HEX value ITEMCODE Grass has an ITEMCODE of 1 QTY There is 20 Grass STORAGE We know that the Storage in 25 at the beginning of the game 7FFFFFFFh This flag seems to be the end of data for the Item With this information we can fill in the Search Syntax -9999999~~0;0;ITEMCODE;QTY;STORAGE;0;0;1;-1;0;7FFFFFFFh::41 -9999999~~0;0;1 ;20 ;25 ;0;0;1;-1;0;7FFFFFFFh::41 -9999999~~0;0;1;20;25;0;0;1;-1;0;7FFFFFFFh::41 This should return 1 result where you can change the Quantities and Storage. I would freeze the value then wait a few seconds so it can be registered. STORAGE Unknown If you are way past the beginning which most are then the Storage Capicity shown at the Town Hall might not be the Capacity to search for We know that the Town House has at least 25 Storage at the Start and we'll use a huge number to catch everything else So I'd do a Search between (~) 25 and 99999 or higher if you've previously changed that value If we still had 20 Grass but didn't know the Storage -9999999~~0;0;ITEMCODE;QTY;STORAGE;0;0;1;-1;0;7FFFFFFFh::41 -9999999~~0;0;1 ;20;25~99999;0;0;1;-1;0;7FFFFFFFh::41 -9999999~~0;0;1;20;25~99999;0;0;1;-1;0;7FFFFFFFh::41
  16. Illuminus

    Can i lua this?

    this is what I wrote so far : if gg.BUILD < 5511 then gg.alert('You need a newer version of GameGuardian app to run this script. At least build 5511.') os.exit() end gg.clearResults() ::restart:: if gg.isVisible(true) then gg.setVisible(false) end gg.toast('my first GG Lua script Great Thx to Backlift and Enyby') --Entering both values of every Avatar --Avatar 1 v = gg.prompt({a1_1='Enter Avatar 1 value 1'}, {a1_1='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end v = gg.prompt({a1_2='Enter Avatar 1 value 2'}, {a1_2='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end --Avatar 2 v = gg.prompt({a2_1='Enter Avatar 2 value 1'}, {a2_1='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end v = gg.prompt({a2_2='Enter Avatar 2 value 2'}, {a2_2='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end --Avatar 3 v = gg.prompt({a3_1='Enter Avatar 3 value 1'}, {a3_1='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end v = gg.prompt({a3_2='Enter Avatar 3 value 2'}, {a3_2='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end --Avatar 4 v = gg.prompt({a4_1='Enter Avatar 4 value 1'}, {a4_1='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end v = gg.prompt({a4_2='Enter Avatar 4 value 2'}, {a4_2='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end --Avatar 5 v = gg.prompt({a5_1='Enter Avatar 5 value 1'}, {a5_1='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end v = gg.prompt({a5_2='Enter Avatar 5 value 2'}, {a5_2='0'}) if v == nil then gg.alert ('Script Canceled, No input') os.exit() end --Converting inputs in searchable Values --Avatar 1 B1 = gg.getValue(a1_1) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 1_1 = read() B1 = gg.getValue(a1_2) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 1_2 = read() --Avatar 2 B1 = gg.getValue(a2_1) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 2_1 = read() B1 = gg.getValue(a2_2) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 2_2 = read() --Avatar 3 B1 = gg.getValue(a3_1) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 3_1 = read() B1 = gg.getValue(a3_2) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 3_2 = read() --Avatar 4 B1 = gg.getValue(a4_1) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 4_1 = read() B1 = gg.getValue(a4_2) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 4_2 = read() --Avatar 5 B1 = gg.getValue(a5_1) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 5_1 = read() B1 = gg.getValue(a5_2) A1 = 1072693248+1048576*math.floor(math.log(B1)/math.log(2))+math.floor(1048576*((B1+B1-math.pow(2,math.floor(math.log(B1)/math.log(2))+1))/math.pow(2,math.floor(math.log(B1)/math.log(2))+1))) type(B1, A1) 5_2 = read() --Ordered group scan of both Search values for first avatar gg.setRanges (gg.REGION_ANONYMOUS) --I got so far. Problem here i cant find any commands to do a ordered group search --i would try this for my understanding: gg.searchNumber(v['1_1'], gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1);(v['1_2'], gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1):1024 _______________________________________________ added 3 minutes later Holy yours much shorter then mines ROFL great thx
  17. THIS TOPIC CONTINUE WITH LAST TOPIC ABOUT CASTLE CLASH V1.2.39 HACKING. - I appreciate all of your contribute to my topic! Your help makes it better and more effective. Thanks for all! - Besides, IGG member is alway collect all thing in this forum and send to headquarter, so we should not share everything in public. Personal message or group conversation is a better way. Features of this hack: - Hack for damage, health and skill for all heroes, hack damage for troops and towers. - Support all mode: raid and arena (not encourage). HBM, Guild boss, Dungeon and Hero Trial Mode. - Support to switch account. - Still works on newest version 1.2.49. - ALL IS FREE FOR VIP+. QUICK TIPS: - First code for search: * Legendary hero: 1074737971 * Elite hero: 1074056396 * Ordinary hero: 1073007820 ---- On blue line: change DW to 1999999999 -> hack for damage. ---- 4 lines above blue line: change BYTE to 0 -> hack for procs (continuously) and damage. ---- 8 lines above blue line: change BYTE to 328448 -> hack for Health. ---- 8 lines below blue line: change DW to 40108288 -> hack for procs (continuously). ---- 12 lines below blue line: check hero level (max level). You can skip this line. ---- 20 lines below blue line: change BYTE to 43 -> hack Thunder God skill. Download link: - Instructionv4, hero map and calculation file. Link: - Here is sbgamehacker link. Do not update to newest version of sbgamehacker! Caution: - Use it wisely, responsible for what you do. - Don't sell or buy this hack, it's is FREE. - Read instruction with careful before use. - Support by PM or follow topic. Support by me and all member. THANKS FOR YOUR ALL CONTRIBUTION TO THIS TOPIC. Question and Answer: 1. How to install or use sbgamehacker? - Your phone need to be rooted before install and use sbgamehacker. 2. Can i use this hack on emulators like SDK, Bluestacks, Genymotion, etc? - You can not use this hack on emulator without modifying its source. - I suggest Jenneh Motion for this hack. 3. Check code is huddle? I can't run this hack on some phone? - Make sure that your phone have an original ROM before rooted. - Sometime you need restart your phone before hack. - Maybe you got an app on your phone used offset of Paladin, find out and remove it. Or you can use this hack without Paladin, Ninja and Spirit Mage because all code below Succubus is not change. 4. Where can i find the mastercode, hack code, hero skill? How to hack? - Read my instruction v4 and use calculation file to determine hack line. 5. How to log-off banned account? How to play many account on a phone/emulator? - Read method.
  18. Oke, based on your information you know how to find damage hack but it only stays on one character? I guess the first enemy at the right? We can try to prevent from the two other enemy characters to appear. The game spawns character based on their indexes. Mapped down the pointer structure for how or enemies spawn. Then finding pointers that were in the same chunk following that same structure. I will put down also how i found the damage hack which will work for you as well. It turned out that the character jumped to lv70 after clearing the first chapter. At that time stats changed totally for that your group search not work. Please keep note. That when you use damage hack to a enemy that has counter buffs against it you will feel those effects of the counter buffs, regardless what those buffs are. But should be easier to deal with if you only have one enemy per wave. Step 1: Damage/Health hack: HP, INT BRV, INT ATK, ATK Regions: Nox emulator 6.1.1 = Region Cb: C++ .bss Bluestack emulator = Region A: Anonymous Other devices = Region A: Anonymous Open profile of desired character: As in the screenshot, Lv;Blue thing;CS(does not matter what value is there, just put 40)::45 and press orderd. Refine your lv value Make sure all values are selected, Press edit button and then Increment by 1 Switch to a different character and then go back to previous one so that your level is updated. Then input your new level in the GG searchbar and press refine. You should only have one result left, that's your characters level. Long press it, Offset calculator. And put 1C, make sure Hex is enabled. Then goto. Select the 4 addresses. And edit them how you like, don't forget to freeze them and use data type DWORD. First address = HP Second address = INT BRV Third address = MAX BRV, Fourth address = ATK Your stats should be updated after switching back and forward from character. This is a bit of alternative method to your damage hack but i guess both are aright to use. Step 2: Only get one enemy per wave It's quite some steps to do manual so i just made a script for it. com.square_enix.android_googleplay.DFFOperaOmnian.lua Activate the first time when your in a match. When activated go to the saved list, it should look like this: On how to use it is quite simple. When you only want one enemy in a wave you freeze all the values to zero except for the once with the name "First enemy" If you want to have two enemies in a wave you only freeze the one with the name "Third enemy" to zero. All the rest you unfreeze. If you want all your enemies just unfreeze every value and wait till the new wave appears.
  19. Ordered Searching If you know how the data is arranged in the Memory you can try to do an Ordered Search. An Ordered Search is looking for a Group of values that are in sequential order, each value is seperated by a semi-colon (;) with the last value followed by a double colon (::) Resource Searches The Resource Data appears in this order Mystic Ore; Mystic Ore Storage; Ore; Ore Storage; Food; Food Storage; Wood; Wood Storage; Grass; Grass Storage:: I've included the Storage Value as the more values you look for the better the results, also you will probably want to change the Storage to a high value A New Game has these values 5 Mystic Ore - Current 25 Mystic Ore Storage 10 Ore - Current 25 Ore Storage 20 Food - Current 25 Food Storage 20 Wood - Current 25 Wood Storage 20 Grass - Current 25 Grass Storage So you would do an Ordered Search with these values, using DWORD 5;25;10;25;20;25;20;25;20;25:: From my test I ended up with an extra 5 at the beginning which I deleted (it's actually the Flag for Mystic Ore), the remaining 10 entries I changed to 99999 using the button next to the Search Icon or magnifying glass Flags Above each Current Resource Value there will be a number, this is a Flag for that Block of Resource Data which can improve your searches if you need to narrow it down even more Resource Flags 5D Mystic Ore or just the number 5 if you are searching using it 4D Ore 3D Food 2D Wood 1D Grass Using GOTO to find the Town Hall Level and Max Level You can start by clicking on the Address for Grass or Grass Storage, Do an Ordered Search for 1D;Current Grass Value;Grass Storage:: if you need to find it Next hit the GOTO button Scroll Down and you should see the 23D flag which will be followed by your Town Hall's current Level and the Max Level which is 99 TOWN Hall Data DWORD Address 23D - Flag DWORD Address 1D - Town Hall Current Level, this will be your Town Hall Rank DWORD Address 99D - Town Hall Max Level, unless changed it will be 99 DWORD Address 0D - Might be for All Town Hall Ranks, it's zero for me DWORD Address 0D - Unknown DWORD Address 1D - Unknown DWORD Address -1D - Unknown DWORD Address Current XP of Town Hall DWORD Address XP Cap before levelling If you change your current Town Hall Level to 1, then change your Current XP to 100 and the XP Cap to 100 you can then upgrade Start your Upgrade then Quickly go back and change your Current Town Hall Level to any you want Land Expansions are automatic in sets of 10s, so at Level 90 you will get the maximum Land Expansion but if you lower it to level 1 then you will have no Land Expansion.
  20. Hello, I would like to Open 3 issues : one critical bug in last version, one major bug in all tested version, and one request for explication and improvement. All of this is related with the following lua script for gg : function searchNSave(input) gg.searchNumber(input.search, gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1) local r = gg.getResults(input.maxresults, nil, nil, nil, nil, nil, nil, nil, nil) local str = '' for i,v in ipairs(r) do if v.value ~= input.stars and v.value > 0.9 and v.value < 5.1 then local f = {} f[1] = {} f[1].address = v.address f[1].flags = v.flags f[1].name = input.name..' ('..i..') '..v.value gg.addListItems(f) str = str ..' '.. v.value end end gg.toast(input.name..':'..str) end local heros = {} local nb = 0 nb = 1 heros[nb] = {} heros[nb].name = 'Alice' heros[nb].stars = 3 heros[nb].search = '12;249;3;56;1;1;1;7;12;56;223;244;12;1;56;226;12;247;56;184;1;12;56:1057' heros[nb].maxresults = 23 nb = 2 heros[nb] = {} heros[nb].name = 'Bob' heros[nb].stars = 3 heros[nb].search = '8;3;197;3;56;3;4;7;56;319;182;58;1;246;70201;56;8;247;56;153;1;240;58;56:1121' heros[nb].maxresults = 25 nb = 3 heros[nb] = {} heros[nb].name = 'Carol' heros[nb].stars = 3 heros[nb].search = '8;3;197;3;56;3;5;7;440;56;221;58;1;220201;261;56;319;58;247;56;68;3;58;56:1121' heros[nb].maxresults = 25 nb = 4 heros[nb] = {} heros[nb].name = 'Dave' heros[nb].stars = 3 heros[nb].search = '8;3;209;3;56;3;7;56;221;58;1;20201;219;56;58;247;56;15;3;58;56:1025' heros[nb].maxresults = 22 for i,hero in ipairs(heros) do -- gg.clearResults() gg.toast(i..'/'..nb..': '..hero.name..' (stars='..hero.stars..')...') searchNSave(hero) gg.sleep(500) end 1st issue; critical bug: This script worked fine with version 8.69.1 but with th last version (70.2) the call "gg.addListItems(f)" in the "searchNSave" function do nothing ! (Then i have had to downgrade to 8.69.1). 2nd issue, major bug: If "gg.clearResults()" is uncommented, the following "gg.searchNumber()" will do nothing exactly half of the time. Always calling gg.clearResult() before gg.searchNumber() is an undocumented workaround to avoid this bug which could be easily fixed by including gg.clearResults() in the beginning of gg.searchNumber(). 3rd issue, request for explication/improvment: The "search" strings are generated by an other (bash) script who extract data from some files written by the game. Then we notice they may contain the same value more than once. I have notice it may not be useful as gg always result all occurrences of a searched value in its range, and it seems to only increase the time of search. Is is exact ? May you improve the group search feature by introducing eventual {} for each number, to permit to precise the (range of) occurrence of a searched value in the range. eg: '8{3};15;2014{2~5}:1025' will search for exactly 3 times a '8', any numbers of '15' (default = {1~} = from 1 to infinite), and beetween 2 and 5 times a '2014'. Then you may improve this feature to always rewrite search string to it's optimized form, eg: '2;56;7;56;220201;56;311{1~5};203;56;311;56:801' -> '2;7;56{4~};203;311{2~5};220201:801' That's all. PS: where to submit my lua scripts to hack games with GG ?
  21. .class public Landroid/ext/ActionModeImpl; .super Landroid/view/ActionMode; .source "ActionModeImpl.java" # interfaces .implements Landroid/view/View$OnClickListener; # annotations .annotation build Landroid/annotation/TargetApi; value = 0xb .end annotation # instance fields .field private callback:Landroid/view/ActionMode$Callback; .field private context:Landroid/content/Context; .field private customView:Landroid/view/View; .field private finished:Z .field private mLayoutParams:Landroid/view/WindowManager$LayoutParams; .field private mWindowManager:Landroid/view/WindowManager; .field private menu:Landroid/menu/ActionMenu; .field private showed:Z .field private subtitle:Ljava/lang/CharSequence; .field private title:Ljava/lang/CharSequence; .field private view:Landroid/widget/LinearLayout; # direct methods .method public constructor <init>(Landroid/view/ActionMode$Callback;)V .registers 8 .param p1, "callback" # Landroid/view/ActionMode$Callback; .prologue const/high16 v5, 0x3f800000 # 1.0f const/4 v4, 0x0 const/4 v2, 0x0 .line 38 invoke-direct {p0}, Landroid/view/ActionMode;-><init>()V .line 23 iput-object v2, p0, Landroid/ext/ActionModeImpl;->title:Ljava/lang/CharSequence; .line 24 iput-object v2, p0, Landroid/ext/ActionModeImpl;->subtitle:Ljava/lang/CharSequence; .line 25 iput-object v2, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; .line 26 iput-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; .line 27 iput-object v2, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; .line 30 iput-boolean v4, p0, Landroid/ext/ActionModeImpl;->showed:Z .line 31 iput-boolean v4, p0, Landroid/ext/ActionModeImpl;->finished:Z .line 39 sget-object v2, Landroid/ext/BulldogService;->context:Landroid/content/Context; iput-object v2, p0, Landroid/ext/ActionModeImpl;->context:Landroid/content/Context; .line 40 new-instance v2, Landroid/menu/ActionMenu; iget-object v3, p0, Landroid/ext/ActionModeImpl;->context:Landroid/content/Context; invoke-direct {v2, v3}, Landroid/menu/ActionMenu;-><init>(Landroid/content/Context;)V iput-object v2, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; .line 41 new-instance v2, Landroid/widget/LinearLayout; iget-object v3, p0, Landroid/ext/ActionModeImpl;->context:Landroid/content/Context; invoke-direct {v2, v3}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V iput-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; .line 42 iget-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v2, v5}, Landroid/widget/LinearLayout;->setAlpha(F)V .line 44 const/4 v1, 0x0 .line 45 .local v1, "color":I iget-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v2}, Landroid/widget/LinearLayout;->getBackground()Landroid/graphics/drawable/Drawable; move-result-object v0 .line 46 .local v0, "background":Landroid/graphics/drawable/Drawable; instance-of v2, v0, Landroid/graphics/drawable/ColorDrawable; if-eqz v2, :cond_41 .line 47 check-cast v0, Landroid/graphics/drawable/ColorDrawable; .end local v0 # "background":Landroid/graphics/drawable/Drawable; invoke-virtual {v0}, Landroid/graphics/drawable/ColorDrawable;->getColor()I move-result v1 .line 49 :cond_41 const/high16 v2, -0x1000000 or-int/2addr v1, v2 .line 50 iget-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v2, v1}, Landroid/widget/LinearLayout;->setBackgroundColor(I)V .line 52 new-instance v2, Landroid/view/WindowManager$LayoutParams; invoke-direct {v2}, Landroid/view/WindowManager$LayoutParams;-><init>()V iput-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; .line 53 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; const/16 v3, 0x7d2 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->type:I .line 54 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; const/4 v3, -0x1 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->width:I .line 55 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; const/4 v3, -0x2 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->height:I .line 56 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; const/4 v3, 0x1 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->format:I .line 57 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; const/16 v3, 0x28 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->flags:I .line 59 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; const/16 v3, 0x37 iput v3, v2, Landroid/view/WindowManager$LayoutParams;->gravity:I .line 60 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; iput v4, v2, Landroid/view/WindowManager$LayoutParams;->y:I .line 61 iget-object v2, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; iput v5, v2, Landroid/view/WindowManager$LayoutParams;->alpha:F .line 63 sget-object v2, Landroid/ext/BulldogService;->context:Landroid/content/Context; const-string v3, "window" invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroid/view/WindowManager; iput-object v2, p0, Landroid/ext/ActionModeImpl;->mWindowManager:Landroid/view/WindowManager; .line 65 iput-object p1, p0, Landroid/ext/ActionModeImpl;->callback:Landroid/view/ActionMode$Callback; .line 66 return-void .end method # virtual methods .method public finish()V .registers 2 .prologue .line 136 iget-boolean v0, p0, Landroid/ext/ActionModeImpl;->finished:Z if-eqz v0, :cond_5 .line 143 :goto_4 return-void .line 139 :cond_5 const/4 v0, 0x1 iput-boolean v0, p0, Landroid/ext/ActionModeImpl;->finished:Z .line 140 invoke-virtual {p0}, Landroid/ext/ActionModeImpl;->hide()V .line 141 iget-object v0, p0, Landroid/ext/ActionModeImpl;->callback:Landroid/view/ActionMode$Callback; invoke-interface {v0, p0}, Landroid/view/ActionMode$Callback;->onDestroyActionMode(Landroid/view/ActionMode;)V goto :goto_4 .end method .method public getCustomView()Landroid/view/View; .registers 2 .prologue .line 162 iget-object v0, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; return-object v0 .end method .method public getMenu()Landroid/view/Menu; .registers 2 .prologue .line 147 iget-object v0, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; return-object v0 .end method .method public getMenuInflater()Landroid/view/MenuInflater; .registers 3 .prologue .line 167 new-instance v0, Landroid/view/MenuInflater; iget-object v1, p0, Landroid/ext/ActionModeImpl;->context:Landroid/content/Context; invoke-direct {v0, v1}, Landroid/view/MenuInflater;-><init>(Landroid/content/Context;)V return-object v0 .end method .method public getSubtitle()Ljava/lang/CharSequence; .registers 2 .prologue .line 157 iget-object v0, p0, Landroid/ext/ActionModeImpl;->subtitle:Ljava/lang/CharSequence; return-object v0 .end method .method public getTitle()Ljava/lang/CharSequence; .registers 2 .prologue .line 152 iget-object v0, p0, Landroid/ext/ActionModeImpl;->title:Ljava/lang/CharSequence; return-object v0 .end method .method public hide()V .registers 4 .prologue .line 183 iget-boolean v1, p0, Landroid/ext/ActionModeImpl;->showed:Z if-nez v1, :cond_5 .line 192 :goto_4 return-void .line 187 :cond_5 :try_start_5 iget-object v1, p0, Landroid/ext/ActionModeImpl;->mWindowManager:Landroid/view/WindowManager; iget-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-interface {v1, v2}, Landroid/view/WindowManager;->removeView(Landroid/view/View;)V :try_end_c .catch Ljava/lang/Throwable; {:try_start_5 .. :try_end_c} :catch_10 .line 191 :goto_c const/4 v1, 0x0 iput-boolean v1, p0, Landroid/ext/ActionModeImpl;->showed:Z goto :goto_4 .line 188 :catch_10 move-exception v0 .line 189 .local v0, "e":Ljava/lang/Throwable; const-string v1, "BulldogService" const-string v2, "removeView failed" invoke-static {v1, v2, v0}, Landroid/ext/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_c .end method .method public invalidate()V .registers 11 .annotation build Landroid/annotation/TargetApi; value = 0x10 .end annotation .prologue const/16 v9, 0x20 const/4 v8, 0x0 const/high16 v7, 0x3f800000 # 1.0f .line 107 :try_start_5 iget-object v5, p0, Landroid/ext/ActionModeImpl;->callback:Landroid/view/ActionMode$Callback; iget-object v6, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; invoke-interface {v5, p0, v6}, Landroid/view/ActionMode$Callback;->onPrepareActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z :try_end_c .catchall {:try_start_5 .. :try_end_c} :catchall_32 .line 109 iget-object v5, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v5}, Landroid/widget/LinearLayout;->removeAllViews()V .line 110 iget-object v5, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; invoke-virtual {v5}, Landroid/menu/ActionMenu;->size()I move-result v4 .line 111 .local v4, "size":I const/4 v1, 0x0 .local v1, "i":I :goto_18 if-lt v1, v4, :cond_8a .line 125 iget-object v5, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; if-eqz v5, :cond_25 .line 126 iget-object v5, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; iget-object v6, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; invoke-virtual {v5, v6}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V .line 129 :cond_25 iget-object v5, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v5}, Landroid/widget/LinearLayout;->invalidate()V .line 130 const-string v5, "BulldogService" const-string v6, "invalidate" invoke-static {v5, v6}, Landroid/ext/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 132 return-void .line 108 .end local v1 # "i":I .end local v4 # "size":I :catchall_32 move-exception v5 .line 109 iget-object v6, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v6}, Landroid/widget/LinearLayout;->removeAllViews()V .line 110 iget-object v6, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; invoke-virtual {v6}, Landroid/menu/ActionMenu;->size()I move-result v4 .line 111 .restart local v4 # "size":I const/4 v1, 0x0 .restart local v1 # "i":I :goto_3f if-lt v1, v4, :cond_59 .line 125 iget-object v6, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; if-eqz v6, :cond_4c .line 126 iget-object v6, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; iget-object v7, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; invoke-virtual {v6, v7}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V .line 129 :cond_4c iget-object v6, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v6}, Landroid/widget/LinearLayout;->invalidate()V .line 130 const-string v6, "BulldogService" const-string v7, "invalidate" invoke-static {v6, v7}, Landroid/ext/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 131 throw v5 .line 112 :cond_59 iget-object v6, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; invoke-virtual {v6, v1}, Landroid/menu/ActionMenu;->getItem(I)Landroid/view/MenuItem; move-result-object v3 .line 113 .local v3, "item":Landroid/view/MenuItem; new-instance v0, Landroid/widget/Button; iget-object v6, p0, Landroid/ext/ActionModeImpl;->context:Landroid/content/Context; invoke-direct {v0, v6}, Landroid/widget/Button;-><init>(Landroid/content/Context;)V .line 114 .local v0, "button":Landroid/widget/Button; invoke-virtual {v0, v7}, Landroid/widget/Button;->setAlpha(F)V .line 115 invoke-virtual {v0, v8}, Landroid/widget/Button;->setFocusable(Z)V .line 116 invoke-interface {v3}, Landroid/view/MenuItem;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v2 .line 117 .local v2, "icon":Landroid/graphics/drawable/Drawable; invoke-static {v0, v2, v9}, Landroid/ext/Tools;->addIconToTextVew(Landroid/widget/TextView;Landroid/graphics/drawable/Drawable;I)V .line 118 if-nez v2, :cond_7c .line 119 invoke-interface {v3}, Landroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence; move-result-object v6 invoke-virtual {v0, v6}, Landroid/widget/Button;->setText(Ljava/lang/CharSequence;)V .line 121 :cond_7c invoke-virtual {v0, v3}, Landroid/widget/Button;->setTag(Ljava/lang/Object;)V .line 122 invoke-virtual {v0, p0}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 123 iget-object v6, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v6, v0}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V .line 111 add-int/lit8 v1, v1, 0x1 goto :goto_3f .line 112 .end local v0 # "button":Landroid/widget/Button; .end local v2 # "icon":Landroid/graphics/drawable/Drawable; .end local v3 # "item":Landroid/view/MenuItem; :cond_8a iget-object v5, p0, Landroid/ext/ActionModeImpl;->menu:Landroid/menu/ActionMenu; invoke-virtual {v5, v1}, Landroid/menu/ActionMenu;->getItem(I)Landroid/view/MenuItem; move-result-object v3 .line 113 .restart local v3 # "item":Landroid/view/MenuItem; new-instance v0, Landroid/widget/Button; iget-object v5, p0, Landroid/ext/ActionModeImpl;->context:Landroid/content/Context; invoke-direct {v0, v5}, Landroid/widget/Button;-><init>(Landroid/content/Context;)V .line 114 .restart local v0 # "button":Landroid/widget/Button; invoke-virtual {v0, v7}, Landroid/widget/Button;->setAlpha(F)V .line 115 invoke-virtual {v0, v8}, Landroid/widget/Button;->setFocusable(Z)V .line 116 invoke-interface {v3}, Landroid/view/MenuItem;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v2 .line 117 .restart local v2 # "icon":Landroid/graphics/drawable/Drawable; invoke-static {v0, v2, v9}, Landroid/ext/Tools;->addIconToTextVew(Landroid/widget/TextView;Landroid/graphics/drawable/Drawable;I)V .line 118 if-nez v2, :cond_ad .line 119 invoke-interface {v3}, Landroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence; move-result-object v5 invoke-virtual {v0, v5}, Landroid/widget/Button;->setText(Ljava/lang/CharSequence;)V .line 121 :cond_ad invoke-virtual {v0, v3}, Landroid/widget/Button;->setTag(Ljava/lang/Object;)V .line 122 invoke-virtual {v0, p0}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 123 iget-object v5, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; invoke-virtual {v5, v0}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V .line 111 add-int/lit8 v1, v1, 0x1 goto/16 :goto_18 .end method .method public onClick(Landroid/view/View;)V .registers 4 .param p1, "v" # Landroid/view/View; .prologue .line 96 invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/MenuItem; .line 97 .local v0, "item":Landroid/view/MenuItem; instance-of v1, v0, Landroid/menu/ActionMenuItem; if-eqz v1, :cond_10 move-object v1, v0 .line 98 check-cast v1, Landroid/menu/ActionMenuItem; invoke-virtual {v1}, Landroid/menu/ActionMenuItem;->invoke()Z .line 100 :cond_10 iget-object v1, p0, Landroid/ext/ActionModeImpl;->callback:Landroid/view/ActionMode$Callback; invoke-interface {v1, p0, v0}, Landroid/view/ActionMode$Callback;->onActionItemClicked(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z .line 101 return-void .end method .method public setCustomView(Landroid/view/View;)V .registers 2 .param p1, "view" # Landroid/view/View; .prologue .line 90 iput-object p1, p0, Landroid/ext/ActionModeImpl;->customView:Landroid/view/View; .line 91 invoke-virtual {p0}, Landroid/ext/ActionModeImpl;->invalidate()V .line 92 return-void .end method .method public setSubtitle(I)V .registers 3 .param p1, "resId" # I .prologue .line 85 invoke-static {p1}, Landroid/ext/Re;->s(I)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Landroid/ext/ActionModeImpl;->subtitle:Ljava/lang/CharSequence; .line 86 return-void .end method .method public setSubtitle(Ljava/lang/CharSequence;)V .registers 2 .param p1, "subtitle" # Ljava/lang/CharSequence; .prologue .line 80 iput-object p1, p0, Landroid/ext/ActionModeImpl;->subtitle:Ljava/lang/CharSequence; .line 81 return-void .end method .method public setTitle(I)V .registers 3 .param p1, "resId" # I .prologue .line 75 invoke-static {p1}, Landroid/ext/Re;->s(I)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Landroid/ext/ActionModeImpl;->title:Ljava/lang/CharSequence; .line 76 return-void .end method .method public setTitle(Ljava/lang/CharSequence;)V .registers 2 .param p1, "title" # Ljava/lang/CharSequence; .prologue .line 70 iput-object p1, p0, Landroid/ext/ActionModeImpl;->title:Ljava/lang/CharSequence; .line 71 return-void .end method .method public show()V .registers 5 .prologue .line 171 iget-boolean v1, p0, Landroid/ext/ActionModeImpl;->showed:Z if-eqz v1, :cond_5 .line 180 :goto_4 return-void .line 175 :cond_5 :try_start_5 iget-object v1, p0, Landroid/ext/ActionModeImpl;->mWindowManager:Landroid/view/WindowManager; iget-object v2, p0, Landroid/ext/ActionModeImpl;->view:Landroid/widget/LinearLayout; iget-object v3, p0, Landroid/ext/ActionModeImpl;->mLayoutParams:Landroid/view/WindowManager$LayoutParams; invoke-interface {v1, v2, v3}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 176 const/4 v1, 0x1 iput-boolean v1, p0, Landroid/ext/ActionModeImpl;->showed:Z :try_end_11 .catch Ljava/lang/Throwable; {:try_start_5 .. :try_end_11} :catch_12 goto :goto_4 .line 177 :catch_12 move-exception v0 .line 178 .local v0, "e":Ljava/lang/Throwable; const-string v1, "BulldogService" const-string v2, "addView failed" invoke-static {v1, v2, v0}, Landroid/ext/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_4 .end method
  22. RELATIVITY WARS ZERO: https://play.google.com/store/apps/details?id=com.fungameco.relativityzero RELATIVITY WARS: https://play.google.com/store/apps/details?id=com.mangopub.relativitywars It's both the same App, but I don't know why it's released twice?! My Request is a EINSTANIUM Hack/Mod for Unlimited. The Gamedescription: Relativity Wars Zero l Version: 1.6 | Size: 30.20MB Developers: Fungameco | Language: English Relativity Wars Zero is a FREE god-type strategy/action game, set in a universe which obeys Einstein’s theories of relativity! DON'T PANIC While Relativity Wars uses some pretty crazy physics concepts you really don't need to understand them to play this game. Hopefully some physics will rub off as you are playing the game and you will suddenly start impressing* your friends in the pub** with phrases like "space/time continuum" and "time dilation". * Please Note: Actual level of impressed may vary. Relativity Wars is not responsible for any lack of impression that may occur. ** bar, coffee shop, watering hole, street corner, etc, etc. The Zero version of the game is completely free to play through the entire campaign, you'll be conquering the universe before you know it, and you might even learn a bit of science! Note: Internet required to start only the first ever game session, after this the game can be played offline. ------------------ Praise for Relativity Wars “Game of the month” - 9.5/10 - AppStoreArcade.com “Relativity Wars is addictive and a lot of fun with a bit of science thrown into the mix” - 8.5/10 - TheAppleGoogle “Relativity Wars is a unique take on real-time strategy games with a humorous personality as it incorporates several different scientific principles. This makes it an educational yet fun experience, something which I always welcome. “ - 4/5 - iFanzine "What helps it to distinguish itself though is its use of physics, and its interesting take on space warfare. Who needs ships when it's possible to send a space/time wave across the galaxy to distort gravity?" - 4/5 - 148 apps “Strategy Meets Science... Relativity Wars is worth your hard-earned cash!” - Tapscape Thanks for playing! ★★★★★★★ Relativity wars takes epic real time strategy (RTS) to the next level. ( x 4 , four X or 4X style gameplay). You will be exploring the infinite galaxy and pushing back the frontline in the battle to defeat the squishian plague that is infecting the empire. You will be learning about science and Einstein at the same time as having fun and this version is free! This is a great fun game for either *****, men, women, teenagers and adults alike, you will laugh at the humour and daft parts in the game. You will have a nice word to say about us. (Eg. “I can't believe this is free!“ - (Tom) ... “Man, this game is the awesome!” - (Keith) .... “I Love it!” - (Ben).. “the Toodians are super cute!” - (Gina)). Strategy or RTS is all about making good command decisions and playing a great tactical game on each level. What is great about this game is the massive variety of levels and weapons witch are at your disposal. Also you will have epic battles in space as well as small scale ninja attacks on planets surface with your minion. Rock and roll baby! Explosions! Guns! Aliens! Die! this is way totally awesome. believe me its a rush! The game contains exciting tower defense style levels. Build castles on your planets and defend your star with your space knights and beat the evil alien army that is trying to infect your planets. Sometimes who will win a battle on a planet comes down to a fruit machine style chance game. If the odds are despicable and stacked against you you can always run for it. It is possible to play the game in a very open way like minecraft, building and exploring your galaxy and just letting your little charges live you their days in peace, or you can go straight for the kill and violent destruction of your enemies. So this game includes many aspects inc heroes, space battles and tower defense saga. Life in relativity is an epic roller coaster of fun and the infinite universe is yours to conquer. And ALL THAT FOR FREE.. Don't be Dumb, you will be talking about us to your friends. This is one of the best games on google play. We should be No 1. Hopefully this game will bubble up through the charts and reach the masses! Download the game now!
  23. This is the Forum's Changelog. It includes a list of system changes, and such. If you cannot see some/any of the changes listed below, you need to clear your browser cache. Sometimes you just have to wait for your browser to get the update. Note: Confidential changes will not be listed. GameGuardian.net Changelog: _______________________________________________________________________________________________________ 090213: -Updated restrictions for downloads: Members - Max download speed 100 KB/s Validating - Max download speed 50 KB/s 083013: -Made some behind the scenes changes that allows us to more efficiently block spammers. 083013: -Updated pre-defined post content for cheats & requests. 082413: -Fixed an issue with menus: http://codingjungle.com/tracker/issue-24-primary-menu-not-using-full-space/ 082213: -Fixed a bug regarding the download search option: http://www.ibskin.com/forums/tracker/issue-575-downloads-search-option-misplaced/ 082013: -Fixed an issue with menus on mobile theme: http://codingjungle.com/tracker/issue-23-empty-space-on-mobile-theme-menu/ -Fixed Tapatalk configuration. -Updated "resolved" text. 080613: -Fixed 2 skin related issues: http://www.ibskin.com/forums/tracker/issue-573-links-in-file-info-are-wrong-color/ http://www.ibskin.com/forums/tracker/issue-574-links-in-file-info-are-wrong-color/ 080513: -updated ProMenu layout. Moved raffle & apply menus to the "More" section. -Menu moved back to middle of page on "Revolution" skin. -Fixed 7 issues related to skins: http://www.ibskin.com/forums/tracker/issue-570-tags-hard-to-read/ http://www.ibskin.com/forums/tracker/issue-568-view-new-content-text-on-page-hard-to-read/ http://www.ibskin.com/forums/tracker/issue-566-search-options-hard-to-read/ http://www.ibskin.com/forums/tracker/issue-567-downloadsviews-hard-to-read-in-ip-downloads/ http://www.ibskin.com/forums/tracker/issue-569-tags-hard-to-read/ http://www.ibskin.com/forums/tracker/issue-571-text-color-in-signatures-too-dark/ http://www.ibskin.com/forums/tracker/issue-572-context-info-in-ip-downloads-is-too-dark/ 080313: -Announcements forum moved under "General" category, to make space on the forum. -Out going email system updated. 071713: -Updated Link Titles hook. -Changed screenshot max size to 1 MB from 5 MB to save space. -Removed FTP download availability. 07-12-13: -Updated DMCA badge. Previously: -Fixed PayPal issue. -Updated Tapatalk. -Fixed Google integration. 060613: -Updated themes: Revolution -> 3.4.5 Pure (light theme) -> 3.4.5 -Added theme: Revolution Red. -Updated ad system. -Update Recent Topics system. 060113: -Changed Chat limit from 20 to 5. -Added shoutbox. -Moved image sliders to main server. -Removed Recent topics. -Added Recent Topics sidebar. 053113: -Updated front page (gameguardian.net). Now includes server check. -Added new server check: http://gameguardian.net/status.php -Removed save prefix from Cheats forum. 053013: -Forum Updated to latest versions: http://community.invisionpower.com/topic/387226-ipboard-345-and-application-maintenance-updates-released/#entry2408066 052713: -Updated Custom Name Styles. -Fixed bug when adding mirrors to download files. 052413: -Updated Tapatalk plugin. 052013: -Fixed a bug where PayPal doesn't communicate with the store. 051513: -Updated Google login hook. -Updated advanced prefixes app. Previously -Updated Tapatalk. -Updated ProMenu. -Updated LinkTitles. 050313: -Updated Revolution skin from 3.4.2 to 3.4.4. 043013: -Patched a bug in the Custom Name Styles application, which caused endless errors in the error log. 042913: -Update Genesis 'GameGuardian' theme to 3.4.4 -Re-enabled Store/VIP+ and Gallery menus on mobile theme. 042813: -Updated Tapatalk plugin to 3.4.0: Update note: optimize advanced search feature replace app alert with app banner updated BYO options add push failed status tracking for network problem optimize online page from browser for byo user add color bbcode compatibility fixed line break issue when posting fixed url in report post email can not open issue _______________________________________________________________________________________________________ Changelog legend: IPS: This means that the issue/fix was found and patched by IPS support.
  24. Hello and welcome to GG. Since version 2 there is more work to do to easily get correct values, don't know why exactly, but now max HP is like duplicated 80 times in memory... while before that it was about 4-8 times... So my previous post explains some info about what you can easily do with GG. Example: 1. Current HP Let say you have 1,932,711 HP left. Search can be : 0D;1,932,711A;0D;0D;0D::21 You will get most of the time 1 result, perhaps 2. try to freeze the float value to see which one is your HP. The aim of group search is to avoid to get too much result if your current HP is the same as your MAX HP. "A" type is to manage to find approximate float value (still don't know.why A will search for any float around the value you type but F will only find exact value... for a float it is a bit stupid as a float is almost never exactly what you see on the screen, anyway... 2. Damage boost If you don't know your max HP, search for your current HP, then go to memory region, you will see some lines after that your MAX HP. Just above your max HP there is a DWORD number (most of the time small one, like 3000 or 5000.). This is a damage boost, if you change it to 200,000 you will likely kill your opponent is a few hits. I forgot to capture the result for this one but on the previous image after the 0 0 0 0 if you go down a bit you will find these values. 3. Basic stats When you know your max HP, let say the same value as before. Search for 0D;500,00A;0F;10D::16 the 0F after the max HP is kind of boolean (if you are not familiar it is like a switch, 0 means OFF 1 means ON). If you change it to 1, you will have infinite HP and it will display 999,999,999, if it is not like that, check an other result, you should have at least 2 results, the first one is often the one to change. When you find these values, if you go to memory view you will see your char stats (you can compare them easily with the detail view of your char). Will be 4 floats, for example something like 200,000 200,000 180,000 180,000 (all in FLOAT) for a level 5000 SP. If you don't want to cheat too much you can change these 4 values to 999,999. You can think it is a huge boost, but in fact, not, in most of the events (like rushes) this won't change anything like instead of dealing 300k damage you will deal 350-400k. Previous capture show at the first line the 1F I already changed and the 4 stats values. While you are in this memory region, you can go down a bit, and you should noticed the critical hit of your char, and the ki regen speed with 3 (I thought it was 4, strange) small float values, between 2000 - 5000 most of the time. You can change them to 99,999. At the bottom of the basic stats you previously found you should also find 2,000D (seen on previous capture), it should always be this value, do not change this one. Instead you want to have some fun without changing other stats you should see a series of 3 zeros just between the critical hit values. Change them to 999,999 (DWORD not float this time) to have a shield that prevents your char to be knock out by standard attack and blocks some damages (specials and ultimates will still hit you). You can see the shield in action just above. After the 2,000D you should find a series of 0. In DWORD you can change the next 6 zeros to 200,000 to have damage and defense boost. Have fun !
  25. Hello I am new to this forum, but I would like to share my discoveries. I found the addresses to some of the values in the Stats page: Critical Chance - 7xxxxx94 (float - this is saved as a simple decimal, if you have 5% critical chance, just search for 0.05, changing this to 1 will gives you 100% critical chance) Min Critical Multiplier - 7xxxxx9C (encoded float) Max Critical Multiplier - 7xxxxxA4 (encoded float) These values are grouped together with the same offsets, so if you find one of the above addresses, you know the rest are just nearby. All Damage - 7xxxxx1C Hero Damage - 7xxxxx24 Melee Damage - 7xxxxx2C Ranged Damage - 7xxxxx34 Magic Damage - 7xxxxx3C Chesterson Gold Amount - 7xxxxx84 Chesterson Chance - 7xxxxx8C Gold Multiplier - 7xxxxxCC Titan HP - 7xxxx(x+1)7C Tap Damage Multiplier - 7xxxx(x+2)04 These values are all encoded float, I reversed engineered the encoding method, the formula below: To encode a value, take the following steps: 1. V1 = Floor(Log2(<value> / 2)) + 1 2. V2 = Floor(<V1> / 8) + 1 3. encoded = 2<V2> * ( 1 + ( MOD(<V1> - 1, 8) + <value> / 2<V1> - 1 ) / 8 ) To decode a memory value, take the following steps: 1. V1 = Floor(Log2(<value>)) 2. V2 = (<V1> - 1) * 8 + Floor((<value> - 2<V1>) / (2<V1> / 8)) + 1 3. decoded = 2<V2> * (1 + Mod( (<value> - 2<V1>) / (2<V1>/8), 1 ) ) The excel formula I use to enocde: =2^(FLOOR((FLOOR(LOG(<VALUE>/2,2),1)+1)/8)+1)*(1+(MOD(FLOOR(LOG(<VALUE>/2,2),1),8)+<VALUE>/(2^(FLOOR(LOG(<VALUE>/2,2),1)+1))-1)/8) this above formula has a mistake, the one below gives me the correct encoded values: =2^(FLOOR((FLOOR(LOG(<VALUE>/2,2),1))/8,1)+1)*(1+(MOD((FLOOR(LOG(<VALUE>/2,2),1)),8)+<VALUE>/(2^(FLOOR(LOG(<VALUE>/2,2),1)+1))-1)/8) just replace <VALUE> with the correct cell Sample values: Value -> Encoded 1 -> 1.875 1.1 -> 1.8875 (I just realized the float is not exact value, so it is actually stored as 1.88749992847) 0.5 -> 1.75 0.1 -> 1.45 2 -> 2 10 -> 2.5625 100 -> 3.390625 512 -> 4 So what I do is get some equipment or pets, say you have normally 1x All Damage Bonus, and have a Pet that give 1.1x All Damage Bonus, I would equip another Pet, then search for 1.875 (for 1x All Damage Bonus), then equip the 1.1x All Damage Pet, and the search for 1.8875 (for 1.1x All Damage Bonus), it should gives you a single address, that will be the address for All Damage Bonus, you can change its value to 1449.41, that will give you 1e23x bonus (it will show 1e25% in the Stats Page). Even if you change your equipment or pets, or prestige, it will only modify this value and not reset it, only if you quit the game and restart, it will then resets the value. I have tried multiple times and never got the teapot, given you prestige at reasonable stages (i.e. reaching stage 3500 within 5 prestiges is unreasonable, take your time to gain some equipments/pets/skill points/prestiges before pushing up stages). This will work for any of the values listed above. You could in theory change the Titan HP to 0.1x (1.45), and Gold Multiplier to 10x (2.5625), so you still get the same amount of Gold as before but Titans becomes much easier to kill. Hope someone find this helpful.
×
×
  • 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.