This commit is contained in:
watrabi
2025-12-18 16:59:29 -05:00
parent c93494f795
commit ff95483b22
54 changed files with 60469 additions and 509 deletions
+1 -1
View File
@@ -116,7 +116,7 @@ static void initVersion1()
// INTERNALiosapp, 2e427f51c4dab762fe9e3471c6cfa1650841723b
RBX::Network::securityKey = RBX::rot13("rs91650po2qq4439s3q2r889os35oo0s52q90854");
#elif defined(_WIN32)
//0.235.0pcplayeraskljfLUZF, sha1: 2d83a36443889941b170fe68cfe3cc6d718b1abb, then rot13 and put below
//0.2.0pcplayeraskljfLUZF, sha1: 2d83a36443889941b170fe68cfe3cc6d718b1abb, then rot13 and put below
RBX::Network::securityKey = RBX::rot13("rs91650po2qq4439s3q2r889os35oo0s52q90854");
#elif defined(__APPLE__) && defined(__i386)
//0.235.0macplayeraskljfLUZF, sha1: a7377e56dedd0d8e0fecafbec93cf00f0b2edca1, then rot13 and put below
+3 -3
View File
@@ -306,11 +306,11 @@ std::string rakIdToString(int id)
{
case ID_INVALID_PASSWORD:
case ID_HASH_MISMATCH:
return "ROBLOX version is out of date. Please uninstall and try again.";
return "watrbx version is out of date. please update and try again";
case ID_CONNECTION_ATTEMPT_FAILED:
return "Connection attempt failed.";
return "failed to connect to watrbx.";
case ID_SECURITYKEY_MISMATCH:
return "Version not compatible with server. Please uninstall and try again.";
return "watrbx version is out of date. please update and try again";
default:
return RBX::format("Network error %d", id);
}
+12 -12
View File
@@ -355,7 +355,7 @@ namespace RBX { namespace Network {
}
if (isLuaLockFail)
{
//RBX::Security::setHackFlagVmp<LINE_RAND4>(RBX::Security::hackFlag4, HATE_DLL_INJECTION);
RBX::Security::setHackFlagVmp<LINE_RAND4>(RBX::Security::hackFlag4, HATE_DLL_INJECTION);
}
if (isHsceUnitFail)
{
@@ -1244,17 +1244,17 @@ void ClientReplicator::markerReceived()
{
}
shared_ptr<Instance> ClientReplicator::sendMarker()
{
shared_ptr<Instance> superMarker = Super::sendMarker();
if (Marker* marker = Instance::fastDynamicCast<Marker>(superMarker.get()))
{
marker->receivedSignal.connect(boost::bind(&ClientReplicator::markerReceived, this));
}
return superMarker;
}
//shared_ptr<Instance> ClientReplicator::sendMarker()
//{
// shared_ptr<Instance> superMarker = Super::sendMarker();
//
// if (Marker* marker = Instance::fastDynamicCast<Marker>(superMarker.get()))
// {
// marker->receivedSignal.connect(boost::bind(&ClientReplicator::markerReceived, this));
// }
//
// return superMarker;
//}
void ClientReplicator::processStreamDataRegionId(Replicator::StreamJob::RegionIteratorSuccessor successorBitMask, StreamRegion::Id id)
{
+1 -1
View File
@@ -181,7 +181,7 @@ namespace RBX {
/*override*/ bool canUseProtocolVersion(int protocolVersion) const;
/*override*/ void receiveCluster(RakNet::BitStream& inBitstream, Instance* instance, bool usingOneQuarterIterator);
/*override*/ void postProcessPacket();
/*override*/ shared_ptr<Instance> sendMarker();
// /*override*/ shared_ptr<Instance> sendMarker();
const RakNet::SystemAddress getClientAddress() const {return clientAddress;}
+14 -25
View File
@@ -2065,18 +2065,9 @@ void Players::onRemoteSysStats(int userId, const std::string& stat, const std::s
bool willKick = desireKick && canKickBecauseRunningInRealGameServer;
// make call to handler
if (cheatingPlayers[userId].find(stat + message) != cheatingPlayers[userId].end()) {
if (FFlag::DebugLocalRccServerConnection)
{
// skip the security check
}
else
{
if (willKick) {
//Shut. It. Down.
StandardOut::singleton()->printf(MESSAGE_INFO, "Players::onRemoteSysStats disconnect not in the clist");
disconnectPlayer(userId, Replicator::DisconnectReason_OnRemoteSysStats);
}
}
//Shut. It. Down.
StandardOut::singleton()->printf(MESSAGE_INFO, "Players::onRemoteSysStats disconnect not in the clist");
disconnectPlayer(userId, Replicator::DisconnectReason_OnRemoteSysStats);
return;
}
else {
@@ -2105,7 +2096,10 @@ void Players::onRemoteSysStats(int userId, const std::string& stat, const std::s
}
if (sysStatsUrl.empty()) return;
if (sysStatsUrl.empty()){
StandardOut::singleton()->printf(MESSAGE_INFO, "SysStats URL Empty.");
return;
}
//They are using CheatEngine or Fidler or have a non-signed EXE
//Make the request and send it out
@@ -2126,21 +2120,16 @@ void Players::onRemoteSysStats(int userId, const std::string& stat, const std::s
}
catch (RBX::base_exception&)
{
//Something went bad with our request
if (willKick) {
StandardOut::singleton()->printf(MESSAGE_INFO, "Players::onRemoteSysStats disconnect send failed");
// Remove the comment at the down if you already prepared your sysstats.
disconnectPlayer(userId, Replicator::DisconnectReason_OnRemoteSysStats);
}
StandardOut::singleton()->printf(MESSAGE_INFO, "Players::onRemoteSysStats disconnect send failed");
// Remove the comment at the down if you already prepared your sysstats.
disconnectPlayer(userId, Replicator::DisconnectReason_OnRemoteSysStats);
return;
}
if (willKick) {
StandardOut::singleton()->printf(MESSAGE_INFO, "Players::onRemoteSysStats disconnect");
//Shut. It. Down.
// Remove the comment at the down if you already prepared your sysstats.
disconnectPlayer(userId, Replicator::DisconnectReason_OnRemoteSysStats);
}
StandardOut::singleton()->printf(MESSAGE_INFO, "Players::onRemoteSysStats disconnect");
//Shut. It. Down.
// Remove the comment at the down if you already prepared your sysstats.
disconnectPlayer(userId, Replicator::DisconnectReason_OnRemoteSysStats);
}
void Players::onChildAdded(Instance* child)
+18 -18
View File
@@ -179,7 +179,7 @@ const int kApproximateSizeOfSmoothDelta = 16;
REFLECTION_BEGIN();
static Reflection::EventDesc<Replicator, void(std::string, bool)> event_Disconnection(&Replicator::disconnectionSignal, "Disconnection", "peer", "lostConnection", Security::LocalUser);
static Reflection::BoundFuncDesc<Replicator, shared_ptr<Instance>()> func_SendMarker(&Replicator::sendMarker, "SendMarker", Security::LocalUser);
//static Reflection::BoundFuncDesc<Replicator, shared_ptr<Instance>()> func_SendMarker(&Replicator::sendMarker, "SendMarker", Security::Roblox);
static Reflection::BoundFuncDesc<Replicator, void()> func_requestCharacter(&Replicator::requestCharacter, "RequestCharacter", Security::LocalUser);
static Reflection::BoundFuncDesc<Replicator, void()> func_closeConnection(&Replicator::closeConnection, "CloseConnection", Security::LocalUser);
static Reflection::BoundFuncDesc<Replicator, shared_ptr<Instance>()> prop_RemotePlayer(&Replicator::getPlayer, "GetPlayer", Security::None);
@@ -4880,32 +4880,32 @@ void Replicator::requestDisconnectWithSignal(DisconnectReason reason)
requestDisconnect(reason);
}
shared_ptr<Instance> Replicator::sendMarker()
{
shared_ptr<Marker> marker = Creatable<Instance>::create<Marker>();
//shared_ptr<Instance> Replicator::sendMarker()
//{
//shared_ptr<Marker> marker = Creatable<Instance>::create<Marker>();
shared_ptr<RakNet::BitStream> bitStream(new RakNet::BitStream());
*bitStream << (unsigned char) ID_REQUEST_MARKER;
//shared_ptr<RakNet::BitStream> bitStream(new RakNet::BitStream());
//*bitStream << (unsigned char) ID_REQUEST_MARKER;
int id = marker->id;
//int id = marker->id;
*bitStream << id;
//*bitStream << id;
FASTLOG1(FLog::Network, "Replicator:SendMarker id(%d)", id);
//FASTLOG1(FLog::Network, "Replicator:SendMarker id(%d)", id);
if (settings().printInstances) {
RBX::StandardOut::singleton()->printf(RBX::MESSAGE_SENSITIVE,
"Replicator: Requesting Marker %d of %s",
id, RakNetAddressToString(remotePlayerId).c_str());
}
//if (settings().printInstances) {
// RBX::StandardOut::singleton()->printf(RBX::MESSAGE_SENSITIVE,
// "Replicator: Requesting Marker %d of %s",
// id, RakNetAddressToString(remotePlayerId).c_str());
//}
incomingMarkers.push(marker);
//incomingMarkers.push(marker);
// Send ID_REQUEST_MARKER
rakPeer->Send(bitStream, networkSettings->getDataSendPriority(), RELIABLE, DATA_CHANNEL, remotePlayerId, false);
//rakPeer->Send(bitStream, networkSettings->getDataSendPriority(), RELIABLE, DATA_CHANNEL, remotePlayerId, false);
return marker;
}
//return marker;
//}
size_t Replicator::getAdjustedMtuSize() const
{
+1 -1
View File
@@ -232,7 +232,7 @@ public:
int getPort() const;
std::string getIpAddress() const;
shared_ptr<Instance> sendMarker();
//shared_ptr<Instance> sendMarker();
bool isSerializePending(const Instance* instance) const;
bool isPropertyChangedPending(const RBX::Reflection::ConstProperty& property) const;
+1
View File
@@ -174,6 +174,7 @@ Server::Server(void)
scriptsByCurrentBytecode[""] = 0;
scriptsByLegacyBytecode[""] = 0;
FASTLOG(FLog::Network, "NetworkServer:Create");
}
+7 -7
View File
@@ -2093,22 +2093,22 @@ void CheatHandlingServerReplicator::processSendStats(unsigned int sendStats, uns
doRemoteSysStats(maskedSendStats, HATE_IMPOSSIBLE_ERROR, "impala", "Impossible Error (31)");
if (maskedSendStats && ((maskedSendStats & HATE_IMPOSSIBLE_ERROR) == 0))
{
doRemoteSysStats(maskedSendStats, HATE_CE_ASM, "robert", "WriteCopy changed (30)");
doRemoteSysStats(maskedSendStats, HATE_NEW_AV_CHECK, "moded", "Stealth Edit Revival (29)");
//doRemoteSysStats(maskedSendStats, HATE_CE_ASM, "robert", "WriteCopy changed (30)");
//doRemoteSysStats(maskedSendStats, HATE_NEW_AV_CHECK, "moded", "Stealth Edit Revival (29)");
doRemoteSysStats(maskedSendStats, HATE_HASH_FUNCTION_CHANGED, "booing", "Tried to modify hash function (28)");
doRemoteSysStats(maskedSendStats, HATE_RETURN_CHECK, "bobby", "Function Return Check Failed (27)");
doRemoteSysStats(maskedSendStats, HATE_VERB_SNATCH, "vera", "Tried to get build tools (26)");
doDelayedSysStats(maskedSendStats, HATE_VEH_HOOK, "vegah", "VEH used (25)");
doRemoteSysStats(maskedSendStats, HATE_VEH_HOOK, "vegah", "VEH used (25)"); // this one is still weird for some reason
doRemoteSysStats(maskedSendStats, HATE_HSCE_HASH_CHANGED, "fisher", "HumanoidState::computeEvent changed (24)");
doDelayedSysStats(maskedSendStats, HATE_DLL_INJECTION, "dallas", "DLL Injection (23)");
doRemoteSysStats(maskedSendStats, HATE_DLL_INJECTION, "dallas", "DLL Injection (23)");
doRemoteSysStats(maskedSendStats, HATE_INVALID_ENVIRONMENT, "tomy", "Sandbox or VM detected (22)");
doRemoteSysStats(maskedSendStats, HATE_SPEEDHACK, "usain", "Speedhack. (21)");
doRemoteSysStats(maskedSendStats, HATE_LUA_VM_HOOKED, "carol", "Lua vm hooked (20)");
doRemoteSysStats(maskedSendStats, HATE_OSX_MEMORY_HASH_CHANGED, "steven", "OSX hash changed (19)");
doDelayedSysStats(maskedSendStats, HATE_UNHOOKED_VEH, "larry", "Our VEH hook removed (18)");
doRemoteSysStats(maskedSendStats, HATE_UNHOOKED_VEH, "larry", "Our VEH hook removed (18)");
doRemoteSysStats(maskedSendStats, HATE_CHEATENGINE_NEW, "mal", "Any New CE Method (17)");
doRemoteSysStats(maskedSendStats, HATE_HSCE_EBX, "ebx", " HumanoidState::computeEvent changed ebx (16)");
@@ -2117,7 +2117,7 @@ void CheatHandlingServerReplicator::processSendStats(unsigned int sendStats, uns
doRemoteSysStats(maskedSendStats, HATE_DESTROY_ALL, "bruger", "Speculative Call Check (13)");
doRemoteSysStats(maskedSendStats, HATE_SEH_CHECK, "seth", "SEH chain into dll (12)");
doDelayedSysStats(maskedSendStats, HATE_HOOKED_GTX, "curly", "Hooked API function (11)");
doRemoteSysStats(maskedSendStats, HATE_HOOKED_GTX, "curly", "Hooked API function (11)");
doRemoteSysStats(maskedSendStats, HATE_DEBUGGER, "olivia", "Debugger found (10)");
doRemoteSysStats(maskedSendStats, HATE_LUA_SCRIPT_HASH_CHANGED, "norman", "Lua script hash changed (9)");
doRemoteSysStats(maskedSendStats, HATE_CATCH_EXECUTABLE_ACCESS_VIOLATION, "mallory", "Catch executable acccess violation (8)");
@@ -2128,7 +2128,7 @@ void CheatHandlingServerReplicator::processSendStats(unsigned int sendStats, uns
doRemoteSysStats(maskedSendStats, HATE_ILLEGAL_SCRIPTS, "ivan", "Illegal scripts (4)");
doRemoteSysStats(maskedSendStats, HATE_SIGNATURE, "omar", "Bad signature (3)");
doDelayedSysStats(maskedSendStats, HATE_NEW_HWBP, "moe", "detected HWBP (2)");
doRemoteSysStats(maskedSendStats, HATE_NEW_HWBP, "moe", "detected HWBP (2)");
doRemoteSysStats(maskedSendStats, HATE_XXHASH_BROKEN, "lafayette", "xxhash broken (1)");
doRemoteSysStats(maskedSendStats, HATE_CHEATENGINE_OLD, "murdle", "Cheat Engine Stable Methods (0)");
}