AutoSprint C++ DLL Minecraft

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Сен 2024
Сообщения
113
Реакции
1
вроде работает на 1.8.9
вам для этого нада jni
dllmain:
Код:
Expand Collapse Copy
#include <Windows.h>
#include "Java.h"
#include "Cheat.h"

void initialise()
{
    jsize count;

    if (JNI_GetCreatedJavaVMs(&ct.vm, 1, &count) != JNI_OK || count == 0)
        return;

    jint rest = ct.vm->GetEnv((void**)&ct.env, JNI_VERSION_1_6);

    if (rest == JNI_EDETACHED)
        rest = ct.vm->AttachCurrentThread((void**)&ct.env, nullptr);

    if (ct.env != nullptr)
        runModules();
}

BOOL APIENTRY DllMain(
    HMODULE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)initialise, 0, 0, 0);
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
Cheat.cpp
Код:
Expand Collapse Copy
#include "Cheat.h"
#include "Java.h"
#include <thread>
#include <chrono>

cheat ct;

jclass getMinecraftClass()
{
    return ct.env->FindClass("ave");
}

jobject getMinecraft()
{
    jmethodID getMinecraftMethod = ct.env->GetStaticMethodID(getMinecraftClass(), "A", "()Lave;");
    return ct.env->CallStaticObjectMethod(getMinecraftClass(), getMinecraftMethod);
}

jobject getWorld()
{
    jfieldID getWorldField = ct.env->GetFieldID(getMinecraftClass(), "f", "Lbdb;");
    return ct.env->GetObjectField(getMinecraftClass(), getWorldField);
}

jobject getPlayer()
{
    jfieldID getPlayerField = ct.env->GetFieldID(getMinecraftClass(), "h", "Lbew;");
    return ct.env->GetObjectField(getMinecraft(), getPlayerField);
}

void setPlayerSprint()
{
    jmethodID setSprintingMethod = ct.env->GetMethodID(ct.env->GetObjectClass(getPlayer()), "d", "(Z)V");

    ct.env->CallBooleanMethod(getPlayer(), setSprintingMethod, true);
}

void runModules()
{
    while (true)
    {
        jobject minecraft = getMinecraft();
        if (minecraft == nullptr) continue;

        jobject world = getWorld();
        if (world == nullptr) continue;

        jobject player = getPlayer();
        if (player == nullptr) continue;

        setPlayerSprint();

        std::this_thread::sleep_for(std::chrono::milliseconds(5));
    }
}
cheat.h
Код:
Expand Collapse Copy
void runModules();
Java.h
Код:
Expand Collapse Copy
#ifndef CHEAT_H
#define CHEAT_H

#include "JNI/jni.h"

class cheat
{
public:
    JavaVM* vm;
    JNIEnv* env;

    JavaVMInitArgs args;
};

extern cheat ct;

#endif
 
вроде работает на 1.8.9
вам для этого нада jni
dllmain:
Код:
Expand Collapse Copy
#include <Windows.h>
#include "Java.h"
#include "Cheat.h"

void initialise()
{
    jsize count;

    if (JNI_GetCreatedJavaVMs(&ct.vm, 1, &count) != JNI_OK || count == 0)
        return;

    jint rest = ct.vm->GetEnv((void**)&ct.env, JNI_VERSION_1_6);

    if (rest == JNI_EDETACHED)
        rest = ct.vm->AttachCurrentThread((void**)&ct.env, nullptr);

    if (ct.env != nullptr)
        runModules();
}

BOOL APIENTRY DllMain(
    HMODULE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)initialise, 0, 0, 0);
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
Cheat.cpp
Код:
Expand Collapse Copy
#include "Cheat.h"
#include "Java.h"
#include <thread>
#include <chrono>

cheat ct;

jclass getMinecraftClass()
{
    return ct.env->FindClass("ave");
}

