here is the Source:
Hello, i want to realese my serverside medal changer.
This works by blocking k_EMsgGCCStrike15_v2_SetMyMedalsInfo by nethook2, and setting it by steamkit2.
How does it works?
When cs:go starts, its recives items from inventory servers, and after that sends "k_EMsgGCCStrike15_v2_SetMyMedalsInfo" with medals, there is no check at MM servers, and its accept any medals.
NetHook2 can change messages before encrypting and sending (CCrypto::SymmetricEncryptChosenIV).
Code:
EMsg eMsg = (EMsg)*(uint16*)pubPlaintextData;
eMsg = (EMsg)((int)eMsg & (~0x80000000));
if (eMsg == 5452)
{
byte offset = 52;
byte buffermemory[] = { 0x00 };
ReadProcessMemory(GetCurrentProcess(), (void*)(pubPlaintextData + offset), buffermemory, sizeof buffermemory, 0);
byte bufferpattern[] = { 0x28 };
if (bufferpattern[0] == buffermemory[0])
{
ofstream myfile;
myfile.open("nethookstatus.txt");
myfile << "call\n";
myfile.close();
CLogger* pidarware = new CLogger;
pidarware->LogConsole("SetMyMedalsInfo\n");
memset((void*)pubPlaintextData, '\0', (cubPlaintextData*4));
}
}
This code kills packet which sends real medals to MM server.
After that u just log on by steamkit2 and kick from session, after sends medals to MM server.
Code:
var kickSession = new ClientMsgProtobuf<CMsgClientKickPlayingSession>(EM sg.ClientKickPlayingSession);
kickSession.Body.only_stop_game = false;
SteamClient.Send(kickSession);
var ClientToGC = new ClientGCMsgProtobuf<PlayerMedalsInfo>((uint)ECsgoG CMsg.k_EMsgGCCStrike15_v2_SetMyMedalsInfo);
ClientToGC.Body.medal_global = 3;
ClientToGC.Body.medal_arms = 3;
ClientToGC.Body.medal_combat = 3;
ClientToGC.Body.medal_weapon = 3;
ClientToGC.Body.medal_team = 3;
ClientToGC.Body.featured_display_item_defidx = 941;
string[] medals = null;
try
{
medals = File.ReadAllLines("medals.txt");
}
catch(Exception)
{
File.WriteAllText("medals.txt", "941");
medals = File.ReadAllLines("medals.txt");
}
for (int i = 0; i < medals.Count(); i++)
{
ClientToGC.Body.display_items_defidx.Add(Convert.T oUInt16(medals[i]));
}
SteamGameCoordinator.Send(ClientToGC, 730);
And MM server accept medals and everyone except you see them, thats how tool works.
U can put medals which u want in medals.txt (
).
Credits to: TedRedPhox, Sam Rod and german forums ofc, where else are best hackers, right?
This works by blocking k_EMsgGCCStrike15_v2_SetMyMedalsInfo by nethook2, and setting it by steamkit2.
How does it works?
When cs:go starts, its recives items from inventory servers, and after that sends "k_EMsgGCCStrike15_v2_SetMyMedalsInfo" with medals, there is no check at MM servers, and its accept any medals.
NetHook2 can change messages before encrypting and sending (CCrypto::SymmetricEncryptChosenIV).
Code:
EMsg eMsg = (EMsg)*(uint16*)pubPlaintextData;
eMsg = (EMsg)((int)eMsg & (~0x80000000));
if (eMsg == 5452)
{
byte offset = 52;
byte buffermemory[] = { 0x00 };
ReadProcessMemory(GetCurrentProcess(), (void*)(pubPlaintextData + offset), buffermemory, sizeof buffermemory, 0);
byte bufferpattern[] = { 0x28 };
if (bufferpattern[0] == buffermemory[0])
{
ofstream myfile;
myfile.open("nethookstatus.txt");
myfile << "call\n";
myfile.close();
CLogger* pidarware = new CLogger;
pidarware->LogConsole("SetMyMedalsInfo\n");
memset((void*)pubPlaintextData, '\0', (cubPlaintextData*4));
}
}
This code kills packet which sends real medals to MM server.
After that u just log on by steamkit2 and kick from session, after sends medals to MM server.
Code:
var kickSession = new ClientMsgProtobuf<CMsgClientKickPlayingSession>(EM sg.ClientKickPlayingSession);
kickSession.Body.only_stop_game = false;
SteamClient.Send(kickSession);
var ClientToGC = new ClientGCMsgProtobuf<PlayerMedalsInfo>((uint)ECsgoG CMsg.k_EMsgGCCStrike15_v2_SetMyMedalsInfo);
ClientToGC.Body.medal_global = 3;
ClientToGC.Body.medal_arms = 3;
ClientToGC.Body.medal_combat = 3;
ClientToGC.Body.medal_weapon = 3;
ClientToGC.Body.medal_team = 3;
ClientToGC.Body.featured_display_item_defidx = 941;
string[] medals = null;
try
{
medals = File.ReadAllLines("medals.txt");
}
catch(Exception)
{
File.WriteAllText("medals.txt", "941");
medals = File.ReadAllLines("medals.txt");
}
for (int i = 0; i < medals.Count(); i++)
{
ClientToGC.Body.display_items_defidx.Add(Convert.T oUInt16(medals[i]));
}
SteamGameCoordinator.Send(ClientToGC, 730);
And MM server accept medals and everyone except you see them, thats how tool works.
U can put medals which u want in medals.txt (
).Credits to: TedRedPhox, Sam Rod and german forums ofc, where else are best hackers, right?
Send me a PM with your Price
#push
rdy to pay good money for it






