C ++ |冻伤引擎-无法理解收到的答案吗?

时间:2018-12-17 20:25:31

标签: c++ directx

我从coltonon(冻伤引擎专家)那里得到了答案,如果您能帮助的话,我不完全理解他给我的答案!

这是他给我的:“您需要viewangles类,您可以查看该地址以确定俯仰偏航偏移量以及需要转储的寄存器。在我的头顶上,它是0x68表示偏航,0x6c表示音调” 编辑:明确地说,我知道一个类是什么,我不知道如何获取/使用寄存器,也不知道该地址,如果您知道如何利用0x6c /获取viewangles类,那是什么我需要:D

我确实从Google中搜索了一些东西,例如寄存器,地址和课程,希望有可能弹出一些东西,尽管那里似乎没有任何东西与我要找的东西接近。

我知道0x68 / 0x6c可能是用于在内存中更改值的偏移量之类的东西,我知道我有一个mem.write函数,很可能做到这一点,我只是不知道如何转换0x6c(例如)为int / float,或者为函数/用作游戏引擎的函数

我认为viewangles类是名为VIEWANGLESFUNC的偏移量的一部分,我从coltonon(冻伤引擎专家)那里获取了偏移量,所以这是最新的。

tldr,您对我应该在Google上搜索的内容有所了解,还是对我错了哪些地方和对的地方有任何想法?

我有一些代码适合您!我在coltonon的库ReghookEx(https://github.com/coltonon/RegHookEx)的帮助下进行了一些编码。

我确实要显示一些代码,将其编辑为我自己的外部程序版本:

class ViewAngle {
public:
    ViewAngle() {}
    float Yaw(float input) {

    }

    float Pitch(float input) {

    }
};

if (GetAsyncKeyState(0x02) && this->ClosestVisibleEnemy.IsValid()) {
        if (this->allow_aim == true) { std::cout << "caught allow_aim" << std::endl; }
        RegHookEx AngleFuncHook(mem.hProcess, OFFSET_VIEWANGLEFUNC);
        if (mem.read<RegDump>(AngleFuncHook.GetAddressOfHook()).RBX != 0) {
            //Read
            ViewAngle pViewAngle = mem.read<ViewAngle>(AngleFuncHook.GetRegDump().RBX);
            //pViewAngle.Yaw, pViewAngle.Pitch
            //Write
            RegDump pRegDump = mem.read<RegDump>(AngleFuncHook.GetAddressOfHook());
            mem.write<float>(pRegDump.RBX + offsetof(ViewAngle, ViewAngle::Yaw), 0);
            mem.write<float>(pRegDump.RBX + offsetof(ViewAngle, ViewAngle::Pitch), 0);
        }
}    

其底部位于称为Manager的类中,与ViewAngle的类分开

0 个答案:

没有答案