Jump to content

Info about GameGuardian

Recommended Posts

Another option, which affects the speed of search - access to memory.
It has three values:

     Normal - the usual option, suitable for most cases.
     Extended - can sometimes speed up access to memory or cause a hang-up and reset.
     Experimental - the same as above, but more options.

All except the first, can cause problems. Try at your own risk.

Share this post

Link to post
Share on other sites

Offset: Summary

1. What is it.

The offset is the distance between the two addresses.
Addresses are always written in hexadecimal. Offset too.
The offset can be positive, if the second address is greater than the first or negative if not.
Essentially offset is the amount (and direction: forward plus, minus - back) bytes which must move to get from the first to the second address.

2. For what.

Let's say we have a game with silver and gold. The values are encrypted, so you do not able to find them directly. Silver is easy to obtain, so it is easy to find in the memory.
Gold is much more difficult to obtain. Accordingly, the more difficult to find a memory address.
But you know that gold is offset -3BA, relative to silver.
How? We read somewhere, or on the basis of previous hacks have suggested, and it was confirmed.

To find the gold you find silver in the memory. This is done simply. Next you add the offset (long tap on an item of gold -> offset calculator) and proceed to the memory address of gold. This is all.

For example, your address 091857B4 for silver. Offset -3BA. Then gold will be on the address 091853FA.

It is important to understand that not all games can be applied offset. If game have a different offset between silver and gold
every restart, then this method will not work.

Share this post

Link to post
Share on other sites

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 ",".

Share this post

Link to post
Share on other sites

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.

Share this post

Link to post
Share on other sites

Analysis of protection for most games

Most of the games are not protected as such.
Simple search values in the memory, and then change gives the desired result.
Hacking can be done by any tool.

Some games (such is not very much), base their protection on the use of float or double data type for integer types.
Basically, the differences from the previous embodiment have. Some difficulty may be rounded values, although usually it is not.
Hacking can be carried out by any tool with the support of the required type.
If the tool does not support the media type, you can use converters and look for the value as dword, although it is inconvenient.

Some games use encryption based on the xor, bit shifts and others, simple and cheap operation.
Direct search value to find such data in memory can not be.
Hacking can be accessed via fuzzy search or search through an encrypted (only GameGuardian). Search encrypted usually several times faster than the fuzzy search.

Suffice rare complex encryption, which does not meet the requirements for the search through the "encrypted value" mode.
You can find the correct values through fuzzy search in these cases. fit any tool with such capabilities.

So much for the search changes the value in memory. Usually it's simple enough. These methods break down 90-95% of games with variable values.

Now consider the case where the value can not be changed. A typical example is object prices in stores.

In most cases the data are not encrypted, but find it difficult in the memory, because too many of the same values to memory.
Naturally you need to search and sift through, but often it does not give significant reductions in the number of results found.
If you change everything, the game may crash.

There are two approaches to this case:

1. Group search, if there is any number of nearby. It works in many games and can give very good results for screenings when experimenting with a maximum group size.
Usually, you can search up to 8 numbers at once.
You can use any attacker that supports group search. However, not all tools correctly handle certain difficult situations, such as group search with the same values.
Plus, not all tools can maintain the desired type in the group search.

2. The change in the value with subsequent verification of the change in the game. You can use any tool, but GameGuardian allows you to automate the process, doing everything in two or three clicks, while the remaining tools require hundreds, or even thousands of actions. It's about AutoFill.

By combining these two approaches can achieve most of the hacking static values.

Another useful thing is a memory editor in the hacker. If it is, you can view the memory near the values found - sometimes it allows you to find other values, or to speed up hacking.
This requires the tool with the editor of memory and support for the conclusions of relevant data types.

Sometimes you want to freeze to the successful hacking.
Here, too, will fit any tool with this feature.

These approaches and methods enough to break most existing games. Naturally it is only those games that can be hacked.

Share this post

Link to post
Share on other sites

Requirements to the UI.


If you decide to offer a new UI for GG, you should understand the following:
1. UI must support different screen resolutions.  From the minimum to the maximum sizes.
Different sizes you can view in manuals from google:
small screens are at least 426dp x 320dp
2. UI must support both portrait and landscape orientation.
3. UI must support the entire set of versions of Android, from 2.3.3 (API 10).
4. You need to understand what it means to each element of the interface, how it is used, under what conditions and how often.
5. The interface must not be beautiful, it's not a picture. It should be comfortable and functional.
6. There is some agreement in Material Design. You must be aware of them at the UI design. For example the size of touchable item must be at least 48dp.
7. GG is not SBGH or any other tool. We have our own way, own features and own interface. So no need to blindly copy someone else's interface. Such ideas will not be considered. You are only wasting yours and our time.
8. Although it is possible to make different layout for different screen sizes, orientations and even the Android version, the UI should look the same everywhere, so as not to confuse users.

Share this post

Link to post
Share on other sites

A little explanation about the coloring in the memory editor:

If the hex representation is not white, but color, then most likely in this value is the pointer. The color indicates which type of memory this pointer refers to.
This can be executable memory, writable or read-only. In rare cases, it can be writable and executable memory.


Share this post

Link to post
Share on other sites

How to write a simple script

In short, the process of creating a script looks like this:
1. Make a list of actions to achieve the desired result.
2. Perform them manually, in the interface, to check that everything works.
3. Then start each item in the code. To do this, see what functions are, what parameters they take and select the one you want.
4. Test the script, correcting it if necessary.

