Вопрос Как прочитать нужный аддрес зная оффсет

Начинающий
Статус
Оффлайн
Регистрация
12 Окт 2021
Сообщения
22
Реакции[?]
9
Поинты[?]
8K
Сразу извиняюсь за глупый вопрос, но пытаюсь разобраться уже больше суток и без результатно. К примеру у меня есть оффсет 0x334 (m_iHealth), добавляя к client.dll этот оффсет не получаю нужный результат. Как я понимаю надо добавлять ещё какой-то адрес, но не понимаю где его брать. Покажите, пожалуйста, примером + объяснением что и от куда надо брать, к чему прибавлять и как это вообще сделать
P.S: Если такое возможно, то на экстернал примере на c++
 
Начинающий
Статус
Оффлайн
Регистрация
14 Янв 2024
Сообщения
31
Реакции[?]
1
Поинты[?]
2K
я сам до пасты либералиста 3 дня промучился))
добавляя к client.dll этот оффсет не получаю нужный результат.
надо к адресу игрока прибавлять, он тебе скинул рабочую пасту - это просто подарок, я бы на твоём месте от радости прыгал))):

const auto local_hero = _GetEntityByIndex(index_m_hAssignedHero);
CMSG("hp: %d\n", (int)((char*)local_hero + offset_m_iHealth));

объяснением что и от куда надо брать, к чему прибавлять и как это вообще сделать
просто скопировать его код и выставить, собрать длл и заинжектить, код на инжектор я давал; во вложении инжектор и длл собранные из пасты и инжекта с хабра
то на экстернал примере на c++
не пользуюсь экстерналом, так как он намного сложнее
 

Вложения

  • 36.2 KB Просмотры: 19
Начинающий
Статус
Оффлайн
Регистрация
12 Окт 2021
Сообщения
22
Реакции[?]
9
Поинты[?]
8K
я сам до пасты либералиста 3 дня промучился))

надо к адресу игрока прибавлять, он тебе скинул рабочую пасту - это просто подарок, я бы на твоём месте от радости прыгал))):

const auto local_hero = _GetEntityByIndex(index_m_hAssignedHero);
CMSG("hp: %d\n", (int)((char*)local_hero + offset_m_iHealth));


просто скопировать его код и выставить, собрать длл и заинжектить, код на инжектор я давал; во вложении инжектор и длл собранные из пасты и инжекта с хабра
ну это интернал, а я в экстернале хочу. А как адрес игрока то получить?
я сам до пасты либералиста 3 дня промучился))

надо к адресу игрока прибавлять, он тебе скинул рабочую пасту - это просто подарок, я бы на твоём месте от радости прыгал))):

const auto local_hero = _GetEntityByIndex(index_m_hAssignedHero);
CMSG("hp: %d\n", (int)((char*)local_hero + offset_m_iHealth));


просто скопировать его код и выставить, собрать длл и заинжектить, код на инжектор я давал; во вложении инжектор и длл собранные из пасты и инжекта с хабра

не пользуюсь экстерналом, так как он намного сложнее
кстати по той пасте, там норм инжект? В плане что без бана всё работает?
я сам до пасты либералиста 3 дня промучился))

надо к адресу игрока прибавлять, он тебе скинул рабочую пасту - это просто подарок, я бы на твоём месте от радости прыгал))):

const auto local_hero = _GetEntityByIndex(index_m_hAssignedHero);
CMSG("hp: %d\n", (int)((char*)local_hero + offset_m_iHealth));


просто скопировать его код и выставить, собрать длл и заинжектить, код на инжектор я давал; во вложении инжектор и длл собранные из пасты и инжекта с хабра

не пользуюсь экстерналом, так как он намного сложнее
блять как ты это скомпилил...
1712078211000.png
а всё норм это я еблан
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
14 Янв 2024
Сообщения
31
Реакции[?]
1
Поинты[?]
2K
" В плане что без бана всё работает? " не знаю, сегодня только с обеда опробовал, пока нет бана)))
" А как адрес игрока то получить? " смотри пасту, там всё есть
блять как ты это скомпилил...
правой кнопкой на проекте, стандарт языка = 17, а также в начале добавь #include "pch.h"

