-
ICQ6 Hash Auslesen
Hallo Liebe FF Gemeinde,
Ich sitze momentan an einem problem bezüglich den Pass_Hash der Owner.mdb eines ICQ-Accounds auszulesen. Der Sours den ich zur verfügung habe ist schon etwas älter und aus ihrgend einem grund functioniert er nicht mehr -.- Ich sitze momentan an nem Stealer der unteranderem ICQ Supporten soll.
Hat jemand nen snipped das auch funst den bei mir is das result immer = 0.
Ich wer euch sehr dankbar! Keine Angst ich betreibe kein C&P was einige die mich kennen bezeugen können ich will nur schauen wos bei mir im sourscode habert !
mfg
Asmo
PS: Google spuckt nur müll aus oder ich benutze nen falschen suchstring :o
-
Ohh so ein Zufall, ich arbeite im Moment an was ähnlichem :P Ich hab ne Funktion geschrieben, die klappt, aber irgendwie krieg ich sie nur unter Turbo Delphi 2006 zum Laufen, Delphi 2009 spuckt direkt nen schönen Zugriffsfehler aus. Falls Interesse besteht, melde dich ruhig.
MfG
th3flood
-
SHGet irgendwas folder damit ihr den ordner in anwendungsdaten findet, dann FindFirstFile/FindNextFile um die dateien die ihr wollt aufzulisten und nacheinander durchzugehen... dann einfach die datei öffnen und nach dem string StoredPassword suchen, könnt ihr auch als array of byte deklarieren weil wegen unicode und so... kann man ganz einfach machen indem man per readfile die datei schritt für schritt absucht, das dauert aber bei der methode etwas... dann paar bytes später den base64 string auslesen und decrypten (wie das geht könnt ihr auf wikipedia lesen, kleiner tipp: shr und shl hilft dabei ^^) wenn ihr das habt einfach das überschüssige abschneiden, mit delete() n md5 ist ja immer gleich lang also kein prob. hatte ich auch mal in delphi gemacht aber alle meine sources sind weg -.-
edit: bei delphi 06 und 09 gibt es etliche unterschiede vor allem was strings angeht, wegen unicode^^ also das ganze ist da etwas anders handzuhaben
-
@ gORDon_vdLg
Ja ich habe im Moment unter Delphi 2009 massive Probleme mit dem Entschlüsseln. Mit Turbo Delphi klappt alles super. Ich habe eben bemerkt, dass sich die gespeicherten Strings, die das Programm bekommt komischerweise unterscheiden.
Code:
Turbo Delphi
f3feO2QvsFSE6EMMNdgc4n933jtkL7BUhOhDDDXYHM=o (Aus der Owner.mdb)
‰ýßxí¾ÁR¡0×`s‰ýßxí¾ÁR¡0×`s <- klappt (Base64-decoded)
89fddf78ed90bec15213a10c30d7607389fddf78ed90bec15213a10c30d76073 <- klappt (Hexadezimal)
Delphi 2009
if3feO2QvsFSE6EMMNdgc4n933jtkL7BUhOhDDDXYHM=a
‰ýßxí¾Ár¡0×`s‰ýßxí¾Ár¡0×`s <- klappt nicht
2030fddf78ed90bec15213a10c30d760732030fddf78ed90bec15213a10c30d76073 <- klappt nicht
-
Jor nutze Delphi 7 , ich hab soweit auch alles was ich brauche!
Ich lese die File via File2Str in nen String den Ordner wo die Owner drinne ist lass ich revusiv in ne TStringlist lesen und alle ordner die nicht nummerrisch sind also der ICQ Nummer entsprechen aus der liste löschen klapt prima ;) Danach suche ich nach dem genanten "'S'+#00#+'t'+#00#" und so weiter halt finde ihn auch aber ich bekomm als result ein nichtleserlichen string raus -.-
@th3flood: hett intresse an der function send sie mir einfach via pm wer total lieb!
-
wo kommt ein unlesbarer string raus? den base64 string findest du direkt hinter dem string storedpassword, der ist auch wide und musste daher eventuell noch umwandeln wenn du ältere delphi versionen benutzt. das ende erkennst du halt an der nullterminierung. ansonsten wenn du den halt ausgelesen hast und bei dem decrypten aus base64 heraus hast du entweder einen fehler in der umsetzung oder du hast vergessen das keine einzelnen alphanumerischen lesbaren buchstaben dabei herauskommen sondern die einelnen bytes des hashes die du mit IntToHex() umwandeln musst damit du nen string raus bekommst. habe meinen source nicht mehr sonst würde ich den posten... für beide delphi versionen^^ habe gar keine sources mehr alle projekte weg...