LiteLDev/LeviLamina

[Bug]: Dimension类结构错误

KobeBryant114514 opened this issue · 1 comments

Describe the bug

Dimension::mName无法正确获取维度名字。
根据Dimension.h头文件里面的结构,mName偏移应该是this+320,但是通过IDA获取到的偏移量是328。
估计是ojng在结构体中间插入了一个int64导致。

To Reproduce

auto player = ll::service::getLevel()->getPlayer("CaiXukun");
auto dim = &player->getDImension();
dim.mName; // 无法获取到维度名
ll::memory::dAccess<std::string>(dim, 328); // 可以正确获取到维度名字

Expected behavior

dim.mName; 应该正确获取到维度名字

Screenshots

No response

Platform

Windows11

Version

0.10.1

Additional context

No response

已定位到问题,BDS中由于一个成员

std::unique_ptr<RuntimeLightingManager> mRuntimeLightingManager; // this+0x568

被移到
std::string mName; // this+0x140

mName的前面,导致这之间的成员偏移更改,等待提交更改即可