Riz-ve / Xeno

Xeno: An external script executor for Roblox made entirely in C++. It uses a working but detected method of overwriting the bytecode of a corescript to manage script execution
https://rizve.us.to/Xeno/
Apache License 2.0
67 stars 30 forks source link

help me + new updated offsets by me #45

Open maximusloltvink opened 1 week ago

maximusloltvink commented 1 week ago

(sorry for bad english) hi, riz-ve I'm one of the few people who actually learns from your code. I'm new to C++ and just when fixing various bugs I encountered an error, since UnlockModule has numbers of 1 byte in length, it is much more reasonable to use uint8_t to avoid bugs with after re-entering the roblox playground with the disappearance of controls, but now I encountered an error that When I leave the roblox place my roblox crashes. I suspect this is the Xeno injection method, but I'm not sure. That's why I'm asking for help. also for our little friends who cannot update the offsets themselves, here they are:

constexpr std::uint64_t This = 0x8; constexpr std::uint64_t Name = 0x68; constexpr std::uint64_t Children = 0x70; constexpr std::uint64_t Parent = 0x50; constexpr std::uint64_t ClassDescriptor = 0x18; constexpr std::uint64_t ClassName = 0x8;

constexpr std::uint64_t ModuleScriptEmbedded = 0x168; constexpr std::uint64_t IsCoreScript = 0x1b0; constexpr std::uint64_t ModuleFlags = IsCoreScript - 0x4; constexpr std::uint64_t LocalScriptEmbedded = 0x1c0;

constexpr std::uint64_t Bytecode = 0x10; constexpr std::uint64_t BytecodeSize = 0x20; constexpr std::uint64_t LocalPlayer = 0x118; constexpr std::uint64_t ObjectValue = 0xc8;

(changed) forgot to indicate that fakeDataModel = 0x1a0;

076c commented 1 week ago

because it writes to unsigned bytecode (which can cause it to crash i believe), other executors like wave ballistic etc push bytecode directly without writing into unsigned bytecode.

maximusloltvink commented 1 week ago

because it writes to unsigned bytecode (which can cause it to crash i believe), other executors like wave ballistic etc push bytecode directly without writing into unsigned bytecode.

hmm, how to fix this? don't change the method completely

maximusloltvink commented 1 week ago

I can try to make it so that it is a regular bytecode, and not unsigned. although I don't think this is the problem since there is an error with CoreGui

Riz-ve commented 1 week ago

The reason Roblox crashes once you leave after writing bytecode to a CoreGui module is because Roblox uses those modules but we are modifying the source of it by writing to its bytecode and since it's not the source that Roblox expects it will eventually crash.

This is the best explanation I can give you as to why Roblox is crashing. It could also be something else

Riz-ve commented 1 week ago

This is why I constantly revert back the bytecode of a module to its original source after few seconds it was modified

maximusloltvink commented 6 days ago

The reason Roblox crashes once you leave after writing bytecode to a CoreGui module is because Roblox uses those modules but we are modifying the source of it by writing to its bytecode and since it's not the source that Roblox expects it will eventually crash.

This is the best explanation I can give you as to why Roblox is crashing. It could also be something else

it turns out I just need to return CoreGui back? can you help me, I will be grateful:)

maximusloltvink commented 6 days ago

I explained incorrectly when I made the injection and then left the roblox game (place), again when I log in, the roblox control menus disappear

maximusloltvink commented 6 days ago

Я неправильно объяснил, когда сделал инъекцию, а затем вышел из игры (места) roblox, снова, когда я вхожу в систему, меню управления roblox исчезает

this is if you DO NOT change the UnlockModule function