Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Как сделать HitBox через патч байтов?

Все очень просто:
  1. Найти место с рендерами (ребята подсказывают jvm.dll)
  2. Дальше используй программы реверс-инжиниринга, а конкретно для декомпиляции
  3. Сидишь и разбираешься, что, где, куда (можно быстрее, если найти конкретную зону памяти — так не придётся декомпилировать весь файл)
 
Все очень просто:
  1. Найти место с рендерами (ребята подсказывают jvm.dll)
  2. Дальше используй программы реверс-инжиниринга, а конкретно для декомпиляции
  3. Сидишь и разбираешься, что, где, куда (можно быстрее, если найти конкретную зону памяти — так не придётся декомпилировать весь файл)
Спасибо, я понял что я тупица, после декомпиляции дальше нечего не понял):FeelsBadMan:
 
По-моему, в Java есть целая библиотека для майна. Там даже не нужно искать оффсеты или сигнатуры — всё работает через паттерны внутри самой игры, и практически ничего не нужно делать дополнительно. Но я не шарю в Java — придётся тебе самому искать документацию, методы и так далее.
 
По-моему, в Java есть целая библиотека для майна. Там даже не нужно искать оффсеты или сигнатуры — всё работает через паттерны внутри самой игры, и практически ничего не нужно делать дополнительно. Но я не шарю в Java — придётся тебе самому искать документацию, методы и так далее.
Мне сказали смотреть как работает ASM, но по факту как работать именно с майном так гайдов нету(
потому что это чат гпт ответ
Если можешь, дай ответ без гпт :roflanPominki:
 
Как сделать HitBox через патч байтов?
Если хочешь делать екстернал, то ищи 0.6 значение флоат в CheatEngine (можно выделить все результаты и увеличить), с большой вероятностью у тебя увеличиться хитбокс. После этого ищешь значение которое отвечает, сохраняешь паттерн и все.
Но есть и минус твой локальный хитбокс тоже будет увеличиваться.
 
Если хочешь делать екстернал, то ищи 0.6 значение флоат в CheatEngine (можно выделить все результаты и увеличить), с большой вероятностью у тебя увеличиться хитбокс. После этого ищешь значение которое отвечает, сохраняешь паттерн и все.
Но есть и минус твой локальный хитбокс тоже будет увеличиваться.
Вот, я за это и говорю. Просто они как то делают так что мой хит бокс не увеличиваеться... :FeelsBadMan:
 
Если хочешь делать екстернал, то ищи 0.6 значение флоат в CheatEngine (можно выделить все результаты и увеличить), с большой вероятностью у тебя увеличиться хитбокс. После этого ищешь значение которое отвечает, сохраняешь паттерн и все.
Но есть и минус твой локальный хитбокс тоже будет увеличиваться.
Что бы исправить локальный хитбокс тебе нужно искать адрес локального игрока, и задавать ему дефолтный хитбокс
Вот, я за это и говорю. Просто они как то делают так что мой хит бокс не увеличиваеться... :FeelsBadMan:
вот видео как искать локальный адрес, только тут для бедрока, но в целом последовательность такая же
 
Что бы исправить локальный хитбокс тебе нужно искать адрес локального игрока, и задавать ему дефолтный хитбокс
Понял, спасибо большое за ответ. А можешь пожалуйста в дс объяснить как из CheatEngine переделать это в .exe (сначала в .jar потом в .exe) 🤗
Что бы исправить локальный хитбокс тебе нужно искать адрес локального игрока, и задавать ему дефолтный хитбокс

вот видео как искать локальный адрес, только тут для бедрока, но в целом последовательность такая же

вот видео как искать локальный адрес, только тут для бедрока, но в целом последовательность такая же
Спасибо за гайд, я просто не очень разбираюсь в реверсе😞
 
Понял, спасибо большое за ответ. А можешь пожалуйста в дс объяснить как из CheatEngine переделать это в .exe (сначала в .jar потом в .exe) 🤗
Это на джаве не напишешь, или напишешь не знаю.
Но лучше это делать на с++, по этому я не понял про " CheatEngine переделать это в .exe (сначала в .jar потом в .exe)"
 
Это на джаве не напишешь, или напишешь не знаю.
Но лучше это делать на с++, по этому я не понял про " CheatEngine переделать это в .exe (сначала в .jar потом в .exe)"
Ну просто я думал это можно сделать на java, а в java есть расширение только .jar - но мне нужен .exe(это делать пару минут)
 
Вот, я за это и говорю. Просто они как то делают так что мой хит бокс не увеличиваеться... :FeelsBadMan:
Это делают с помощью матрицы
примерно так:

Vector3 bottomPoint;
Vector3 topPoint;
if (worldToScreenPoint(moveState.position + Vector3(смещение), vm, bottomPoint)
&& worldToScreenPoint(moveState.position + Vector3(смещение), vm, topPoint))
{
float width = (bottomPoint.y - topPoint.y) / 5;
drawList->AddLine(topPoint + Vector3(width, 0, 0), topPoint, IM_COL32(255, 0, 0, 255), 1);
drawList->AddQuad(
topPoint - Vector3(width, 0, 0),
topPoint + Vector3(width, 0, 0),
bottomPoint + Vector3(width, 0, 0),
bottomPoint - Vector3(width, 0, 0),
IM_COL32(255, 0, 0, 255), 1
);
}

реализация worldToScreenPoint

bool worldToScreenPoint(Vector3 worldPoint, Matrix4x4 vm, Vector3& screenPoint)
{
Vector4 clipPoint = vm * Vector4(worldPoint.x, worldPoint.y, worldPoint.z, 1);
if (clipPoint.w == 0 || clipPoint.z <= 0)
{
return false;
}
else
{
screenPoint.x = (clipPoint.x / clipPoint.w + 1) * .5f * clientWidth;
screenPoint.y = clientHeight - (clipPoint.y / clipPoint.w + 1) * .5f * clientHeight;
screenPoint.z = clipPoint.z;
return true;
}
}
и Vector3:

struct Vector3
{
float x, y, z;

Vector3(float x = 0, float y = 0, float z = 0) : x(x), y(y), z(z) {}

Vector3 operator+(const Vector3& other) const
{
return Vector3(x + other.x, y + other.y, z + other.z);
}

Vector3 operator-(const Vector3& other) const
{
return Vector3(x - other.x, y - other.y, z - other.z);
}

Vector3 operator*(const Vector3& other) const
{
return Vector3(x - other.x, y * other.y, z * other.z);
}

Vector3 operator/(const Vector3& other) const
{
return Vector3(x / other.x, y / other.y, z / other.z);
}
};
 
Назад
Сверху Снизу