LOGIN  .  SIGNUP   .  REWARDS   .  PRIZE WHEEL   .  RC STORE   .  SUPPORT 
HOME / MESSAGE BOARDS / FEEDBACK, COMPLAINTS OR PROBLEMS

Feedback, Complaints or Problems

Signup   Message Boards Home   Newest Posts   My Favorite Boards   My Threads
Page 29 of 39   •  First Page  •  Previous Page  •   Next Page  •   Last Page
Signup or Login to Post
Locked Topic  ATTENTION: Steam Trainer Users
 
jackbig  posted on Jul 09, 2013 7:17:23 PM - Report post

Premium Plus
Send a message to jackbig
ELITE
sorry to spoil the fun but borderlands2.exe with trainer alone crashes at F1, with trainer and tool it doesn't crash.
 
Caliber  posted on Jul 09, 2013 7:24:37 PM - Report post

Founder
Send a message to Caliber
FOUNDER
close your game and let steam sit for a bit.

an update request will occur...

also they may be needing to fix more..

I feel that within 24 hours likely this will all be back to normal from steam and you won't need any tools to use trainers with steam games at that point..

best,
Cal

 
kravmaga  posted on Jul 09, 2013 7:27:06 PM - Report post

Current rank: 1 Star. Next Rank at 100 Posts.
Send a message to kravmaga
ELITE
It really sounded like they reconsidered only because they got caught and are just saving face.

Steam only allowing a few dlls like punkbuster to load and crashing everything else sounds like an effect that's hard to make happen by accident. That said, I'm glad the steam thread made them think twice.

Crisis averted.

 
gibbed  posted on Jul 09, 2013 7:28:12 PM - Report post

Current rank: 1 Star. Next Rank at 100 Posts.
Send a message to gibbed
ELITE
Okay, I need to retract my earlier suggestion, and explain what the crash is being caused by. It's a legitimate bug in GameOverlayRenderer and nothing to do with anti-cheat.

Whenever LoadLibraryA is called, GameOverlayRenderer does something like this:

