CS.RIN.RU - Steam Underground Community
http://cs.rin.ru/forum/

[Release] MiSteam Steam Subscription Patch v0.6.6 Alpha [27-MAR-2009]
http://cs.rin.ru/forum/viewtopic.php?f=15&t=51439
Page 5 of 10

Author:  Mitsukarina [ Wednesday, 18 Feb 2009, 17:36 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.3.1 Alpha [12-FEB-2009]

Steaming_Noob wrote:
@ Mitsukarina

I just can't get MiSteam to work with Roboblitz. In my last attempt I kept only one subscription in the list (Roboblitz [204]) I removed the Steam[0] sub
So, in my list I could see my games, Roboblitz was at "100% Ready" and all the rest games I have were "Preload Complete". I launched Roboblitz and it started in demo mode !

Could you take a look at it plz ? Roboblitz is a 350mb download through cracked Steam. (The first time it runs it does some preparation stuff,shader precaching and sacrifices a goat to Baal)


I replied to you in SteamUP! thread, but i've copied that here as I don't want to hijack shmelle's thread! I already have Roboblitz *but* maybe I have a version with cracked exe - though it launched through steam ok - not sure now! I'll try again tonight with 0.3.1 and new dev version (see below) and make sure!

From SteamUp! thread:

Steaming_Noob wrote:
shmelle
Then why does it work with Misteam (for mitsukarina, not me)
Also, other games have launchers (?)


My latest dev version of MiSteam has been recoded to work with windows hooks, it no longer injects by CreateRemoteThread and forcing loadlibrary in all processes. This way I can now hook the API even if the dll is not loaded via loadlibrary, and only when required. Also, I no longer need to monitor CreateProcess and have my own LaunchApp functions, so just the subscription functions need to be handled. This should allow it (in theory) to run most things like this with no problem.

I may release this at some point, but I was part way through improving the UI and run out of spare time again! :mad:

Author:  revCrew [ Wednesday, 18 Feb 2009, 17:47 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.3.1 Alpha [12-FEB-2009]

Mitsukarina wrote:

My latest dev version of MiSteam has been recoded to work with windows hooks, it no longer injects by CreateRemoteThread and forcing loadlibrary in all processes. This way I can now hook the API even if the dll is not loaded via loadlibrary, and only when required. Also, I no longer need to monitor CreateProcess and have my own LaunchApp functions, so just the subscription functions need to be handled. This should allow it (in theory) to run most things like this with no problem.

I may release this at some point, but I was part way through improving the UI and run out of spare time again! :mad:


Wow how handy. So wait, how do you patch SteamIsAppSubscribed then? Wait for LoadLibrary, check if it's Steam.dll, then what?

Author:  emiderg [ Wednesday, 18 Feb 2009, 18:27 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.3.1 Alpha [12-FEB-2009]

shmelle wrote:
About those 3rd party games, unfortunately there is no way of making ALL of them to work. At least not an easy way. All of them launch differently, the catch is to patch them AS SOON as they load Steam.dll, without using LoadLibraryA (because LoadLibraryA will break some games). I even succeeded in breaking HL2 by using the very fast code which calls LoadLibraryA("Steam.dll"). Some games are just too fast, some assume "steam.dll" is not loaded and loading it causes them to crash etc.....

I in my loader use this: start steam with SUSPENDED>inject>revloader loads steam.dll or for steam.exe it loads steamui.dll>patch steam.dll>resume thread in uninjector
Well when i saw the upper quoted comment, i realized that this way fails sometimes(because of too fast loading of steam.dll).

shmelle wrote:
/EDIT Yeah I see you are resuming the thread after your MiSteam.dll DllMain returns. Instead, try CreateProcess with NULL dwCreationFlags, Sleep, PauseThread, CreateRemoteThread, WaitForSingleObject, VirtualFree, ResumeThread

The way that Mitsu used was like in uninjector and misteam.exe
  1. MiSteamLaunchApp
  2. {
  3.    ...
  4.    Createprocess(Suspended);
  5.    inject. wait injection to finish (wait single object)
  6.    Resume Main thread
  7. }

And probably because the game process was paused, steam was showing that message.

The "slower" code that shmelle suggested it its not foolproof. it might solve somewhere the fast loading , but it will brake elsewhere, where the game itself will load steam.dll too fast and it calls the funcs before the get patched.

Then i thought a little about this and came to this:
shmelle wrote:
Wow how handy. So wait, how do you patch SteamIsAppSubscribed then? Wait for LoadLibrary, check if it's Steam.dll, then what?

shemelle came to that faster, but leme fully explain my thoughts.
crete process with suspended flag, inject, in dllmain Hook LoadLibrary. Hooked loadlibrary is called, check if string is "steam.dll" (case insensitive ofc). if it is call original LoadLibrary, call patching, return, else just return LoadLibrary(dllstring).

So how really the "recursive" memory patching works now? (this pathing of all child processes (child of steam.exe in this case), i call it "recursive" injection and patching).

Author:  Mitsukarina [ Wednesday, 18 Feb 2009, 18:43 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.3.1 Alpha [12-FEB-2009]

The new MiSteam works something like this:

Windows hook handles IAT replacement in loaded modules very cleanly. But as shmelle says, you also need to catch programs that circumvent IAT altogether.

To do this I am currently also hooking LoadLibrary (All of them!) to monitor module load and GetProcAddress (to return pointer to my functions when required in the windows hook)

Need some further testing on timings, and also I don't have much steam content to work with anymore and it seems to take a lifetime to download from RapidShare links :mad:

Oh, and I broke MiSteam UI atm with new features and it takes forever to code C++ UI! :o :mad:

Author:  Steaming_Noob [ Wednesday, 18 Feb 2009, 19:20 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.3.1 Alpha [12-FEB-2009]

Mitsukarina
So your test with Roboblitz isn't reliable ?

Check the CRC32 of the files :
RoboLaunch.exe 8F4B660A
RoboGame.exe F2F76774
And make sure there is no steam.dll or steamclient.dll in the game's folder !!

It's downloadable through steam, so you can correct/resume download with CF Toolbox to make sure
(but next time it will do the initialization all over again, pff)

P.S.: So you're using the standard SetWindowsHookEx + dll , right ?

Author:  Mitsukarina [ Wednesday, 18 Feb 2009, 19:52 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.3.1 Alpha [12-FEB-2009]

Steaming_Noob wrote:
Mitsukarina
So your test with Roboblitz isn't reliable ?


Yes, confirmed - I'm an Ass, my test was as useful as a chocolate fireguard :razz:

Steaming_Noob wrote:
P.S.: So you're using the standard SetWindowsHookEx + dll , right ?


Yes.

Author:  Mitsukarina [ Sunday, 22 Feb 2009, 12:53 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

MiSteam 0.5 Alpha released

MiSteam is now a .NET assembly using Divitons subscription patching method.
All credit goes to Diviton for providing the source code - I only added a simpler more user friendly GUI and have (hopefully made it compatiible with all x86 / x64 OS)

This version no longer needs to patch any steam binaries and should be used with a standard uncracked steam installation, please read the first post in full again as useage has changed.

THIS RELEASE IS FOR DEVELOPER AND CONTENT UPLOADER TESTING PURPOSES ONLY

Any suggestions, comments or reports of non working steam content is welcome.

Author:  Steaming_Noob [ Sunday, 22 Feb 2009, 13:41 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

OK,this method works with Roboblitz. :geek:

How can I revert the changes without logging in a different account ? Delete some .blob file ?
Maybe you should add a button to revert to normal.

Author:  Mitsukarina [ Sunday, 22 Feb 2009, 13:48 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

Steaming_Noob wrote:
OK,this method works with Roboblitz. :geek:

How can I revert the changes without logging in a different account ? Delete some .blob file ?
Maybe you should add a button to revert to normal.


For now, just changing them back in MiSteam is the quickest way (select the ones you don't want anymore and click <<.

There are a lot of features I can think of that would be quite useful, let's make a list here of feature requests and we can develop a final version with the bells and whistles.

Author:  emiderg [ Sunday, 22 Feb 2009, 15:34 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

Looks pretty good, works good too. On vista 32. (Since its .net i don't think you should worry about the multi-platform of the program). And nice seeing you obfuscated the assembly.
Can you explain us the concept more with more details. So what is modified:
ClientRegistry.blob is, but what in it. The CDR, some other keys?
Any other file? (from what i saw only ClientRegistry.blob is modified, seeing Date Modified)

My suggestion for the program is add Apply button. It will be faster ofc. ATM at every adding or removing subscription, the blob file is modified.
And always when i add and when i remove the highlighted (selected) entry in Selected subscription moves to the first entry. so i need to reselect subscription again and click remove. Better is the highlight to go one up or one down when i remove something.

Author:  PeJpepiG [ Sunday, 22 Feb 2009, 16:19 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

Mitsukarina
After Steaming_Noob and emiderg reporting it is working fine I feel somehow stupid as I can't get it to work.
I started MiSteam and chose Half-Life as a subscription, closed MiSteam and started Steam (fresh installation).
I logged into my account and Steam tells me "Pre-load complete".
So I closed Steam and started MiSteam again to recognize Half-Life subscription isn't selected anymore.
That happns with every subscription I choose.
I tested this on Windows Server 2008 x64 and Windows Server 2008 R2 x64 Beta.
Don't know what I did wrong...

Author:  Steaming_Noob [ Sunday, 22 Feb 2009, 16:24 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

PeJpepiG
Is the ClientRegistry.blob even modified ?

Author:  PeJpepiG [ Sunday, 22 Feb 2009, 16:38 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

Steaming_Noob
Yes, was the first thing I checked.

Author:  Mitsukarina [ Sunday, 22 Feb 2009, 17:05 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

Thanks for the suggestions, all sensible and doable :wink:

emiderg wrote:
Looks pretty good, works good too. On vista 32. (Since its .net i don't think you should worry about the multi-platform of the program). And nice seeing you obfuscated the assembly.
Can you explain us the concept more with more details. So what is modified:
ClientRegistry.blob is, but what in it. The CDR, some other keys?
Any other file? (from what i saw only ClientRegistry.blob is modified, seeing Date Modified)


I obfuscated the assembly because it wasn't really my code to share, most is Divitons.
It is retrieving altering and saving the encrypted user AccountRecordData, the only changes are within the blob. There also exists a method provided by Diviton for doing the changes in the windows registry - but this relies on steam being off-line, so is less useable and disabled in this release.

Although .NET makes it easier to run cross platform, Steams encryption differs across them due to some peculiarities.

PeJpepiG wrote:
Mitsukarina
After Steaming_Noob and emiderg reporting it is working fine I feel somehow stupid as I can't get it to work.
I started MiSteam and chose Half-Life as a subscription, closed MiSteam and started Steam (fresh installation).
I logged into my account and Steam tells me "Pre-load complete".
So I closed Steam and started MiSteam again to recognize Half-Life subscription isn't selected anymore.
That happns with every subscription I choose.
I tested this on Windows Server 2008 x64 and Windows Server 2008 R2 x64 Beta.
Don't know what I did wrong...


Can't have my star tester not working now can I? :D

There is a difference when encrypting / decrypting steam data on x86 and x64 bit systems (thanks largely to Microsoft :roll: ) as such I took much care to test on Vista x64, Windows 7 x64 and even installed XP x86 to check it worked on x86 systems.

I guess Windows Server 2008 is different again!

I'll work with you via PM to sort this out, I would imagine there aren't many people using that OS!

Author:  Steaming_Noob [ Sunday, 22 Feb 2009, 17:20 ]
Post subject:  Re: MiSteam Steam Subscription Patch v0.5 Alpha [22-FEB-2009]

Errm, what's with all the encrypting and decrypting ?

Page 5 of 10 All times are UTC + 3 hours
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/