[Frage] Packet logger - login

04/25/2012 20:17 That'sMe#16
Cherry wenn du mir erläutern würdest wofür du Codes brauchst um dich mit dem Logger ein zu loggen?
Ich würde sagen du schreibst einfach mit C++ oder fragst wen der sich auskennt (mich oder Elektro) eher elktro hab für sowas keine Zeit, der wie z.B sein Nosbuddy sich nur auf den Nostale Client bezieht und einfach die Acc Daten eingibt und sich dan selbstständig einloggt (Garnicht sooo schwer)

2 Seite nicht gesehen Tut mir leid :o
ehm ehm ehm D: vllt in ner anderen Section fragen etc...
vllt hilft dir da jemand, kann dir net weiter helfen da ich sehr wenig zeit habe deswegen sry für die schlechte rechtschreibung (beim schreiben schon 10000 fehler entdeckt) xD
04/25/2012 20:53 Elektrochemie#17
Naja ganz so einfach ist das nun doch nicht.
Hab mir das gerade angeschaut, die Funktion zum einloggen (mit accname & pw pushen) ist zwar relativ leicht, das problem ist nur: Damit ist das nicht erledigt.
Der Client loggt sich dann zwar Serverseitig ein (d.h. schickt das packet), er selber checkt aber nicht dass er sich gerade einloggt. D.h. der Einloggbildschirm bleibt da.

Man könnte zwar jetzt noch eine Funktion weiter zurück gehen (danach kommt direkt die Interface funktion -> keine chance), das problem daran ist, dass man nicht direkt den namen und das pw übergeben kann.
Sondern davor kommt erst noch das auslesen aus dem interface und so'n kram, d.h. man muss erstmal ein paar Addressen (inkl Name + PW) direkt im Speicher ändern.

Ich probier jetzt mal noch ein bischen rum, aber so leicht ist das nicht.
04/25/2012 20:58 That'sMe#18
Hmm auch wieder möglich sobald ich Zeit habe hock ich mich rann und naja, mal schauen was passirt, mit bisschen geschick und einer Mänge Fantasie~ könnte es klappen :awesome:
04/25/2012 21:02 SingularPlex#19
Quote:
Originally Posted by That'sMe View Post
Hmm auch wieder möglich sobald ich Zeit habe hock ich mich rann und naja, mal schauen was passirt, mit bisschen geschick und einer Mänge Fantasie~ könnte es klappen :awesome:
Vllt. solltest du mal anfangen konkreter zu schreiben.
Du hast nämlich keinen Dunst von irgendwas. Schreibst immer alles total Allgemein damit jeder einen anderen Sinn in deinen Posts sieht.
Oder liege ich falsch?:rolleyes:
Beschreibe doch mal anhand konkreter Beispiele wie du dir das vorstellst.
04/25/2012 21:06 Elektrochemie#20
Kurz und knapp: Vor der eigentlichen Login Funktion is ne Funktion die dem Client sagt "jetzt wird eingeloggt".
Wenn die Funktion nicht aufgerufen wird, passiert clientside mäßig rein garnichts ^^

Btw wer zur Hölle is denn That'sMe, was hat er denn bis jetzt alles gemacht? :P

e/ Okay habs, funktioniert :D
04/25/2012 21:51 TheCherry#21
Quote:
Originally Posted by Elektrochemie View Post
Kurz und knapp: Vor der eigentlichen Login Funktion is ne Funktion die dem Client sagt "jetzt wird eingeloggt".
Wenn die Funktion nicht aufgerufen wird, passiert clientside mäßig rein garnichts ^^

Btw wer zur Hölle is denn That'sMe, was hat er denn bis jetzt alles gemacht? :P

e/ Okay habs, funktioniert :D
Ach du bist mir ja einer :D Bist echt gut, hehe. Dein 5 Euro angebot lehne ich leider ab. Will ja auch was dabei lernen. Ich spiele Nostale nur um zu hacken (das game ist eig. scheiße, kein pvp etc) und ich will ja selbst dran hacken und nicht nur anderen kram nutzen :))

Naja ich denke das im Arbeitsspeicher nicht direkt der Name und das PW liegen, denn wenn ich danach suche via Cheat Engine, egal ob im Memory View oder so normal, ich finde die Strings nicht.

Mal schauen, werde mal nach oben hin die Calls abklappern und gucken ob ich das auch so schaffe hehe :D Aber die ganzen Tips waren schonmal super :handsdown:
04/25/2012 21:52 PainToTheWorld#22
das geht auch in c# habs da noch nicht gemacht
aber ich habs mal zum spaß mit autoit gemacht geht wunderbar ^^
an die login funktion kommt man am schnellsten wenn man über NoS0575 guckt
ist kaum zu übersehen
04/25/2012 21:53 SingularPlex#23
Quote:
Originally Posted by TheCherry View Post
Ach du bist mir ja einer :D Bist echt gut, hehe. Dein 5 Euro angebot lehne ich leider ab. Will ja auch was dabei lernen. Ich spiele Nostale nur um zu hacken (das game ist eig. scheiße, kein pvp etc) und ich will ja selbst dran hacken und nicht nur anderen kram nutzen :))

Naja ich denke das im Arbeitsspeicher nicht direkt der Name und das PW liegen, denn wenn ich danach suche via Cheat Engine, egal ob im Memory View oder so normal, ich finde die Strings nicht.