HMODULE WINAPI LoadLibraryAHook(LPCSTR lpFileName)
{
if (strlen( lpFileName ) <= 9 || stricmp( &lpFileName[lengthOfSteamDLL - 10], "steam.dll" ))
{
...

lengthOfSteamDLL is 9. See the bug?

Hint: Spoiler:

stricmp(&lpFileName[9-10], "steam.dll" )

Temporary solution for Caliber/etc: When you allocate the space for the library name, allocate an extra byte, write the path to your DLL at allocated_memory+1, and pass that address to your RemoteLoadLibraryA (or whatever).


Had to make the code look a little funny due to emoticons.

[Edited by gibbed, 7/9/2013 7:34:18 PM]

 
Caliber  posted on Jul 09, 2013 7:30:45 PM - Report post

Founder
Send a message to Caliber
FOUNDER
quote:
originally posted by gibbed

I'm not saying you're wrong, just that it's not what you seem to think it is. GameOverlayRenderer.dll hooks LoadLibraryA in a process so it can monitor when D3D/OGL get loaded (has done this for a long time!), the PB stuff is for compatibility (if PB is loaded, it sets a special flag). SetLastError is so it can restore the error code that the real LoadLibraryA set. This appears to be a genuine crash in GameOverlayRenderer, as I said, because it's passing off an invalid pointer to stricmp.

I speak as someone who has previously RE'd GameOverlayRenderer to debug a crash due to race condition with nVidia drivers and OpenGameBroadcaster, I don't see anything outwardly strange here.

[Edited by gibbed, 7/9/2013 6:39:05 PM]

this assessment may be the closest to the cause of the issue. No idea what the actual valve coding error is/was, but it seemed to not like trainers, memory searchers, or just about ANY .dll being injected into the game process..

thanks again gibbed..

btw, similar technique is used by multiplayer trainers to use d3d to do their dirty work.

I was not aware that software routinely hooks system api's. keep in mind that our trainers (ironically) we try desperately not to manipulate anything other than the game code, and will avoid that too if possible.

we won't be messing around with any steam .dll's. our solution was to remove the hook to the kernel32.dll api that steam created to begin with. likely this won't be necessary as valve themselves acknowledged a bug with unintended consequences and this will be fixed by steam soon.

best,
Cal

[Edited by Caliber, 7/9/2013 7:32:17 PM]

 
Caliber  posted on Jul 09, 2013 7:35:43 PM - Report post

Founder
Send a message to Caliber
FOUNDER
quote:
originally posted by gibbed

Okay, I need to retract my earlier suggestion, and explain what the crash is being caused by. It's a legitimate bug in GameOverlayRenderer and nothing to do with anti-cheat.

Whenever LoadLibraryA is called, GameOverlayRenderer does something like this:

HMODULE WINAPI LoadLibraryAHook(LPCSTR lpFileName)
{
if (strlen( lpFileName ) <= 9 || stricmp( &lpFileName[lengthOfSteamDLL - 10], "steam.dll" ))
{
...

lengthOfSteamDLL is 9. See the bug?

Hint: Spoiler:

stricmp(&lpFileName[9-10], "steam.dll" )

Temporary solution for Caliber/etc: When you allocate the space for the library name, allocate an extra byte, write the path to your DLL at allocated_memory+1, and pass that address to your RemoteLoadLibraryA (or whatever).


Had to make the code look a little funny due to emoticons.

[Edited by gibbed, 7/9/2013 7:34:18 PM]

we allocate extra byte already..

Size = Len(DllFileName$)+1


derp!

best,
Cal

 
jackbig  posted on Jul 09, 2013 7:36:23 PM - Report post

Premium Plus
Send a message to jackbig
ELITE
last reaction from steam

philipla Just now

The function detouring that you’re seeing here is how the Steam overlay is implemented. The system calls are detoured in memory to modify functionality only for games launched through Steam, and the underlying Windows binaries on disk are never modified. The overlay has been implemented this way for years.

 
gibbed  posted on Jul 09, 2013 7:40:01 PM - Report post

Current rank: 1 Star. Next Rank at 100 Posts.
Send a message to gibbed
ELITE
quote:
originally posted by Caliber

quote:
originally posted by gibbed

Okay, I need to retract my earlier suggestion, and explain what the crash is being caused by. It's a legitimate bug in GameOverlayRenderer and nothing to do with anti-cheat.

Whenever LoadLibraryA is called, GameOverlayRenderer does something like this:

HMODULE WINAPI LoadLibraryAHook(LPCSTR lpFileName)
{
if (strlen( lpFileName ) <= 9 || stricmp( &lpFileName[lengthOfSteamDLL - 10], "steam.dll" ))
{
...

lengthOfSteamDLL is 9. See the bug?

Hint: Spoiler:

stricmp(&lpFileName[9-10], "steam.dll" )

Temporary solution for Caliber/etc: When you allocate the space for the library name, allocate an extra byte, write the path to your DLL at allocated_memory+1, and pass that address to your RemoteLoadLibraryA (or whatever).


Had to make the code look a little funny due to emoticons.

[Edited by gibbed, 7/9/2013 7:34:18 PM]

we allocate extra byte already..

Size = Len(DllFileName$)+1


derp!

best,
Cal

That looks like an extra byte for the trailing NULL in the string? What I was suggesting was adding an extra byte on top of that and writing your path and then passing allocated_memory+1 rather than allocated_memory+0 to your RemoteLoadLibraryA(). The crash occurs because it tries to pass &DllFileName[-1] to stricmp, which is not always a valid memory address.

Likely this bug will be fixed in the next Steam update that pushes a new GameOverlayRenderer build, so you can probably just bide your time and ignore this problem until it is.

[Edited by gibbed, 7/9/2013 7:41:00 PM]

Page 29 of 39   •  First Page  •  Previous Page  •   Next Page  •   Last Page
  Post Reply
Go to page: 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39 
All times are (GMT -06:00) Central Time (US & Canada). Current time is 5:15:45 PM
Cheat Happens Premium
 
* Access PC trainers and exclusive content
* Updated game trainers and cheats daily
* Get notified when new cheats are added
* Request which games get new trainers
* Priority support with any problem
Message Board Moderators
Neo7
Neo7
Latiosmaster47Latiosm.
forty-twoforty-two
TaurusploppTaurusplopp
dstatesdstates
Important Board Topics
Trending Topics
Survey