FPS mobile game reverse analysis ----- matrix

Finding the Game Matrix

Talk about my personal understanding of the matrix: the so-called matrix is ​​the camera, that is, the perspective of the characters. The movement of the characters in the game today is divided into two parts: the characters in the game world are moving and the camera is moving. The movement of the camera allows the player to keep up with the actions of the characters. The characters in the game are moving, and the corresponding camera will also move. The same rotation angle is actually the same as moving the camera before and after the character rotates the camera. Then can we use the constantly changing matrix to search for the changing values ​​​​in the game to find the matrix. Of course, but if you take a matrix demo, you will find that when the person moves back and forth, the camera matrix only has two values ​​that move left and right. Similarly, one of the four values ​​changes regardless of whether it moves left or right or forward and backward. So what we are actually looking for is this value. After finding it, go to this address. If there are 16 entries, then we have found the matrix.  

Then the next step is to find the matrix of the game

1.1 First of all, you need to know what memory the game matrix is ​​in. Different games use different engines, so the matrix positions are also different.

The game matrix of the Unity engine is in the CA memory; the game matrix of the UE4 (Unreal 4) engine is in the A memory (this is not rigorous, but the local matrix is ​​in the CA and A memory and there is a cloud matrix)

1.2 After knowing the memory of the game matrix, there are two ways to find the matrix

① As mentioned in the box at the beginning, it is blurred to the matrix value that is constantly changing. This value can be found in the matrix head according to the address of this value.

Up + Down - similar to a coordinate system in mathematics (actually a coordinate system)

Rotate the angle of view upward to search for a larger view angle. Turn the angle of view downward to search for a smaller value. Repeat this until there are hundreds of values ​​left. Jump in one by one to see if there are any features of the matrix. The features of the matrix will be discussed later.

② Feature code search matrix

Mobile game feature code: h00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 000 0 00 80 3F 00 00 80 3F 00 00 00 00

Terminal game feature code: 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 000 0 0 0 00 80 3F 00 00 80 3F 00 00 00 00

Open and select the corresponding memory to search for this feature code directly

The searched value has been improved by 63. All search lists are saved

After saving it, just find a value and transfer it to this address (because the addresses of these values ​​are very close, so which value to find is the same). In fact, the matrix has been found at this time, but it is not easy to see which one is due to too many values.

need to search again

Select All Replace Search list type is F type

Turn around, the angle of view is blurred again and there is a change

Or just find a value and go to this address, which is near the matrix

1.3 How to distinguish whether the matrix is ​​found

Here the same different engine matrix features are not the same

Whether it is ue4 or unity, at least one of the 16 values ​​​​inside the matrix is ​​0F

The Unity engine matrix has a small head and a big tail, all of which are decimals, and the last two are similar, with constant values ​​at the top and bottom of the head and tail

The Ue4 engine matrix has a small head and a big tail, with at least 3 fixed values ​​in the middle (the matrix of the ue3 engine also has a feature that the last two values ​​are very close to the same integer part) actually found 16 values ​​​​that are connected together. If it is 0F and the angle of view will change when you rotate it, the probability is that it is a matrix

In addition to the necessary features of the above two matrices

In addition, there are false matrices in the game

If any of the following three features appear, it means that this must not be a matrix

1.3.1 There is no fixed value on the header of ue4 and unity matrix

1.3.2 The last two dissimilarities of the unity engine matrix are not the largest values

1.3.3. There are no 3 fixed values ​​in the ue4 engine matrix

Guess you like

Origin blog.csdn.net/qq_46832407/article/details/126375467