Da ich einfach nur heulen könnte wenn ich diese dreckigen ASM & c++ snippets sehe, poste ich hier mal hier den C++ Code des packets aus meinem privaten Projekt.
Wer logisch nachdenkt, könnte jetzt 1&1 zusammenfügen und noch z.b. so etwas in der Funktion hinten dranhängen:
Credits:
Decrypted
(Ant) = Jeder ITC hat eig. etwas mit ihm zu tuen durch sein damaliges CE Script was gepostet wurde.
Code:
void __cdecl CS4::S4_OnInventoryPacket(uint32_t i_iInventoryPacket, uint32_t i_iInventoryPointer)
{
bool(__thiscall *getItemAmountOfInventoryPacket)(uint32_t i_iEcx, uint32_t &i_pBindedValue, uint32_t i_pSize) = (bool( __thiscall *)(uint32_t, uint32_t&, uint32_t)) /*Srsly?*/;
void(__cdecl *extractItemfromPacket)(uint32_t i_iPacket, void* i_pBuffer) = (void(__cdecl *)(uint32_t, void*)) /*Srsly?*/;
void(__thiscall *insertItemfromBuffer)(uint32_t i_pInventory, void* i_pBuffer) = (void(__thiscall *)(uint32_t, void*)) /*Srsly?*/;
uint32_t a_iItemAmount = 0;
printf("ITC -> Inventory call : 0x%x 0x%x\n", i_iInventoryPacket, i_iInventoryPointer);
printf("\t<Normal>\n");
{
SItem a_oTempItem;
ZeroMemory(&a_oTempItem, sizeof(a_oTempItem));
bool a_fIsInventoryValid = getItemAmountOfInventoryPacket(i_iInventoryPacket, a_iItemAmount, sizeof(a_iItemAmount));
if (!a_fIsInventoryValid)
{
return;
}
printf("\t -> Received %i Items\n", a_iItemAmount);
for (uint32_t i = 0; i < a_iItemAmount; i++)
{
extractItemfromPacket(i_iInventoryPacket, &a_oTempItem);
insertItemfromBuffer(i_iInventoryPointer, &a_oTempItem);
}
}
}
Code:
printf("\t<Hacked>\n");
{
insertItemfromBuffer(i_iInventoryPointer, /*Srsly?*/);
}
Credits:
Decrypted
(Ant) = Jeder ITC hat eig. etwas mit ihm zu tuen durch sein damaliges CE Script was gepostet wurde.
Selber Gedanke.Quote:
Wenn man sich mal die Sources von manchen Leuten an sieht, egal ob AutoIT oder C++, sehe ich pure Vergewaltigung, das tut mir schon im Herzen weh.