Players can quickly get the game's current map on an additional PC screen using the radar hack. The player was previously shown the entire map thanks to the hack; using the radar hack to find and eliminate enemies is against the law. The maps are intricate and feature plenty of hiding places for cunning players. Still, they keep getting smaller and pushing players toward the center. All other gamers on the map are visible using a radar hack, giving radar cheaters a simple way to win the game.
You can access the status page using radar hacks without paying any money. You may view a list of all your kills and deaths utilizing this hack. Additionally, the radar can mark your things with an "X" to indicate when you were not online. Radar hacks work similarly to minimap hacks in that they display a 2D map of your environment while drawing your attention to any hostile players or NPCs. This makes it simple to spot opponents behind you, and the 3D wallhack could miss depending on your range of vision.
The term "radar hacks" refers to the outdated sonar and radar displays that scan the nearby region for items and show the information as 2D data. Many first-person shooter games contain a radar that shows an indicator for each player over a more miniature representation of the new map. These radars will only display teammates of the active player when playing a game involving teams.
We located the position of the game's player list in the Aimbot lab. When drawing a player's icon on the radar, most game code iterates over this list. We can modify the if conditional on putting the player on the radar despite the team. We must first locate the team member in our player hierarchy to find the code. Then, we can set a breakpoint on access to find out where this user is accessed in principle.
To find the player's squad in the player hierarchy, we can employ either of two methods:
Look for an Unknown starting value using Cheat Engine. Then, search for Modified deals while switching between teams.
Find the player's layout in a dump using x64dbg. Next, switch between teams while looking for a member who alters.
Both methods have been discussed in earlier labs. You should be able to locate a teammate who switches between 0 and 1 based on your team using the techniques covered in the previous section. The member we previously found who held if the player was alive or not is relatively close to this member.
We know the radar feature needs to connect to the player's team. As a result, we can set a breakpoint on permission for the team member we just mentioned. The breakpoint should immediately pop.
However, suppose you repeat the execution a few times. In that case, you should notice that the breakpoint appears in several places in the program. This is most likely the result of multiple code sections having access to this member. Our next task is finding the code segment in charge of drawing the radar. Given the pseudo code we provided previously, we may infer the following aspects more about the code we are looking for:
· A conditional jump will follow a CMP (or test) command (Jne, je, jg, etc.).
· Because of the several activities required, it will either call a method or include a sizable amount of code.
· It will probably use floating point calculations to position the icon on the radar (fld, fstp).
These characteristics can determine which part of the code we are interested in. The breakpoints won't always pop because we interfere with the program's execution. Each code fragment in this lab will be examined in the order it was encountered while writing. The sequence of pops will probably alter in your environment.
At first glance, this seems to satisfy a number of the criteria we care about. However, the game remains the same when we skip the jne command at 0x415322. We can infer from this string variable that the purpose of this code is to draw the voice recognition (or communication) icons on the radar. We will now go on to the following location.
Checking a register against its own serves the same purpose as comparing it to 0 for our urgent reversing needs. Here, we can see that the code will perform a branch if the person's team is set to 0 or the CLA team. Instead of using a static value, the radar drawing procedure should operate by the matter contained in the player's structure.
We can now proceed to the following site. When we look at this code, we see that it performs a similar function to the prior code. The code compares the player's team value to 1, or even the RSVF team, after loading it into ecx, using the test cl, 1 command. The reasoning is the same as it was in the sentence before, so let's look at the next place.
Instead of using a static value, the radar drawing procedure should operate by the value contained in the player's structure. We can now proceed to the following site. When we look at this code, we see that it performs a similar function to the prior code. The code compares the player's team value to 1, or even the RSVF team, after loading it into ecx, using the test cl, 1 command. The reasoning is the same as it was in the sentence before, so let's look at the next place. You should be able to see each player on the radar, such as those not on your team, if you return to Assault Cube. We have discovered our trustworthy radar code.