Mal schauen, werde mal nach oben hin die Calls abklappern und gucken ob ich das auch so schaffe hehe :D Aber die ganzen Tips waren schonmal super :handsdown:
Doch die Accdaten kann man über den Speicher auslesen.
04/25/2012 21:55 TheCherry#24
Quote:
Originally Posted by PainToTheWorld View Post
das geht auch in c# habs da noch nicht gemacht
aber ich habs mal zum spaß mit autoit gemacht geht wunderbar ^^
an die login funktion kommt man am schnellsten wenn man über NoS0575 guckt
ist kaum zu übersehen
Du kannst in C# auch ASM nutzen, aber naja ich nutze schon lieber für solche sachen c++

Was genau meinst du mit NoS0575 ? Ist das ein Call?

Quote:
Originally Posted by SingularPlex View Post
Doch die Accdaten kann man über den Speicher auslesen.
Wenn ich aber meine Daten eingebe, mich nicht einlogge und es suche, finde ich rein gar nichts.
04/25/2012 21:56 Elektrochemie#25
Quote:
Originally Posted by TheCherry View Post
Ach du bist mir ja einer :D Bist echt gut, hehe. Dein 5 Euro angebot lehne ich leider ab. Will ja auch was dabei lernen. Ich spiele Nostale nur um zu hacken (das game ist eig. scheiße, kein pvp etc) und ich will ja selbst dran hacken und nicht nur anderen kram nutzen :))

Naja ich denke das im Arbeitsspeicher nicht direkt der Name und das PW liegen, denn wenn ich danach suche via Cheat Engine, egal ob im Memory View oder so normal, ich finde die Strings nicht.

Mal schauen, werde mal nach oben hin die Calls abklappern und gucken ob ich das auch so schaffe hehe :D Aber die ganzen Tips waren schonmal super :handsdown:
Ich poste den Codeschnipsel sobald es funktioniert.

Code:
	AnsiString AccName = Edit1->Text;
	AnsiString AccPW = Edit2->Text;
	DWORD CallAdd = 0x005DC374;
	try
	{
		__asm
		{
			MOV EDX, AccName
			POP ECX
			MOV ECX, AccPW
			MOV EAX, DWORD PTR DS:[0x649AB8]
			MOV EAX, DWORD PTR DS:[EAX]
			CALL CallAdd
		}
	  }catch(...){}
(POP ECX ist unnötig)

Problem ist, man muss davor noch auf OK klicken (mit leeren feldern) :D

Bekomm ich aber auch noch hin.

NoS0575 ist der Anfang der in das Login Paket gepusht wird.
Olly -> String suche -> NoS0575
Dann hast den Anfang der Funktion die das Paket zusammen bastelt.
Dann einfach am Anfang der Funktion breaken lassen, dann kommst an den Punkt zu dem die Funktion returned.
Dann siehst wie du sie callen musst. (Bzw musst du evtl noch ein paar Funktionen zurück, je nach dem)
04/25/2012 22:12 PainToTheWorld#26
versuch mal 00631E88 zu callen wenn es mit leeren feldern geht
04/25/2012 22:14 Elektrochemie#27
Schon probiert, geht nicht :/
04/25/2012 22:58 PainToTheWorld#28
ok ich hab mir das genauer angesehen
du hast sicher abgecheckt was weiter unten abgeht
und da liegt der hund begraben
das ist ab aber so scheiße gemacht das es einfacher ist postmessage zu benutzen
04/25/2012 23:00 TheCherry#29
Quote:
Originally Posted by Elektrochemie View Post
Ich poste den Codeschnipsel sobald es funktioniert.

Code:
	AnsiString AccName = Edit1->Text;
	AnsiString AccPW = Edit2->Text;
	DWORD CallAdd = 0x005DC374;
	try
	{
		__asm
		{
			MOV EDX, AccName
			POP ECX
			MOV ECX, AccPW
			MOV EAX, DWORD PTR DS:[0x649AB8]
			MOV EAX, DWORD PTR DS:[EAX]
			CALL CallAdd
		}
	  }catch(...){}
(POP ECX ist unnötig)

Problem ist, man muss davor noch auf OK klicken (mit leeren feldern) :D

Bekomm ich aber auch noch hin.

NoS0575 ist der Anfang der in das Login Paket gepusht wird.
Olly -> String suche -> NoS0575
Dann hast den Anfang der Funktion die das Paket zusammen bastelt.
Dann einfach am Anfang der Funktion breaken lassen, dann kommst an den Punkt zu dem die Funktion returned.
Dann siehst wie du sie callen musst. (Bzw musst du evtl noch ein paar Funktionen zurück, je nach dem)
Also wenn ich deinen Programmcode nutze kommt diese Fehlermeldung:
[Only registered and activated users can see links. Click Here To Register...]

Code:
        std::string AccName = "test";
	std::string AccPW = "test";
	DWORD CallAdd = 0x005DC374;
__asm
		{
			MOV EDX, AccName
			POP ECX
			MOV ECX, AccPW
			MOV EAX, DWORD PTR DS:[0x649AB8]
			MOV EAX, DWORD PTR DS:[EAX]
			CALL CallAdd
		}
04/25/2012 23:07 PainToTheWorld#30
sry die uhrzeit ... ^^