jobject getMinecraft()
{
    jmethodID getMinecraftMethod = ct.env->GetStaticMethodID(getMinecraftClass(), "A", "()Lave;");
    return ct.env->CallStaticObjectMethod(getMinecraftClass(), getMinecraftMethod);
}

jobject getWorld()
{
    jfieldID getWorldField = ct.env->GetFieldID(getMinecraftClass(), "f", "Lbdb;");
    return ct.env->GetObjectField(getMinecraftClass(), getWorldField);
}

jobject getPlayer()
{
    jfieldID getPlayerField = ct.env->GetFieldID(getMinecraftClass(), "h", "Lbew;");
    return ct.env->GetObjectField(getMinecraft(), getPlayerField);
}

void setPlayerSprint()
{
    jmethodID setSprintingMethod = ct.env->GetMethodID(ct.env->GetObjectClass(getPlayer()), "d", "(Z)V");

    ct.env->CallBooleanMethod(getPlayer(), setSprintingMethod, true);
}

void runModules()
{
    while (true)
    {
        jobject minecraft = getMinecraft();
        if (minecraft == nullptr) continue;

        jobject world = getWorld();
        if (world == nullptr) continue;

        jobject player = getPlayer();
        if (player == nullptr) continue;

        setPlayerSprint();

        std::this_thread::sleep_for(std::chrono::milliseconds(5));
    }
}
cheat.h
Код:
Expand Collapse Copy
void runModules();
Java.h
Код:
Expand Collapse Copy
#ifndef CHEAT_H
#define CHEAT_H

#include "JNI/jni.h"

class cheat
{
public:
    JavaVM* vm;
    JNIEnv* env;

    JavaVMInitArgs args;
};

extern cheat ct;

#endif
и зачем?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Годно
 
ура 1.8.9 подняли а то exp 3.1 1.16.5 заебал уже
 
NoWork ? задилдил без ошибок jni есть, заинжектило но спринта нету на чистом 1.8.9
 
а бля не фулл метод дал xddddddddddddd
 
ТО ЕСТЬ БЛЯДЬ

СМЕШНУЮ БЕГАЛКУ ВЫ УДАЛИЛИ

А ЭТУ ХУЙНЮ - С УДОВОЛЬСТВИЕМ ОПУБЛИКОВАЛИ?
это не на java тебе автоспринт в 10 строк сделать, это как dll инъекция с jni, это скорее пример того как использовать jni
 
это не на java тебе автоспринт в 10 строк сделать, это как dll инъекция с jni, это скорее пример того как использовать jni
так я на расте писал

у меня джавы нету..
 
так я на расте писал

у меня джавы нету..
я не только про тебя говорю, я сказал как пример что все только исходы майна изменяют а на c++ почти никто ничего не делает связанного с майном
 
я не только про тебя говорю, я сказал как пример что все только исходы майна изменяют а на c++ почти никто ничего не делает связанного с майном
че за бредятина? нахуй эти гайды когда у жни документация на 300 страниц? сиди - вкуривай, а по таким гайдам где тупо дан код который вероятно спащен или написан чатгпт, а оригинал постер сам не знает работает ли оно вообще.люди даже не поймут откуда брать маппинги, как это жниенв получить и тд
да и вообще там можно без документации разобраться, настолько все просто что даже в названии методов там тип филда/метода указывается,ну трудно чтолибо не понять
 
че за бредятина? нахуй эти гайды когда у жни документация на 300 страниц? сиди - вкуривай, а по таким гайдам где тупо дан код который вероятно спащен или написан чатгпт, а оригинал постер сам не знает работает ли оно вообще.люди даже не поймут откуда брать маппинги, как это жниенв получить и тд
да и вообще там можно без документации разобраться, настолько все просто что даже в названии методов там тип филда/метода указывается,ну трудно чтолибо не понять
ну и иди читай свою документацию на 300 страниц
 
Назад
Сверху Снизу