Closed VuBrian22 closed 4 years ago
Can confirm.
### Every cheat is crashing rn because valve changed the offsets.
### Every cheat is crashing rn because valve changed the offsets.
Yeah I know that. I just opened this issue because it acts as a "red flag" for anyone who wants to update the offsets. I could do it myself and make a pull request, however I have 3 exams tomorrow.
No problem bud, i would fix it if i knew how to but i am just a dirty paster.
https://i.imgur.com/1iCNm3q.png DEBUG P.S new offsets are useless from hazedumper as this cheat uses interfaces... You can find the signatures in Memory.cpp
Excuse my ignorance but what is exactly the problem then?
Excuse my ignorance but what is exactly the problem then?
Basically to make it work again, you have to change the signatures in Memory.cpp instead of using the offsets from hazedumper because the cheat uses interfaces. And the dumped offsets will not work with this cheat.
The problem is that VALVE updated client_panorama.dll which in turn broke all the signatures. You either reverse the stuff needed and find the signatures urself or wait for daniel to do it. To find out what you have to update just debug and crash and update the signatures needed. Chances are most of signatures are broken.
Signatures = / = Offsets.
Signatures = More update proof. You basically make a signature out of HEX data. Offsets = Updated on each game update, a pain in the fucking ass. They are basically pointers to the data you need. All that's needed to fuck this offset over is even 1 byte of data introduced in a update. Unless in client_panorama.dll the data is added on the top of the source code and it's recompiled for an update, then there would be no need at all to change the signatures. Most of the time it would be fine as well since the signature may still be working, not always though.
Ah ok i see thanks, i will wait for the homeboy daniel then because i cant use WinHEX for shit.
@danielkrupinski and everyone else in this thread Some good news from this update <3 https://i.imgur.com/PST7Evd.png You know what this means? Basically CS:GO devs made us a free grenade trajectory LUL. Cast a nullptr to that biiih, free grenade trajectory LULw. EASY!
Oh so no math needed anymore?, sick
@danielkrupinski and everyone else in this thread Some good news from this update <3 https://i.imgur.com/PST7Evd.png You know what this means? Basically CS:GO devs made us a free grenade trajectory LUL. Cast a nullptr to that biiih, free grenade trajectory LULw. EASY!
OML Here comes the opportunity to exploit the feature. Lmao.
Best part is that this shit can be done in like 2 lines total minus the void statement and the if config statement LULw
Another ignorant comment here, would it be able to set this variable to true using FindVar and set Value?
@LuanGraa https://i.imgur.com/z353Uya.png see last 3 lines for example.
Ah ok thanks for the info
So much offtop and nobody post a fix...
+++ b/Osiris/SDK/Entity.h
@@ -103,7 +103,7 @@ public:
constexpr Vector getEyePosition() noexcept
{
Vector vec{ };
- callVirtualMethod<void, Vector&>(this, 281, vec);
+ callVirtualMethod<void, Vector&>(this, 282, vec);
return vec;
}
@@ -142,7 +142,7 @@ public:
constexpr bool isWeapon() noexcept
{
- return callVirtualMethod<bool>(this, 163);
+ return callVirtualMethod<bool>(this, 164);
}
constexpr ClientClass* getClientClass() noexcept
@@ -152,32 +152,32 @@ public:
constexpr bool isAlive() noexcept
{
- return callVirtualMethod<bool>(this, 153) && health() > 0;
+ return callVirtualMethod<bool>(this, 154) && health() > 0;
}
constexpr bool isPlayer() noexcept
{
- return callVirtualMethod<bool>(this, 155);
+ return callVirtualMethod<bool>(this, 156);
}
constexpr Entity* getActiveWeapon() noexcept
{
- return callVirtualMethod<Entity*>(this, 265);
+ return callVirtualMethod<Entity*>(this, 266);
}
constexpr int getWeaponSubType() noexcept
{
- return callVirtualMethod<int>(this, 277);
+ return callVirtualMethod<int>(this, 278);
}
constexpr WeaponData* getWeaponData() noexcept
{
- return callVirtualMethod<WeaponData*>(this, 454);
+ return callVirtualMethod<WeaponData*>(this, 455);
}
constexpr float getInaccuracy() noexcept
{
- return callVirtualMethod<float>(this, 476);
+ return callVirtualMethod<float>(this, 477);
}
VarMap* getVarMap() noexcept
@@ -215,7 +215,7 @@ public:
constexpr Entity* getObserverTarget() noexcept
{
- return callVirtualMethod<Entity*>(this, 291);
+ return callVirtualMethod<Entity*>(this, 292);
}
bool isInReload() noexcept
@mdilai thx for fix, mind explaining how you figured out?
share some knowledge lul
thanks dude real good shit.
@mdilai thx for fix, mind explaining how you figured out?
share some knowledge lul
I went on https://www.unknowncheats.me/forum/counterstrike-global-offensive/103220-counterstrike-global-offensive-reversal-structs-offsets.html and read the last two pages where found most of new offsets. Quickly figured that offsets just incremented by 1 so I've incremented all offsets except of getAbsOrigin()
and setModelIndex()
coz backtrack and skinchanger looks still working and i made assumption that some new function (which shifted all other functions right) probably added after "setModelIndex()"
@mdilai thx for fix, mind explaining how you figured out? share some knowledge lul
I went on https://www.unknowncheats.me/forum/counterstrike-global-offensive/103220-counterstrike-global-offensive-reversal-structs-offsets.html and read the last two pages where found most of new offsets. Quickly figured that offsets just incremented by 1 so I've incremented all offsets except of
getAbsOrigin()
andsetModelIndex()
coz backtrack and skinchanger looks still working and i made assumption that some new function (which shifted all other functions right) probably added after "setModelIndex()"
To make things easier, would you mind making a pull request after you test it?
shieeeet just got vac authentication error.
shieeeet just got vac authentication error.
Oops, sorry dude if this is my fault. Are you used skinchanger? If yes, probably setModelIndex() is incremented too because it is the only function which change something, rest are just read values from client.
Update: nope, just checked, increment of setModelIndex() offset crash the game, so it's definitely not changed.
Update 2: just a vac authentication error? Ooh, you scared me :). It's not an error at all, just restart your PC
@danielkrupinski
Nah it was my fucking injector, sorry to worry you guys the cheat is probably fine
This works now lol!
VTable Index vs Offsets who will ever win this fight in this Issue Thread. Guys this is so funny that no one knows what all are talking about. Just learn coding before posting bullshit here. Many in this thread don't even know what an offset is and copy & paste things from hazedump... Guys please try to learn about Offsets and look into the solution what is VTable Index. So you have two phrases where you can start digging and learn. Offsets and VTable Index search for it you will get illumniated fast!
VTable Index vs Offsets who will ever win this fight in this Issue Thread. Guys this is so funny that no one knows what all are talking about. Just learn coding before posting bullshit here. Many in this thread don't even know what an offset is and copy & paste things from hazedump... Guys please try to learn about Offsets and look into the solution what is VTable Index. So you have two phrases where you can start digging and learn. Offsets and VTable Index search for it you will get illumniated fast!
That is what Github is for. This is a learning experience for all of us. We learn together.
So much offtop and nobody post a fix...
+++ b/Osiris/SDK/Entity.h @@ -103,7 +103,7 @@ public: constexpr Vector getEyePosition() noexcept { Vector vec{ }; - callVirtualMethod<void, Vector&>(this, 281, vec); + callVirtualMethod<void, Vector&>(this, 282, vec); return vec; } @@ -142,7 +142,7 @@ public: constexpr bool isWeapon() noexcept { - return callVirtualMethod<bool>(this, 163); + return callVirtualMethod<bool>(this, 164); } constexpr ClientClass* getClientClass() noexcept @@ -152,32 +152,32 @@ public: constexpr bool isAlive() noexcept { - return callVirtualMethod<bool>(this, 153) && health() > 0; + return callVirtualMethod<bool>(this, 154) && health() > 0; } constexpr bool isPlayer() noexcept { - return callVirtualMethod<bool>(this, 155); + return callVirtualMethod<bool>(this, 156); } constexpr Entity* getActiveWeapon() noexcept { - return callVirtualMethod<Entity*>(this, 265); + return callVirtualMethod<Entity*>(this, 266); } constexpr int getWeaponSubType() noexcept { - return callVirtualMethod<int>(this, 277); + return callVirtualMethod<int>(this, 278); } constexpr WeaponData* getWeaponData() noexcept { - return callVirtualMethod<WeaponData*>(this, 454); + return callVirtualMethod<WeaponData*>(this, 455); } constexpr float getInaccuracy() noexcept { - return callVirtualMethod<float>(this, 476); + return callVirtualMethod<float>(this, 477); } VarMap* getVarMap() noexcept @@ -215,7 +215,7 @@ public: constexpr Entity* getObserverTarget() noexcept { - return callVirtualMethod<Entity*>(this, 291); + return callVirtualMethod<Entity*>(this, 292); } bool isInReload() noexcept
how i can edit the dll for fix it?
@wolff20000 edit this file Osiris/SDK/Entity.h and recompile! Or just wait for a pull request. I use signatures to find the vTable Indexes. I have an Ida Pro script to get the vtables from csgo. So its working since 2006, so nothing changed much in Source Engine...
hmm idk why its crashing here
🤔
@effex1337 why are you changing hooks.cpp? And the code couldn't compile because you just put all the code you had screenshot ed in C++ comments?
OMG!
i commented it cause it crashed there
my osiris src has 2x more stuff
why are you changing hooks.cpp?
cause it crashed there?, cause added new hooks?
and i already fixed
Who the hell is wolf2000 and why my poorly pasted solution from https://github.com/danielkrupinski/Osiris/issues/542#issuecomment-533390664 credited to him?
I don’t know why too, maybe they quote wrong, they gonna fix it.
No problem, dude. I just spent few hours this night to figure this out and share it with community, so get a bit frustrated when I saw that my work was appropriated. By the way, i've played about 6 hours after fix and did not get any crash at all, so i really doubt that we need to change any signature in Memory.cpp. And hazedumper completely useless in this case, it dumps pointer offsets but we need vtable indexes for Osiris (and generally it mostly for external cheats). So opening post is absolutely incorrect.
How do i solve this problem? I dont know how to compile stuff or something Nd do i have to wait? And for how long?
Hopefully this gets fixed soon.....PS for anyone who wants to update it and make a pull request, you can find the new offsets here: https://github.com/frk1/hazedumper/ EDIT: The new offsets do not work. You have to change the signature in Memory.cpp. Credit to deprae and wolf2000.
wolf2000: (FIX)
+++ b/Osiris/SDK/Entity.h @@ -103,7 +103,7 @@ public: constexpr Vector getEyePosition() noexcept { Vector vec{ };
@@ -142,7 +142,7 @@ public:
return callVirtualMethod(this, 164);
}
constexpr ClientClass* getClientClass() noexcept @@ -152,32 +152,32 @@ public:
constexpr bool isAlive() noexcept {
return callVirtualMethod(this, 154) && health() > 0;
}
constexpr bool isPlayer() noexcept {
return callVirtualMethod(this, 156);
}
constexpr Entity* getActiveWeapon() noexcept {
return callVirtualMethod<Entity*>(this, 266); }
constexpr int getWeaponSubType() noexcept {
return callVirtualMethod(this, 278);
}
constexpr WeaponData* getWeaponData() noexcept {
return callVirtualMethod<WeaponData*>(this, 455); }
constexpr float getInaccuracy() noexcept {
return callVirtualMethod(this, 477);
}
VarMap* getVarMap() noexcept @@ -215,7 +215,7 @@ public:
constexpr Entity* getObserverTarget() noexcept {
return callVirtualMethod<Entity*>(this, 292); }
bool isInReload() noexcept
deprae:
"The problem is that VALVE updated client_panorama.dll which in turn broke all the signatures. You either reverse the stuff needed and find the signatures urself or wait for daniel to do it. To find out what you have to update just debug and crash and update the signatures needed. Chances are most of signatures are broken.
Signatures = / = Offsets.
Signatures = More update proof. You basically make a signature out of HEX data. Offsets = Updated on each game update, a pain in the fucking ass."