Register for your free account! | Forgot your password?

Go Back   elitepvpers > Shooter > S4 League > S4 League Hacks, Bots, Cheats & Exploits
You last visited: Today at 05:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Tutorial] Reversing the Client (EP. 2)

Discussion on [Tutorial] Reversing the Client (EP. 2) within the S4 League Hacks, Bots, Cheats & Exploits forum part of the S4 League category.

Reply
 
Old   #1
 
elite*gold: 225
Join Date: Sep 2014
Posts: 334
Received Thanks: 460
[Tutorial] Reversing the Client (EP. 2)

[ Hey. In this episode I'm gonna give you some hints
to make a pretty decent aimbot + esp (world2screen).
]

First you need to have a basic understanding of computer graphics and how game engines work. I will try to explain the most fundamental things.
Even tho I will explain very in-depth I will NOT teach you trigonometry or projection stuff. In maths you should educate yourself.

Let's start with the aimbot, assuming we already reversed everything we need; for an aimbot you just loop thru every entity(i.e. an enemy player) and save the distance from your local position vector to the enemy vector -> "pythagorean theorem" for 3d vectors (google that if you dont know).
Now we should have the closest entity saved by ptr or index. We can now calculate the angle between our view vector and the enemy vector. It's much easier if the enemy vector is relative to our vector so just subtract the enemy vector from our vector.



(pic stolen from some other forum [credits @])

Yaw: arccot(deltaX / deltaY)
Pitch: arccot(hyp, deltaZ)

Actually, it's very easy if you watched out in school.
We can now just set our viewangles whereever they are stored :P


I'm away now. The reversal of these things + ESP & WorldToScreen will come later in this thread. Cya

for you guys that can't wait and want to reverse themselves:
PHP Code:
  v94 v92 v90 sub_20240E0();
  
v13 = *(float *)((*(int (__thiscall **)(int))(*(_DWORD *)v94 76))(v94) + 8);
  
v14 = *(float *)((*(int (__thiscall **)(int))(*(_DWORD *)v92 76))(v92) + 4);
  
v15 = *(float *)(*(int (__thiscall **)(int))(*(_DWORD *)v90 76))(v90); 
will be stored in sse registers; v15 is x, v14 y, v13 z.
that means v90 = some class, *v90 some class's vtable.
vtable + 0x4C = GetCameraPositionXYZ function (returns a struct[ptr]).
Cyrex' is offline  
Thanks
27 Users
Old 03/05/2016, 15:31   #2
 
elite*gold: 225
Join Date: Sep 2014
Posts: 334
Received Thanks: 460
#reserved

edit: sooo...

In the previous post I showed you how to get the camera position of a specified entity.
We now need our viewangles(yaw and pitch[roll is not used in most fps). S4 provides the camera directions in vectors.

PHP Code:
v55 sub_20240E0();
v67 sub_20240E0();
v53 sub_20240E0();
v10 = *(float *)(v55 516); // z
v11 = *(float *)(v67 512); // y
v12 = *(float *)(v53 508); // x 
just grab them. now you can just leave them as unit vectors or you can convert them to "real" angles. For w2s you will just need the unit vectors in a matrix. Coming back soon.

I ripped this function to convert unit vectors to angles from the source engine sdk - because math.. fuck it.
PHP Code:
void VectorAngles(Vector forwardQAngle angles)
{
    
Assert(s_bMathlibInitialized);
    
float    tmpyawpitch;
 
    if (
forward[1] == && forward[0] == 0)
    {
        
yaw 0;
        if (
forward[2] > 0)
            
pitch 270;
        else
            
pitch 90;
    }
    else
    {
        
yaw = (atan2(forward[1], forward[0]) * 180 M_PI);
        if (
yaw 0)
            
yaw += 360;
 
        
tmp sqrt(forward[0] * forward[0] + forward[1] * forward[1]);
        
pitch = (atan2(-forward[2], tmp) * 180 M_PI);
        if (
pitch 0)
            
pitch += 360;
    }
 
    
angles[0] = pitch;
    
angles[1] = yaw;
    
angles[2] = 0;

ps: forward vector is mostly 'z' or '-z' component. You may need to omit the clamping and
reorienting to s4's coordinate system.
Cyrex' is offline  
Thanks
4 Users
Reply


Similar Threads Similar Threads
[Tutorial] Reversing the Client (EP. 1)
03/04/2016 - S4 League Hacks, Bots, Cheats & Exploits - 11 Replies
Hey guys. I wanna start a new series of tutorials for reversing the S4 League Game Client since it is very easy. ] To get started we need a few things set-up: 1. Disassembler (I prefer IDA Pro 6.9 with Hex-Rays plugin) 2. Struct Analyzing tool (ReClass 2015 or Cheat Engine) 3. Executable Dumper (Scylla) 4. Fundamental IDA Pro plugins (Class Informer and String Associate Plugin)
[TUTORIAL] Reversing the graphics pipeline
10/19/2015 - S4 League Hacks, Bots, Cheats & Exploits - 4 Replies
Hey guys, this tutorial will show you basic static reverse engineering or analysis of a dump. In this case I will show you something of S4's graphics pipeline. The practical example will be the D3D Font. This tutorial aims at a bit advanced members and requires asm knowledge. At the end of the tutorial, I will also give you a tip on how to aquire a static pointer. D3D Font http://i.imgur.com/yzxNCmF.png Here, we found an interesting string that will help us to get a starting point....
Reversing Tutorial 1 (Kickvote)
04/18/2015 - S4 League Hacks, Bots, Cheats & Exploits - 26 Replies
http://i.epvpimg.com/GWnxd.png http://i.epvpimg.com/wPtlf.png http://i.epvpimg.com/YTLnb.png Das folgende Tutorial ist von mir geschreiben und ist nur für Elitepvpers, ich erlaube es nicht es in andere Foren zu kopieren! -Zu erst downloadet ihr euch Cheat Engine falls ihr das noch nicht habt. -Danach öffnet ihr S4 mit einen Bypass. -Startet nun Cheat engine und geht in die Settings siehe Bild.
[Tutorial] Reversing Spell Encryption
06/15/2014 - CO2 Programming - 1 Replies
It has been quite a while since I last wrote a tutorial related to Conquer. This is mostly useless because as far as I know the spell encryption has already been reversed long time ago. The purpose of this post / tutorials is to help people understand how it's possible to find functions and implement them in desired language by reverse engineering. This will also be kind of log for me on how I approach reversing. This reverse engineering was performed on a unnamed private server so I'm not...
[ C++ / Reversing | Tutorial ] Detour + Code Cave mit WPM
01/03/2010 - Coding Tutorials - 4 Replies
Moin leute, habe hier ein kleines Tutorial geschrieben wie man Funktionen auf seinen eigenen Code umleitet mit WriteProcessMemory. Ihr solltet jedoch schon wissen wie man WriteProcessMemory verwendet. Als Beispiel habe ich das Spiel Counterstrike genommen und Whitewalls gemacht. Das Tutorial ist NICHT dazu da um zu zeigen wie man Hacks schreibt und wie diese Funktionieren. Programme die benutzt werden: OllyDBG Credits für den White Walls code: b2k5



All times are GMT +1. The time now is 05:41.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.