Beiträge von Twice

    ja gut 32bit 64bit

    Das meine ich nicht.
    Deine Anwendung läuft sowieso in einer 32Bit Simulation. Deswegen gibt es auf deinem Level nichts, was du zwar auf 32Bit machen kannst, nicht aber auf 64Bit.


    Ich meinte eigentlich, dass ich meine kernel32.dll immer an 0x75C80000 habe. Du aber sicherlich anderswo. Und deine Funktion hat auch ein anderes Offset, wenn du eine andere Version der DLL hast, was durch alles mögliche (z.B. Windows Updates) verursacht werden kann.


    MfG

    Ich meine die kernel32.dll wird immer hat immer die gleiche Base-Address.
    Ich rate dir aber davon ab, deine GetTickCount-Adresse als konstant zu nehmen, weil es verschiedene Versionen und Systeme gibt und dann klappt das nicht mehr.


    Du kannst aber GetProcAddress(GetModuleHandle("kernel32.dll"), "GetTickCount") benutzen und weißt dann, an welche Stelle die DLL geladen wird.


    MfG

    Das heißt du willst deine Methoden, die ja mit einem Objekt assoziiert werden müssen als Pointer in einer Struktur speichern und das nur aus dem Grund der Übersichtlichkeit? Selbst wenn es nur Funktionen wären und kein .Net, würde ich das nie im Leben machen.


    Du kannst dir eine statische Klasse anfertigen. Dann hast du genau den Aufruf, den du geschrieben hast.
    Halte ich aber für schlechten Stil.
    Sonst schreib halt einen gemeinsamen Präfix vor deine Methoden. Macht man aber in C# auch nicht.


    Beste Möglichkeit, die mir auf die Schnelle einfällt, wäre ein enum, in dem du die Codes deiner QuickMessages auflistest und die dann in einer SendQuickResponse(QuickMessageId msg) in einem switch...case abfragst und die entsprechende Nachricht sendest.


    Ich muss anmerken, dass ich aus der C/C++ Ecke komme und mich in C# + .Net nicht sehr gut auskenne. Hör dir also lieber noch einen Ratschlag an, bevor du anfängst. ;)


    MfG

    Danke, aber das ist's nicht. Die Grafik war schon neuer und kann mit Rick Dangerous 2 verglichen werden. Womöglich noch etwas fortschrittlicher.


    MfG

    Hallo,
    ich weiß nicht genau weshalb, aber ich habe zur Zeit wahnsinnig viel Lust darauf, ein altes PC-Spiel aus meiner frühen Kindheit zu zocken.


    Ich kann mich nur an Bruchstücke erinnern:
    Es war in 2D und gesteuert wurde mit den Pfeiltasten. Ich glaube man konnte nicht springen, dafür aber Leitern auf seiner aktuellen Position bauen. Man konnte neben sich Löcher in den Boden zaubern, die sich aber nach einer Zeit (meine ich) wieder verschlossen haben. Ziel war es glaube ich das Ende des Levels zu erreichen und ich habe noch eine dunkle Erinnerung an Kristalle o.Ä., die man einsammeln musste/konnte. Zwischen den Leveln hat man eine Map angezeigt bekommen, in der man das nächste Level auswählen konnte.
    DIe Level hatten unterschiedliche Settings, aber ich glaube diese Übersichtsmap war viel mit Schnee bedeckt. Es gab dann noch Gegner, die man ausschalten konnte, indem man Löcher vor sie gezaubert hat und sie dann da rein gefallen sind.
    Was Story angeht, habe ich keine Ahnung mehr.


    Das ganze ist bestimmt 10 Jahre her.


    MfG

    Du solltest dir überlegen, ob Programmieren für dich das richtige ist, wenn du nicht weißt, wie du das konvertieren kannst.
    Überleg' doch mal, in deinem "HexString" stehen Zahlen in hexadezimaler Schreibweise und diese sind ggf. durch ein Leerzeichen getrennt. Die Leerzeichen kriegst du mit einer string Methode weg und dann läuft du den String einfach in einer Schleife durch und konvertierst jedes Bytes, das dort noch als String stehen (z.b. "AB") zu 0xAB. Da gibts von .Net auch Methoden für.


    MfG

    Dragon Age II gefällt dir, wenn dir Dragon Age gefallen hat. Kommt aber darauf an, welche Aspekte du beim ersten Teil gemocht hast.
    Guck dir mal andere BioWare spiele an. Zum Beispiel Mass Effect. ;)


    MfG

    Mit 3D solltest du nicht anfangen. Ein 2D Game zu zeichnen ist recht einfach, allerdings programmieren die meisten nicht, sondern coden/scripten sich was zu recht und was da raus kommt, ist einfach nicht schön. Ich habe an meinem Pong Spiel zum Beispiel über 16 Stunden gesessen, weil ich dahinter eine einfache Engine geschrieben habe, die mir unabhängig von der Anwendung Sound, Input, Rendering, Collision Detection, und mehr angeboten hat.


    C++ von A bis Z habe ich auch hier, halte das Buch aber eher für ein Nachschlagewerk und kein Lehrbuch für C++, obwohl man es als eins benutzen kann.


    MfG

    Du möchtest Funktionen aus dem Prozess aufrufen, oder einfach ein paar Bytes patchen?
    Für ersteres kannst du CreateRemoteThread benutzen, oder du kannst auch deinen Code in den MainThread oder an die Stelle schreiben, an der er ausgeführt werden soll (Natürlich + Jumping Back).


    MfG

    Code
    1. loginIP == "NULL"


    BItte?


    Du solltest breaken, da du in einem switch bist, sonst wird alles danach (bis es zum break kommt oder der Switch vorbe ist) auch ausgeführt.


    MfG

    Guck dir mal an, in welchem Modul die Exception auftritt.
    Es kann auch sein, dass du auf der entsprechenden Adresse keinen Server hast und die Verbindung somit fehlschlägt. Das sollte SRO aber eigentlich handlen...


    MfG

    Du startest SRO, attachst mit Olly, setzt bei den Settings "Break on new Module" wirst dann stoppen wenn du die DLL injectest und setzt dann einen BP auf die MessageBox die du per String-Search finden kannst.


    MfG

    Die DLL ist in .Net oder nur der Loader?
    Die DLL ist schon im Programm?
    Du möchtest die Funktionen der DLL aus deinem Programm aufrufen?
    Du willst SRO Funktionen aufrufen?
    Du willst, dass deine DLL eine MessageBox ausgibt?


    Ich verstehe dich nicht.


    MfG

    Ich mag das nicht. Ich habe mal E-Zigarette geraucht, aber es sieht lächerlich aus, fühlt sich schlecht an, schmeckt fast Shisha ähnlich süßlich und ich hatte kein befriedigendes Gefühl danach.
    Es war allerdings eine von einem Mädchen, das sonst Light-Zigaretten raucht.


    MfG