Feedback, Complaints or Problems

Page 29 of 39   •  First Page  •  Previous Page  •   Next Page  •   Last Page
Signup or Login to Post
  ATTENTION: Steam Trainer Users
  • Current rank: 2 Stars. Next Rank at 1000 Posts.
    Send a message to jackbig
    ELITE
    jackbig posted on Jul 09, 2013 7:17:23 PM - Report post
     
    sorry to spoil the fun but borderlands2.exe with trainer alone crashes at F1, with trainer and tool it doesn't crash.
  • Founder
    Send a message to Caliber
    FOUNDER
    Caliber posted on Jul 09, 2013 7:24:37 PM - Report post
     
    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
    Trainer Creator
    www.cheathappens.com
  • Current rank: 1 Star. Next Rank at 100 Posts.
    Send a message to kravmaga
    ELITE
    kravmaga posted on Jul 09, 2013 7:27:06 PM - Report post
     
    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.
  • Current rank: 1 Star. Next Rank at 100 Posts.
    Send a message to gibbed
    ELITE
    gibbed posted on Jul 09, 2013 7:28:12 PM - Report post
     
    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]
  • Founder
    Send a message to Caliber
    FOUNDER
    Caliber posted on Jul 09, 2013 7:30:45 PM - Report post
     
    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]

    Trainer Creator
    www.cheathappens.com
  • Founder
    Send a message to Caliber
    FOUNDER
    Caliber posted on Jul 09, 2013 7:35:43 PM - Report post
     
    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

    Trainer Creator
    www.cheathappens.com
  • Current rank: 2 Stars. Next Rank at 1000 Posts.
    Send a message to jackbig
    ELITE
    jackbig posted on Jul 09, 2013 7:36:23 PM - Report post
     
    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.
  • Current rank: 1 Star. Next Rank at 100 Posts.
    Send a message to gibbed
    ELITE
    gibbed posted on Jul 09, 2013 7:40:01 PM - Report post
     
    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
Signup or Login to Post
All times are (GMT -06:00) Central Time (US & Canada). Current time is 8:33:15 AM