Гайд How to make an external cheat

Начинающий
Статус
Оффлайн
Регистрация
11 Июл 2020
Сообщения
5
Реакции[?]
0
Поинты[?]
0
ProcMem:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Making a triggerbot is veeeeeeeeeery easy when you know the basics and understand memory reading.
You're probably scratching your head and thinking Wtf is memory reading? How do I read memory?
Basically, it's reading information from a process/program. In this tutorial, we will be reading info about the entity(player) in our crosshair and info about our own player, which will become a triggerbot.
You may be thinking, what do I need to read memory?
The easiest way would be ProcMem(Process Memory). It's a class made by Fleep(I think?) that makes memory reading alot easier for beginners, as you save time by having all memory reading functions you need done. This is attached to the thread as a .rar file!

First, we start by creating our main.cpp file and adding ProcMem.cpp and ProcMem.h from the downloaded .rar file. You do this in visual studio by right clicking source files -> Add -> Existing item and choosing ProcMem.cpp. Then you do the same but in Header Files with ProcMem.h.

Then we need to initialize ProcMem in our main.cpp file so we can use the functions from it:
Code:
  1. #include "ProcMem.h" // Memory reading
  2. ProcMem Mem; // Shortcut
To actually read process memory, we need to choose a process. In this tutorial, it is going to be csgo.
Code:
  1. Mem.Process("csgo.exe"); // Choosing the process
Now we can read memory, but reading stuff as EntityBase, PlayerBase and so on we need the Client.dll from csgo.
Code:
  1. DWORD ClientDLL = Mem.Module("client.dll"); //Module we are reading memory from
Now we have initialized everything we need related to memory reading. Now, to the boring part, offsets.
Offsets is basically where the info we need to read is located, so if we are going to read PlayerBase, we need the PlayerBase offset.
I'm not going to cover how to get them through cheat engine, so we are going to use a offset dumper. That is basically a program that gets the offsets for us. These can usually be found in a thread on another forum, just google on
Пожалуйста, авторизуйтесь для просмотра ссылки.
. Here is the ones you need: (Updated 12-08-2014)
Code:
  1. // Needs to be updated when counter strike is updated.
  2. const DWORD playerBase = 0xA68A14;
  3. const DWORD entityBase = 0x4A0B0C4;
  4. const DWORD crosshairOffset = 0x23F8;
  5. // Does not change on updated, in other words, no need to update these!
  6. const DWORD teamOffset = 0xF0;
  7. const DWORD healthOffset = 0xFC;
  8. const DWORD EntLoopDist = 0x10;
We are finally done initializing everything we need for a simple triggerbot!
Now, to the actual memory reading.
To get our own player's info, we read ClientDLL (The module in csgo that contains the info we need) + PlayerBase.
Code:
  1. // our player
  2. DWORD LocalPlayer = Mem.Read<DWORD>(ClientDLL + PlayerBase);
  3. // our player's team, so we can compare it to the player in our crosshair and shoot if its not our own player's team.
  4. int LocalTeam = Mem.Read<int>(LocalPlayer + teamOffset);
  5. // our player's crosshair ID, it is used for reading what is in our crosshair
  6. int CrossHairID = Mem.Read<int>(LocalPlayer + CrosshairOffset);
Now that we got the needed info for our player, we need to create our Triggerbot function. Name it anything you want, I will name mine Trigger.
Now we got to read the memory needed inside our triggerbot function.
Code:
  1. void Trigger()
  2. {
  3. DWORD EnemyInCH = Mem.Read<DWORD>(ClientDLL + EntityBase + ((CrossHairID - 1) * EntLoopDist)); // CH = Crosshair.
  4. int EnemyHealth = Mem.Read<int>(EnemyInCH + healthOffset); // Enemy in crosshair's
  5. int EnemyTeam = Mem.Read<int>(EnemyInCH + teamOffset); // Enemy in crosshair's team, we need this to compare it to our own player's team)
  6. }
To not shoot at friends, we need to make sure the enemy team is not the same local team.
We can do this like this:
Code:
  1. if (LocalTeam != EnemyTeam)
  2. {
  3. // shoot
  4. }
But it is going to shoot at dead enemies. To prevent this, we can check if EnemyHealth is bigger than 0.
Code:
  1. if (EnemyHealth > 0)
  2. {
  3. // shoot
  4. }
To make the code less messy, we will check the team and health in the same if statement.
Code:
  1. if (LocalTeam != EnemyTeam && EnemyHealth > 0)
  2. {
  3. // Shoot
  4. }
Now we got a prefect triggerbot. but it does not shoot. As this is going to be a memory reading only triggerbot, we are going to simulate a mouse press instead of forcing it through writing memory. We are going to use mouse_event. If you want to, you can check out the
Пожалуйста, авторизуйтесь для просмотра ссылки.
and try to understand it. You should be able to figure it out if you actually watched the tutorial I linked earlier, but anyways, here's the finished Trigger function code:
Code:
  1. void Trigger()
  2. {
  3. DWORD EnemyInCH = Mem.Read<DWORD>(ClientDLL + EntityBase + ((CrossHairID - 1) * EntLoopDist)); // CH = Crosshair.
  4. int EnemyHealth = Mem.Read<int>(EnemyInCH + healthOffset); // Enemy in crosshair's
  5. int EnemyTeam = Mem.Read <int> (EnemyInCH + teamOffset); // Enemy in crosshair's team, we need this to compare it to our own player's team)
  6. if (LocalTeam! = EnemyTeam && EnemyHealth> 0)
  7. {
  8. // Here you can add a delay before shooting, to make it look legit. This is done using Sleep ()
  9. mouse_event (MOUSEEVENTF_LEFTDOWN, NULL, NULL, NULL, NULL);
  10. // use Sleep () here for shooting several shots with an ak for example. Not usable with pisto
  11. mouse_event (MOUSEEVENTF_LEFTUP, NULL, NULL, NULL, NULL);
  12. // use Sleep () here for a 'cooldown' between shots.
  13. }
now you need to add the function in your main () in a loop.
Code:
  1. int main ()
  2. {
  3. while (true)
  4. {
  5. Trigger ();
  6. // Add a Sleep () here for less cpu usage.
  7. }
  8. }
Now you have a working triggerbot!
It is probably detected, but anyways.
Have fun with it!
 
Арбитр
Продавец
Статус
Оффлайн
Регистрация
13 Июл 2018
Сообщения
1,528
Реакции[?]
1,637
Поинты[?]
280K
Вот так и делаются гайды, а вы думали тут будет хорошо оформленный гайд? А вот хрен вам.
 
самарский помойный аукцион
Эксперт
Статус
Оффлайн
Регистрация
30 Июн 2019
Сообщения
1,247
Реакции[?]
578
Поинты[?]
44K
Вот так и делаются гайды, а вы думали тут будет хорошо оформленный гайд? А вот хрен вам.
Ну просто весь форум на юц забанили приходится ждать слива, как говорится-ешь что дают
 
Сверху Снизу