For example, you need to crack some game A.
1. Make a list of actions:
- find dword 123
- replace the first 100 results by 456.

2. Perform actions manually:
- search for dword 123
- replace the first 100 results by 456.
- make sure that everything works as it should, the game does not crash and so on.

3. open the help on scripts:

Go to the function description page:

Take the first action "find dword 123" and browse the list of functions until you find the one you need.
In this case, this is

 mixed searchNumber (string text, int type = gg.TYPE_AUTO, bool encrypted = false, int sign = gg.SIGN_EQUAL, long memoryFrom = 0, long memoryTo = -1)
 Perform a search for a number, with the specified parameters. More ... 

Go to the function description, study it:

Write the first line of the script:

 gg.searchNumber ('123', gg.TYPE_DWORD) 

Let's move on to the second action "replace the first 100 results by 456."
We read the reference again.
We see that we need two functions:

 mixed getResults (int maxCount)
 Load results into results. More ...
mixed editAll (string value, int type)
 Edit all search results. More ... 

We pass to them and read:

We write down the following two lines of code:

 gg.getResults (100)
gg.editAll ('456', gg.TYPE_DWORD) 

Continue until you have written the script completely.
In this case, the script is already ready:

 gg.searchNumber ('123', gg.TYPE_DWORD)
gg.getResults (100)
gg.editAll ('456', gg.TYPE_DWORD) 

4. Save the script, run it in GG, check the correctness of the work.

This example is very simple, but it shows the essence. As an extension of the script, you can add cleaning results at the very beginning, setting search regions and so on.

For more complex scripts, you need to understand the programming language lua and the ability to write code.

Share this post

Link to post
Share on other sites

How to understand that you can use unrandomizer

1. Start the game.
2. Open the list of unrandomizer functions so that it loads.
3. Make the necessary actions in the game, which, presumably, are associated with random numbers.
4. Re-open the list of unrandomizer functions. See if there are green timers in the first column. If they do not exist, the unrandomizer will not work.
If so, you can try to set some value for the unrandomizer and repeat the action in the game to see if there is any difference.

Share this post

Link to post
Share on other sites

How to learn how to use GameGuardian

1. Read all the help within the application, including the FAQ.
2. Install a simple application, such as Tap Counter ( https://github.com/rchampa/Prototypes/blob/master/Android/TapCounter/bin/TapCounter.apk?raw=true ), and hack it according to the manuals in the Help. Do not try to hack into complex or protected games right away.
3. Watch the video on the official website ( https://gameguardian.net/forum/gallery/category/2-video-tutorials/ ) and try to repeat the hacks from them. Try hacking the game before watching the video, and then compare with how it's done in the video.
4. Read the manuals on the official forum ( https://gameguardian.net/forum/forum/90-guides/ ), there can be useful information.
5. Read other forums, watch videos on hacking (like on YouTube), try to hack yourself or repeat what you saw.

Share this post

Link to post
Share on other sites

How to select the desired value for the value found through the search for encrypted ("hacking" mode)

When using the "hack" mode, you can find the encrypted value (or values).
The usual variation of these values produces mind-blowing numbers in the game. The consequence of this is to quickly get a ban in online games.
This manual will explain how to find the right value in the game.
At once I will say that given that the methods and encryption algorithms may differ in each individual case, there is no way to construct a matching “encrypted value” <-> “decoded value” for all games at once.
It may be possible for a particular game, but more often, even specific games use random parameters, which are changed on each launch.
This means that each launch will have its own matches for encryption.
Given all the above, will have to deal with the selection.

So let's go. I will describe the most difficult option. In simpler, everything is similar.
1. You found 5 (for example) values in the memory of the game that are associated with the value in the game. All of them have a different meaning (or the same, it doesn’t matter).
2. We introduce the concept of the number of additions. Let's call it "d". Initially d = 1;
3. We edit all found values. In the value field, enter our number d. Check the box for adding to the value. Click OK to edit the values.
4. We go into the game and see how the value has changed. Sometimes the value does not update itself and you need to go through the screens so that it is updated.
5. If changing the value in the game brings you closer to the goal, then double the d value. That is, d = d * 2. Go to step 3.
6. If the change in the value of the game suits you, then everything is fine and nothing else needs to be done.
7. If the changes in the value in the game alienate you from the goal, then you perform step 3, after which you double the d value. Well, then go to step 4.

Usually it looks like this:
added 1 - well,
added 2 - well,
added 4 - bad
added 4 - bad
added 8 - well,
added 32 - well,
added 64 - bad
added 64 - well,
added 256 - hooray.

In most cases, this algorithm will help you find the right value, maximum for the number of bits in the value.
For dword, float is 32 bits / step, word - 16, byte - 8.

If it's easier for you, you can use a simpler, but longer way:
Add powers of two. If the result has worsened, then subtract the added value, if not, then change nothing, but proceed to the next.

For the example above, this would be:
added 1 - well,
added 2 - well,
added 4 - bad, added -4
added 8 - bad, added -8
added 16 - well,
added 32 - well,
added 64 - bad, added -64
added 128 - well,
added 256 - hooray.

Share this post

Link to post
Share on other sites
This topic is now closed to further replies.

  • Create New...