PHP Forum - Coding Board
November 23, 2017, 12:17:01 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1] 2
  Drucken  
Autor Thema: Steam Decrypten?  (Gelesen 345 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« am: März 25, 2009, 12:13:17 »

Wie kann ich die Steam Daten auslesen und decrypten?
Mein bisheriges Wissen: zum Decrypten braucht man

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid
  • HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings\io
  • ClientRegistry.blob
Nur: Wo sind die Daten (Login und Passwort) genau gespeichert (und in welchem Format) und wie muss ich das verschlüsselte Passwort entschlüsseln?

MfG l0l.l0l
« Letzte Änderung: März 25, 2009, 12:16:11 von l0l.l0l » Gespeichert
mastermaefju
Newbie
*
Beiträge: 41



Profil anzeigen E-Mail
« Antworten #1 am: März 25, 2009, 12:38:00 »

schau dir den source mal an Zwinkernd

http://aluigi.altervista.org/pwdrec/steampwd.zip
Gespeichert


l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« Antworten #2 am: März 25, 2009, 12:42:12 »

Danke, aber ich kann leider kein C(++)...

MfG l0l.l0l
Gespeichert
MrWellKnown
Newbie
*
Beiträge: 17


Profil anzeigen E-Mail
« Antworten #3 am: März 25, 2009, 12:47:16 »

In welcher Sprache programmierst du denn? Deine angegebenen Registry-Paths brauch man nicht zwingend. Schau dir mal die Steam.dll genauer an, dort gibt es eine Funktion welche das aktuelle Passwort aus der ClientRegistry.blob decrypten kann. Ist halt um einiges einfacher als erst die ProductID, MachineGuid etc. aus der Registry auszulesen und damit dann den Key zu decrypten..
Gespeichert
Slayer616
Entwickler Team
Spender
Moderator
Hat das Battle gewonnen
Sr. Member
****
Beiträge: 426


Profil anzeigen E-Mail
« Antworten #4 am: März 25, 2009, 12:50:47 »

Du brauchst nur das Encryptet PW aus registry.blob und mit der SteamDecryptDataForThisMachine API kannst du das automatisch lösen Lächelnd
Gespeichert




Du sagst, du spürst die Ohnmacht, denn der Feind ist ach so stark
Und er will dich niederhalten mit Geschrei durch Bein und Mark
Mit Verboten und Zensur kann er zwar den Kampf erschweren
Doch niemals wird ein Richterspruch den freien Geist bekehren.

Fürchte lieber Deutschlands Untergang als die Reden der Vasallen
Derer, die der Lüge dienen, denn schon bald werden sie fallen.
l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« Antworten #5 am: März 25, 2009, 12:54:31 »

Ich programmier in Delphi.
Und wie find ich das encryptete PW in der ClientRegistry.blob?

Btw: Diese SteamDecryptDataForThisMachine-Funktion scheint ja einen Parameter als StringBuilder zu erwarten. Bislang hab ich diesen Typ in Delphi nicht gefunden, nur in Delphi.NET... Gibts sowas in Delphi auch?

MfG l0l.l0l
Gespeichert
Zacherl
Entwickler Team
Moderator
Sr. Member
****
Beiträge: 454



Profil anzeigen E-Mail
« Antworten #6 am: März 25, 2009, 01:32:32 »

Jap ab D2009 gibts das. Aber das brauchst du gar nicht. Der StringBuilder erledigt nur Operationen wie S := S + '123' so in der Art.
Gespeichert

l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« Antworten #7 am: März 25, 2009, 01:48:17 »

Naja, ich benutz D7 ^^
Das heisst, ich kann dem da einfach nen String übergeben?

MfG l0l.l0l
Gespeichert
Turbolord
Jr. Member
**
Beiträge: 61


898468
Profil anzeigen E-Mail
« Antworten #8 am: März 25, 2009, 02:50:40 »

Ich kenn mich mit dlls noch nicht so wirklich aus, also wie weiss ich denn die Syntax von SteamDecryptDataForThisMachine?
Gespeichert


"Ich lebe von meinen Einkünften."
l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« Antworten #9 am: März 25, 2009, 02:54:28 »

Das hier scheint die Syntax für SteamDecryptDataForThisMachine zu sein (.NET Syntax):
Public Function SteamDecryptDataForThisMachine(ByVal encryptedData As String, ByVal encryptedDataSize As Integer, ByVal decryptedBuffer As StringBuilder, ByVal decryptedBufferSize As Integer, ByRef decryptedDataSize As Integer) As Integer
Hab ich auf OpenSC gefunden Zwinkernd

MfG l0l.l0l
Gespeichert
Turbolord
Jr. Member
**
Beiträge: 61


898468
Profil anzeigen E-Mail
« Antworten #10 am: März 25, 2009, 02:59:22 »

Das hab ich auch schon gefunden aber ich hab mich nie mit anderen Sprachen als Delphi befasst. Ich check nicht mal was für einen Typ die Funktion zurückgibt xD müsste ja wohl ein string sein^^ ich peils einfach nich
Gespeichert


"Ich lebe von meinen Einkünften."
l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« Antworten #11 am: März 25, 2009, 03:57:49 »

Delphi-Syntax wär so ungefähr:
function SteamDecryptDataForThisMachine(encryptedData:string; encryptedDataSize:integer; decryptedBuffer:StringBuilder; decryptedBufferSize:integer; decryptedDataSize:integer):integer;
Gibt also einen Integerwert zurück Zwinkernd

MfG l0l.l0l
Gespeichert
Turbolord
Jr. Member
**
Beiträge: 61


898468
Profil anzeigen E-Mail
« Antworten #12 am: März 25, 2009, 04:09:27 »

Zitat von: l0l.l0l;17011
Delphi-Syntax wär so ungefähr:
function SteamDecryptDataForThisMachine(encryptedData:string; encryptedDataSize:integer; decryptedBuffer:StringBuilder; decryptedBufferSize:integer; decryptedDataSize:integer):integer;
Gibt also einen Integerwert zurück Zwinkernd

MfG l0l.l0l


Dann check ich nicht was man damit soll.
Muss ich dann gucken welchen wert DecryptedBuffer hat?
Gespeichert


"Ich lebe von meinen Einkünften."
l0l.l0l
Newbie
*
Beiträge: 21


Profil anzeigen E-Mail
« Antworten #13 am: März 25, 2009, 04:39:12 »

Exakt. Und der Rückgabewert gibt an, ob es Fehler gab, soweit ich das jetzt verstanden hab... Wenn die Funktion 0 zurückgibt, ist alles in Ordnung Zwinkernd

Aber mein Problem ist nachwievor, dass ich nicht weiss, wo das Passwort und der Login gespeichert werden. Gibt es in der ClientRegistry.blob sowas ähnliches wie ein Keywort (wie bei der Owner.mdb von ICQ6 das "StoredPassword")?

MfG l0l.l0l
Gespeichert
Turbolord
Jr. Member
**
Beiträge: 61


898468
Profil anzeigen E-Mail
« Antworten #14 am: März 25, 2009, 04:59:13 »

Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography \MachineGuid
HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings\io
Das hier hast du doch schon geschrieben.
Diese Werte hängst du in der Reihenfolge aneinander.
Das ist dann EncryptedData. EncryptedDataSize ist dann ja klar.

Mit der SteamDecryptDataForThisMachine kann man das auch ohne die Registry lösen also direkt aus der blob datei hab aber kein plan wie das geht.
Gespeichert


"Ich lebe von meinen Einkünften."
Seiten: [1] 2
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS