Beiträge von florian0

    Ich geb dann auch mal mein Statement dazu ab. Ich hab es jetzt seit gut 2 Monaten auf meinem Laptop/Tablet-PC (Fujitsu Lifebook T4310) am laufen:
    Core2Duo @ 2.1 Ghz
    4 GB DDR2 RAM
    300 GB SATA Festplatte
    Wacom Dual Digitizer Screen @ 1280x800
    2 Akkus (insg. 89 Wh)


    Ich war zunächst ziemlich enttäuscht. Vorher hatte ich Windows 7 HP x64 installiert, welches beim Laptop dabei war und somit legal erstanden ist. Windows 8 habe ich ebenfalls gekauft. Und dennoch war ein Upgrade von Win7 HP auf Win8 Prof nicht möglich. Hat mich tierisch angekotzt. Es sollte für eine Firma wie Microsoft doch möglich sein die verschiedenen Versionen untereinander Upgradekompatibel zu bekommen ...


    Überraschend schnell ging jedoch die Neuinstallation. Alle Geräte auf anhieb erkannt. Sogar der Touchscreen wurde direkt erkannt. Leider gibt es keine Möglichkeit das Ding zu kalibrieren. Das ist nur leider ZWINGEND! erforderlich, wenn man mit dem Stift ordentlich schreiben will!


    Auch die Gestik-Erkennung ist sehr, sehr mager. Genauergesagt funktioniert diese garnicht. Weder "Vor" noch "Zurück" oder Rechtsklick (Mit einem Finger markieren und mit nem zweiten Finger daneben drücken). Rechtsklick geht nur indem man etwa 2 Sek auf eine Stelle drückt ...
    (Diese Gestiken funktionierten auf Windows 7 OHNE Zusatztreiber)


    Was im DeveloperPreview noch ging und jetzt offensichtlich rausgenommen worden: Apps die nicht im Vordergrund sind, werden nichtmehr pausiert. Die laufen einfach weiter und ziehen schön CPU-Leistung.


    Nach einigen Minuten Leerlauf springt ein seltsamer Profiler an, der meine CPU mit 2x 100% ans Limit drängt und den Lüfter mächtig laut werden lässt (schon nervig) und nebenbei ziemlich in den Akku haut.


    Allgemein lässt sich Windows 8 mit Touch gut bedienen. So manche Apps unterstützen schon MultiTouch. Die Metro-Oberfläche ist wesentlich angenehmer zu bedienen als der Desktop. Dennoch fehlt mir die Suchfunktion in der Startleiste^^. (Nein ich möchte keine Zusatzsoftware installieren). Auch das Bedienkonzept mit den Menus an der Seite ist angenehm zu steuern.


    Für die Maussteuerung sind die Kacheln gänzlich ungeeignet. Viel zu viel
    Maus-Schubserei um ein Programm zu starten. Dann lieber Verknüpfungen
    auf dem Desktop, da spart man sich den Umweg über Metro.


    Die Akkulaufzeit ist nicht so dolle. Unter Linux bekomme ich mit beiden Akkus 16 Std Laufzeit hin. Unter Windows 7 waren es immerhin noch 10 Stunden. Unter Windows 8 sind es sage und schreibe 4 Stunden.
    (Alle Tests unter gleichen Bedingungen: ~50% Helligkeit, Textbearbeitung, Wlan)


    Und zuletzt: Die Metro-Designs sind HÄßLICH! Die ersten 3-4 sind noch akzeptabel. Aber die restlichen vermitteln eine Stimmung wie als wäre man im Zirkus/auf der Kirmes/im Kinderzimmer/im Winterurlaub.
    Abhilfe schafft nur eine Änderung einer DLL. Eigene Designs sind nicht vorgesehen.


    Die 0€ war Windows 8 mir Wert. Aber im Nachhinein würde ich keinen Cent dafür ausgeben. Wenn ihrs über Dreamspark bekommt, dann probierts mal aus. Aber ne wirkliche Kauf-Empfehlung gibts von mir zur Zeit nicht. Auch nicht für Tablet-PC Besitzer.


    EDIT: Ich merk grad ich hab alles sehr negativ geschrieben. Das sollte nicht so rüberkommen. Die ganzen Nachteile hat die Metro-Oberfläche rausgeholt. Das einzige war WIRKLICH dagegen anstinkt ist die Akku-Laufzeit.


    Gruß
    florian0

    Selbstverständlich, die DLL injected sich nicht von selbst :P

    Wenn man sie bei AppInit einträgt schon ;)
    Aber die DLL jedes mal neu zu injecten ist wohl das kleinste Problem.


    wie wäre es mit ner dll die du in den launcher machst und diese dll läd bei jedem game die 1. dll in den client?

    Das wäre dann der oben erwähnte FlashHook ... Der AirClient ist in ActionScript geschrieben, ka ob man da was hooken kann.

    So dachte ich das eigentlicht nicht. Ich dachte du legst die Daten in ner Textdatei ab und injectest dann die DLL. Die DLL liest die Textdatei aus und schreibt den Kram in den Chat.


    Danach hast du eben keinen Zugriff mehr auf die DLL und kannst danach nichts mehr ausgeben. Wenn du das willst, ist die Socketlösung die bessere.


    Gruß
    florian0

    Wenn es nur das ist, und während dem Spiel keinerlei weitere Daten ausgegeben werden sollen, dann kann man diese Infos auch in ne Textdatei legen und diese dann von der injizierten DLL auslesen lassen. Danach braucht die DLL ja nichtsmehr tun, sie muss eben nur zur richtigen Zeit injected werden (nach Spielbeginn, oder vorher und dann eben zur richtigen Zeit selbstständig "handelt".


    Gruß
    florian0

    Du stellst dir das zu einfach vor. Du musst eine DLL in den Prozess injizieren, und das geht nur mit statischen DLLs. Die .NET DLLs funktionieren da, da diese keinen ausführbaren Code enthalten sondern nur diesen ByteCode-Interpreter-Krams.


    Ist die DLL einmal im Prozess injiziert, arbeitet sie alleine. Sie gehört quasi zum Prozess (League of Legends.exe). Du musst der DLL nur sagen, was sie tun soll und das geht, wie dongdong schon sagte, über einen Socket oder ne Pipe.


    Erzähl mal was du sonst noch so vorhast. Nur Chat-Nachrichten senden klingt nicht spektakulär genug^^


    Gruß
    florian0

    Gibt es nicht eine Stored Procedure die das schon übernimmt?
    Hab grad keinen SQL-Server am laufen, aber ich meine mich da an was erinnern zu können ...
    Weil damit gehts auf jedenfall einfacher.


    Ansonsten musste 2 Querys ausführen:


    Erst prüfen, ob schon ein Eintrag mit diesem Accountnamen vorhanden ist:

    SQL
    1. SELECT JID FROM SRO_VT_ACCOUNT WHERE StrUserId = <DeinUsername>


    Und wenn nicht:

    SQL
    1. INSERT INTO SRO_VT_ACCOUNT(StrUserId, Password, ...) VALUES (...)


    Gruß
    florian0

    So:


    Die Funktion war die richtige, Pointer berrechnen klappt dank dongdong auch.



    Nach jedem Client-Patch könnte sich die Adresse ändern. Daran kann/sollte man noch arbeiten.



    Wie regelt man das ganze jetzt in C# ?
    Ne .NET Dll zu injizieren ist ja nicht möglich. Kann man irgentwie zwischen der DLL und dem C# Prog. kommunizieren?



    Gruß
    florian0

    Die hab ich auch :D


    Dann kannste das "Tutorial" verwenden, dass ich oben gepostet hab. (Auf V6 updaten, dann die 6.60-ME CFW installieren, fertig). Dich betreffen dann nur die Teile für PSP-1000.
    (Korrigiert mich wenn ich falsch liege).


    Gruß
    florian0

    Da als Anfänger durchzublicken is inzwischen schwer geworden, da es einfach viele verschiedene Anleitungen, Versionen und Möglichkeiten gibt.
    (Ich hatte damals den Super Newbie Easy Custom Firmware Installer xD)


    Erzähl uns mal, welche Firmware-Version du aktuell hast, und welches PSP-Modell.


    Firmware: Settings->System Settings-> System Info -> System Software
    Modell: http://monkeydesk.at/f5-anleit…are-6-60-l-me-1-6-a-4682/


    Dann kann man schonmal enger eingrenzen.


    Gruß
    florian0

    Kannst du die rechte Box mal links anschließen (und umgedreht). So kannst du rausfinden ob es an der Box oder am Verstärker liegt.
    Wenns an der Box liegt, ka^^. Wüsste nicht was da außer nem Membran-Riss groß drin kaputtgehen kann. Und das passiert bei normaler Behandlung eigentlich nicht.
    Wenn die Box dort in Ordnung ist, kann es wirklich an den Kontakten liegen (muss aber nicht). Wie schon gesagt, alles mal neu Anschließen und vorher mit Kontakt-Spray o.Ä. reinigen (bitte nicht mit Wasser, da kann zu viel kaputt gehen. Auch wenn das Ding schon hinüber sein könnte).


    Schon die Verbindung zwischen PC & Anlage geprüft? Da könnte sich auch der Fehler eingeschlichen haben.


    Gruß
    florian0

    Schick schick.


    Grau & Orange gemischt is zwar nicht so der Bomben-Farbstil ... aber egal.


    Du solltest noch dazu schreiben, was das PW fürs Archiv ist ...


    Gruß
    florian0

    Was du da über "Find out what accesses/writes to this Address" gefunden hast ist ein Teil der MSVCR80-Libary.
    Nur über Memory-Scannen kommt man hier nicht weiter (leider).


    Ich bin mir inzwischen sicher, dass die besagte Funktion ChatThing die Nachricht versendet (wenn man diese wegNOPt, werden keine Nachrichten versendet (zumindest tauchen im Client keine auf, hab zur Zeit keinen mit dem ich das testen kann) ). Der übergebene Parameter ist nicht die Nachricht, ist aber anscheinden auch nicht sonderlich relevant. In ChatThing wird geprüft ob die Nachricht an /all geht und ob der CrossTeam-Chat aktiviert ist, oder nicht (erkennbar an den LoadTranslation-Strings).
    Was danach kommt analyisere ich gerade. Ziemlich tief drinne habe ich eine Critical Section gefunden, was darauf hindeutet, dass hier Operationen ablaufen die auf KEINEN Fall von mehreren Threads zugleich ausgeführt werden dürfen. Ein möglicher Anwendungsfall wäre z.B. ein Stream für den SendeBuffer ...


    //Edit-Start: Ich glaub ich habs. Ich versuchs mal zu visualisieren:




    CALL SendMessage MUSS es sein. String in den Stack pushen & Adresse callen.
    // Edit ende


    Ich eigene mir gerade etwas Wissen an, um eine DLL-Injection durchzuführen^^. Mein C++ ist leider in etwa so gut wie mein Python, also schlecht. Ich denk ma morgen im Laufe des Tages sollte ich was raushaben.


    Gruß
    florian0


    PS: Scheise hat der LoL Client viele Pointer. Vorallem so tiefe ...

    Klar, wenn man die Gefahr hat unter DDoS zu stehen, oder genrell viel Traffic auf der Webseite zu erwarten ist, macht eine Cloud durchaus Sinn. Aber für ne private Webseite wie diese absolut überheblich.
    Desweiteren schützt die Cloud auch nur bedingt vor Exploits/Backdoors. Was da passiert ist eigentlich nur reines Load-Balancing. Wenn du deine Seite auf shared-hosting hast und, wie in diesem Fall, der gesammte Server wird infiziert, nützt dir die Cloud auch nichtmehr viel.


    Gruß
    florian0


    (PS: So kann man auch Schleichwerbung machen ;))

    Weitere These: In DayZ gibt es inzwischen einfach viel zu viele Hacker. Auf jedem Server auf dem ich in den letzen 2 Wochen war mindestens einer.


    Es macht einfach keinen Spaß wenn aus dem nichts Leute nebeneinem spawnen (und natürlich killen), und wenn man sie killt, sie 20 Sek später wieder Full-Equiped auf einen ballern ...
    The War Z hab ich noch net gespielt, aber das soll ja im Bezug das Verhalten der Player nicht so dolle sein. Ich denke mal in DayZ wäre es nicht anders wenn die Map kleiner wäre.

    Wie bist du an die Adressen gekommen? :)


    (OllyDBG -> Attach)
    Ich versuchs mal grob zu erklären: Ich hab die Chat-Befehle getraced, weil diese unmittelbar nach der Eingabe bearbeitet werden MÜSSTEN^^.
    Außer /all habe ich erstmal keine gefunden, woran aber die Übersetzung schuld ist (Sprachenspezifische Strings werden irgendwie immer wieder neu geladen ... ka was das soll -> 008AC4B0 : LoadTranslation(EDI enthält die Adresse des zu-übersetzenden Textes)


    Und dann eben en Stück zurück-getraced. Inzwischen bin ich ein Stück weiter:
    Von hier gehen die Chat-Sachen mit der Tastatur aus (Enter = Chat auf / Nachricht absenden). Ich vermute das ist einfach nur der Handler für die EnterTaste ...
    Wenn man Send to Team / To All anklickt (mit der Maus und so) nimmt das Ganze einen anderen Weg.


    Ich weiß nicht so genau was diese Adresse macht (ChatThing). Wenn ich diese Memory adresse auslese bekomme ich immer den Letzten Eintrag im Chat ?


    War das jetzt ne Frage oder ne Feststellung? Wenn ich genau wüsste das die Funktion hinter der Adresse macht, wär ich glücklich^^. Sie hat irgentwas mit dem Chat zu tun und ihr einziger Paramter ist die Nachricht die im Chat gesendet wurde. Es liegt nahe, dass sie entweder die Nachricht im Client anzeigt oder die Nachricht an den Server sendet ... oder beides?


    Gruß
    florian0

    Der GameClient ist nicht in Flash/Air-ActionscriptKaka geschrieben. Das ist C++ (Microsoft Visual C++ 2005).


    Die Funktion, bzw der Teil der darunter folgt, haben mit dem Senden einer Nachricht zu tun:

    Code
    1. CPU Disasm
    2. Address Hex dump Command Comments
    3. 0081C1F0 /$ 55 PUSH EBP ; League_of_Legends.0081C1F0(guessed Arg1)
    4. CPU Disasm
    5. Address Hex dump Command Comments
    6. 0081C823 |. 50 PUSH EAX ; /Message
    7. 0081C824 |. 8BF3 MOV ESI,EBX ; |
    8. 0081C826 |. E8 C5C51200 CALL ChatThing ; \League_of_Legends.ChatThing


    Der CALL von oben:

    Code
    1. CPU Disasm
    2. Address Hex dump Command Comments
    3. 00948DF0 /$ 64:A1 0000000 MOV EAX,DWORD PTR FS:[0] ; League_of_Legends.ChatThing(guessed Arg1:string)
    4. [...]


    Klar, da sollte/muss man noch ein bissel nachforschen, aber ich würd einfach ma stupide versuchen die 0x00948DF0 aufzurufen. Vll reicht das schon.


    Gruß
    florian0

    Wenn die Hardware die selbe ist, sollte das kein Problem sein.


    Und wenn ich jetzt so richtig gelesen habe ist die Win7 Gamer Edition ein (inoffiziell) modifiziertes Windows 7 Ultimate. Sollte auch kein Problem sein.


    (Inwiefern das sich besser zum Zocken eignet sei jetzt mal dahingestellt ... kanns mir net so recht vorstellen)


    Gruß
    florian0

    Um abschließend noch was klar zu stellen:


    Das was WlND gepostet hat war grundsätzlich nicht falsch. Jedoch taugt es nicht um eine Kühlbox daran zu betreiben (Kühlboxen haben i.d.R. 60 - 180W).
    Um jediglich ein Navi zu laden braucht man halt nicht so ein Klotz-Ding was ich gepostet habe. Da reicht das ding von WlND allemale.


    Gruß
    florian0