Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Samstag, 1. Dezember 2012, 15:02

Autologin nach Registrierung?

Hallo Leute! :D

In Knuddels gibt es nach der Registration einen Autologin in den Chat. Nun frage ich mich aber, wie ist das in Javascript realisierbar? Hat das evlt jemand oder kann mir einen Ansatz dafür geben?
Meine Grafikseite: http://chatsmileys.senzious.de/

2

Samstag, 1. Dezember 2012, 18:29

Hallo,

Du kannst mit JavaScript auf Methoden des Applets zugreifen!

=> http://de.selfhtml.org/javascript/objekte/applets.htm#bottom (Zugriff auf Code in Java-Applets)

Um zu schauen wie Knuddels es macht, gucken wir uns den originalen JS-Code an und dekomprimieren ihn

Quellcode

1
2
3
4
5
6
if (q) {
   l.tryAutoLogin(j, t)
} else {
   a.one("#appletcontainer").setStyle("visibility", "visible");
   l.tryAutoLoginWithoutJoin(j, t)
}


Wie wir sehen, gibt es zwei Methoden im Applet. tryAutoLogin und tryAutoLoginWithoutJoin. Wenn du das Knuddels-Applet dekompilierst, findest du die entsprechenden Methoden auch. Die sind nicht obfuscated, sonst müsste Knuddels im JS-Code ständig die neuen, zufällig-generierten Methodenamen eintragen.

Den genauen Unterschied beider Methoden kenne ich nicht - vielleicht werden bei der Zweiten nur die Daten ausgefüllt, aber nicht auf "Eintreten" geklickt.

j ist der Nickname. t ist eine Prüfsumme, die wird vom Server gesendet, wenn die Registration erfolgreich war.
checksum":"ZEICHENKETTE"

Wie die jetzt zustande kommt, müsste man sich anschauen. Zum Beispiel nachgucken, wie das Applet diese Prüfsumme weiter verarbeitet (z.B. entschlüsselt, oder damit wird sich tatsächlich eingeloggt - dann muss der Server die Summe in die User-Tabelle speichern).

Gruß
Diebspiel
Kein Support per PN. Nur im Forum!

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Chiller

3

Samstag, 1. Dezember 2012, 19:54

Was mir gerade aufgefallen ist, dass t nur Leerzeichen an die JoinChannelHandler übergibt. Egal welchen Inhalt t hat. Jetzt blick ich hier garnicht mehr durch. o0

// okay sind doch wirre zeichen. Kp wie ich des hinbekommen kann damit das läuft -.- :D
Meine Grafikseite: http://chatsmileys.senzious.de/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chiller« (1. Dezember 2012, 20:05)


4

Samstag, 1. Dezember 2012, 21:14

Ich hatte des zeug damals bei BananaWeb implementiert gehabt. Wenn ich mich recht erinnere, war der erste Parameter (j) der Nickname, und der zweite (t) ein Token. Dieser Token ist ein random-erzeugter Alphanumerischer String, der den Nutzer ohne Passwort authentifiziert.

Was du also machen müsstest:
Nach Registrierung wird in der Accounts-Tabelle in einer Zusätzlichen Spalte der Alphanumerische String gespeichert und beim Autologin halt mit beim Parameter "t" übergeben.
In wiefern nun beim Autologin das Paket war, müsste ich selbst nun nochmal nachschauen.

5

Sonntag, 9. Dezember 2012, 17:26



Wie wir sehen, gibt es zwei Methoden im Applet. tryAutoLogin und tryAutoLoginWithoutJoin. Wenn du das Knuddels-Applet dekompilierst, findest du die entsprechenden Methoden auch. Die sind nicht obfuscated, sonst müsste Knuddels im JS-Code ständig die neuen, zufällig-generierten Methodenamen eintragen.

Den genauen Unterschied beider Methoden kenne ich nicht - vielleicht werden bei der Zweiten nur die Daten ausgefüllt, aber nicht auf "Eintreten" geklickt.

Richtig. Die Methode tryAutoWithoutJoin wird nur benutzt, wenn man von dem Rechner und der Instanz bereits eingeloggt ist. Dann erscheint die Nachricht, dass man sich ausloggen soll, um sich dann mit dem neu registrierten Nick einloggen zu können. Die Daten werden aber trotzdem ins Loginfenster geschrieben.

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Diebspiel

6

Montag, 10. Dezember 2012, 07:37

Der 2. Parameter ist für mich immernoch ein Rätsel wie ich das hinbekomme.
Meine Grafikseite: http://chatsmileys.senzious.de/

7

Montag, 10. Dezember 2012, 08:57

Den zweiten parameter generierst du selber, hab ich doch schon gesagt.

Ähnliche Themen