//c++17
#include "pch.h"
#include <Windows.h>
#include <Psapi.h>
#include <string>

using T_ConMsg = void()(const char fmt, ...);

1712079030947.png
 
Начинающий
Статус
Оффлайн
Регистрация
12 Окт 2021
Сообщения
22
Реакции[?]
9
Поинты[?]
8K
" В плане что без бана всё работает? " не знаю, сегодня только с обеда опробовал, пока нет бана)))
" А как адрес игрока то получить? " смотри пасту, там всё есть

правой кнопкой на проекте, стандарт языка = 17, а также в начале добавь #include "pch.h"

//c++17
#include "pch.h"
#include <Windows.h>
#include <Psapi.h>
#include <string>

using T_ConMsg = void()(const char fmt, ...);

Посмотреть вложение 274002
я заинжектился, но в консоль ничего не выводит... По поводу импорта "pch.h" выдаёт ошибку, что такого нет
UPD: по поводу ничего не выводит в консоль виноват инжектор extrim enjector хуета
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
Сразу извиняюсь за глупый вопрос, но пытаюсь разобраться уже больше суток и без результатно. К примеру у меня есть оффсет 0x334 (m_iHealth), добавляя к client.dll этот оффсет не получаю нужный результат. Как я понимаю надо добавлять ещё какой-то адрес, но не понимаю где его брать. Покажите, пожалуйста, примером + объяснением что и от куда надо брать, к чему прибавлять и как это вообще сделать
P.S: Если такое возможно, то на экстернал примере на c++
к client.dll ты добавляешь не оффсеты, ты добавляешь RVAшки(Relative Virtual Address). оффсеты ты добавляешь к структурам. сначала берешь энтитисистему(вот ее можно по RVA брать от client.dll. этот RVA(или полноценный VA) можно найти сигсканом(достать из инструкций которые ссылаются на эту энтитисистему) чтобы не апдейтить постоянно чит; альтернативно можешь захардкодить но сломается после того как доту апдейтнут в следующий раз), в ней лежат сущности(точнее айдентити, а в них есть указатель на сущность), находишь нужную тебе, и к ней уже прибваляешь оффсет и оттуда уже считываешь что надо
я сам до пасты либералиста 3 дня промучился))
блядь это не паста это кусок кода демонстративного характера написанный в образовательных целях. не надо это воспринимать как чтото готовое/качественное. это говно которое просто показывает идею, не более.
А как адрес игрока то получить?
с движка берешь плеерслот игрока, прибавляешь 1, получаешь индекс сущности. находишь сущность по индексу в энтитисистеме. получаешь плеерконтроллера(это НЕ ГЕРОЙ. это то что его контроллит(он может еще и крипов прирученных и тд контроллить)). у него есть m_hAssignedHero нетвар(с дампов шемы можешь оффсет взять), это CHandle(инт)(17 хай битов серийник, 15 лоу битов индекс. индекс это CHandle & 0x7FFF(в энтитисистеме(64 списка по 512 записей) 64 * 512 = 32768 айдентитей всего может быть. индексы с 0 начинаются. 32767 макс индекс. 15 битов хватает для представления всех чисел от 0 до 32767. остальные 17 битов(инт 32 бита) на серийный номер сущности уходят)). берешь по этому индексу сущность, получаешь своего героя.
блять как ты это скомпилил...
Посмотреть вложение 274001
а всё норм это я еблан
это интеллисенс ошибки(интеллисенс это подсветка/подчеркивания кода), они нихуя не значат. у тебя на скрине есть кнопка "Сборка и IntelliSense", выбери там "Только сборка". ошибки(не предупреждения. ну они иногда тоже хуйня) интеллисенса обычно хуита собачья можно смело игнорить)
 
Сверху Снизу