Suchergebnisse

Suchergebnisse 1-28 von insgesamt 28.

  • Benutzer-Avatarbild

    Vielen Dank nochmal @Takafusa , der CFF Explorer hat mir bisher sehr weitergeholfen. Mit Ghidra ist es ein unglaublich nützliches Werkzeug, um sich zurecht zu finden. Ich habe nun so in etwa verstanden, was der Stack Pointer so macht. Ist es also so, dass wenn ich etwas auf den Stack verfrachten (bspw. mov qword [rsp + 0x08], 0x110) möchte, ich den Stack Pointer quasi um 8 Bytes nach hinten "stellen" muss (sub rsp, 8 * 1)? Ich habe es geschafft, die WNDCLASSEXW-Struktur so auf den Stack zu bekom…

  • Benutzer-Avatarbild

    So sollte der Beitrag eigentlich nicht aussehen. Naja, machen wir halt mal Lückenraten Das hätte ich wohl nie gefunden. Ich bin eigentlich so an die Sache ran gegangen, mich mit Assembler zu beschäftigen, dabei aber kaum ein Augenmerk auf das Übersetzungstool zu legen (NASM), was ja auch so einiges gut beschreibt. Das ist jetzt etwas zusammenhangslos, aber ich frage einfach mal. Die EXE, die ich da quasi "nackt" und ohne Kompiler/Linker schreibe, orientiert sich vb-paradise.de/index.php/Attac…f2…

  • Benutzer-Avatarbild

    Moin Moin, ich finde mich gerade etwas in Assembler ein und habe im Internet einen sehr kleinen und einfachen Assembler-Code gefunden, der bereits alles "vor eingestellt" hat, quasi keine Verlinkungen durch einen Linker mehr braucht, sondern nur noch kompiliert, also von der Assemblersprache in den Zahlencode übersetzt werden muss. Dazu nutze ich nasm und es funktioniert prima. Das kleine Programm stellt eine ganz einfache MessageBox dar. Was ich mich aber frage ist, warum der Stack Pointer (als…

  • Benutzer-Avatarbild

    Alles gut, kann passieren. Trotzdem danke CheatEngine kenne ich tatsächlich bereits, nur bin ich mit der Bedienung noch nicht ganz vertraut. Durch Ghidra habe ich das Programm auch mal durchlaufen lassen, ebenso einmal in IDA Free. Ich könnte ja jetzt versuchen, herauszufinden, ob ich irgendwo im Assembler-Code Hinweise auf meine Gesuchte Einstellung finde. Eine Frage noch schnell zum BasePointer: So wie ich das jetzt gesehen habe, arbeitet man in Assembler selbst mit festen relativen Adressen. …

  • Benutzer-Avatarbild

    Guten Abend, der Titel bedarf etwas Erläuterung. Ich habe ein Spiel, das ich nicht selbst erstellt habe. Dieses Spiel erlaubt es einem leider nicht, während der "Sitzung" eine bestimmte Eigenschaft zu verändern, die ich so gerne verändert haben möchte. Theoretisch müsste es sich nur um eine Zahl handeln, die zu verändern ist. Diese Einstellung lässt sich vor dem Start des Spiels durchführen, vielleicht müsste man hier mal schauen, wo diese Einstellung im Arbeitsspeicher in dem Moment hinterlegt …

  • Benutzer-Avatarbild

    @VaporiZed Gute Frage IntelliSense sagt mir, ihm fehle die Definition einer anderen Member-Funktion. Dabei existiert diese in der cpp-Datei und außerdem ist die Deklaration in einer ganz anderen Zeile, in der ich den grünen Kringel da viel eher hin packen würde. Ja, in der Datei ist/war irgendwie alles etwas verschoben. Mich würde interessieren, was den Cache da so durcheinander bringt. @exc-jdbi Danke für die Links, da stehen noch einige relevante Infos drin.

  • Benutzer-Avatarbild

    Ja, die Vorschläge nutze ich eigentlich immer. Dreimal Slash und man kann lostippen. Ich habe herausgefunden, dass es wohl ausreicht, den unsichtbaren ".vs"-Ordner zu löschen. Welche Datei(en) nun genau an diesem Dokumentationscache beteiligt sind, versuche ich nochmal herauszufinden. Es handelt sich nicht um C++/CLI, sondern um einen eigenen Versuch, Win32-Funktionen zu kapseln. Nach dem Muster wie man es aus C#/C++CLI kennt.

  • Benutzer-Avatarbild

    Einen schönen guten Abend zusammen, in den Header-Dateien meiner derzeitigen Projektmappe kommentiere ich immer fleißig die Klassen- und Funktionsdeklarationen mit den XML-Tags: XML-Quellcode (1 Zeile) Das klappt auch soweit so gut bis zu einem bestimmten Punkt. Ich habe das Gefühl, dass die Anzeige der Zusammenfassungen in diesem Popup-Fenster ab einer bestimmten Komplexität der Projektdateien fehlerhaft oder gar nicht mehr eingelesen werden. vb-paradise.de/index.php/Attac…f29d63424d0c43d34e94e…

  • Benutzer-Avatarbild

    Mahlzeit! Ich habe mir mithilfe eines Templates eine Eigenschaften-Klasse erstellt. Die Objekte dieser Klasse verhalten sich ungefähr so gleich wie dieses hier: docs.microsoft.com/de-de/cpp/cpp/property-cpp?view=msvc-160 Warum verwende ich es nicht direkt? Da man auf private Klassenmember mit dieser Methode keinen Zugriff hat. Und ich würde ganz gerne verhindern, dass man die internen Variablen "von außen" sehen kann. Diese Property-Klasse sieht wie folgt aus, interessant wird vor allem Zeile 54…

  • Benutzer-Avatarbild

    Oder, noch besser, GetKeyState(). Naja, eine unnötige Frage wieder mehr gestellt. Manchmal fehlt einem nur ein Gedankengang zum Ziel. Mit GetKeyState filtere ich also jetzt die CTRL Taste raus, damit in der Message WM_KEYDOWN, die in meinem Falle WM_CHAR vorzuziehen ist, solche Tastenkombinationen nicht als Character erkannt werden. ALT Codes wiederum triggern nur die Message WM_CHAR und WM_KEYDOWN gar nicht.

  • Benutzer-Avatarbild

    Guten Abend, ich arbeite aktuell in der WndProc und möchte beim Abhandeln der Message WM_CHAR einen Abgleich zwischen dem Scan Code machen, der aus dem 16. bis 23. Bit von lParam extrahierbar ist und der Funktion OemKeyScan, die im low-order-word ebenfalls den Scan Code des über wParam gelieferten characters ausgibt. Dann noch kombiniert mit der Funktion IsCharAlphaNumeric ist mein Ziel zu ermitteln, ob es sich bei dem input character um ein schreibbares/darstellbares Zeichen handelt. Nochmals k…

  • Benutzer-Avatarbild

    Guten Abend zusammen, ich würde mich gerne über die Schnelligkeit und Sauberkeit lokaler, dynamisch allokierter Variablen informieren. Der Prozess des dynamischen Allokierens ist ja der, dass über den überladenen C++ Operator "new" letztlich mit (void*)malloc(size_t) neuer sequentieller Speicher gesammelt und die Adresse zurückgegeben wird, die auf die erste Sequenz des neu reservierten Speichers zeigt. Soweit so gut, ich frage mich, wie ressourcenintensiv dieser Prozess ist. Ich habe nämlich ei…

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „ Ich hab schon oft das Rad neu erfunden, aber auf den Bolzen bin ich noch nicht gekommen. ;)“ Das denke ich mir auch immer wieder, wenn ich vor einem Problem in C++ stehe, die Lösung gedanklich vor Augen habe, sie niederschreibe und dann später mal merke, dass es dafür bereits eine vordefinierte Standartfunktion gibt. Das mit der Google-Suche ist wohl wahr, nur finde ich es manchmal ganz hilfreich, parallel zum Suchen auch in einem Forum nachzufragen. Man trifft dann…

  • Benutzer-Avatarbild

    Ja, aber ich glaube, dass jeder so anfängt. Erst mal wird vieles versucht, einfachste Dinge ausprobiert, viele wagen sich sogar schon an größere Dinge ran und vergessen dann dabei, dass sie das System der Datentypen noch gar nicht richtig verstanden haben. Ich würde fast sagen, dass jeder schon mal versucht hat, einen Integer in einen String zu hämmern. Das ist ganz normal. Man muss nur irgendwann lernen, dass das so nicht korrekt ist

  • Benutzer-Avatarbild

    Ich habe mal versucht, mir die Ausführungsschritte mit Haltepunkten anzuzeigen. Das wesentliche wird da leider irgendwie übersprungen, sodass die Umwandlung in den Buffer plötzlich stattgefunden hat Ich habe mir das ganze auch noch mal in Ghidra angeguckt und komme zu dem Entschluss, dass sprintf_s (und seine verlinkten Funktionen) einfach nur eine Umrechnung der Hexadezimalzahlen durchführt. Letztlich landet man hier: C:\Windows\WinSxS\wow64_microsoft-windows-ucrt_31bf3856ad364e35_10.0.19041.78…

  • Benutzer-Avatarbild

    Danke! Ich war so pessimistisch, dass ich nicht in der Header-Datei geguckt habe. Da kann man sogar Haltepunkte platzieren und schauen, was passiert. Interessant! Pessimistisch deswegen, weil der eigentliche Funktionscode ja meist in einer lib versteckt ist. Hier anscheinend nicht. Jetzt wäre nur noch interessant zu wissen, was sprint_f im Hintergrund macht. Übergeben wird einmal der Output-Buffer, die Größe der zu formatierenden Zeichenkette, das Format ("%f") und der oder die eigentlich(en) zu…

  • Benutzer-Avatarbild

    Guten Abend! Ich finde die std::string-Klasse ziemlich interessant, da sie sehr flexibel ist und gefühlt unendlich viele Einsatzmöglichkeiten bietet. Mal eben schnell eine Edit Box nach einem Text durchsuchen? std::string::find! Wobei man hier wohl eher den wide-string benutzen sollte. Wie dem auch sei. Mich interessiert, wie to_string arbeitet. Ich habe mal versucht, selbst eine Konvertierungsfunktion zu schreiben und dies mit einer for-Schleife gemacht, in der ich einen char so lange hoch zähl…

  • Benutzer-Avatarbild

    Guten Morgen, ich habe eine Frage zum genannten Thema. Es geht um eine Anwendung (.exe), die über die explizite Verknüpfung (GetProcessAddress) auf eine DLL zugreift. Die DLL besitzt eine virtuelle Funktion OnEntry in der Class "TestClass". OnEntry wird über einen Zeiger der TestClass selbst aufgerufen C-Quellcode (3 Zeilen) In der cpp der Anwendung kann man diese Funktion (bei der impliziten Verknüpfung) nun nutzen, da sie genau dann aufgerufen wird, wenn irgendwo im Code der DLL auf Zeiger->On…

  • Benutzer-Avatarbild

    Da habe ich etwas verwechselt. LEA macht natürlich genau das, was du beschrieben hast, lädt aber doch auch dann die Speicheradresse von "Hallo Welt". Ich habe noch etwas nachgeforscht und heraus gefunden, dass es einige Unterschiede in der Hex-Architektur zwischen 32-bit und 64-bit gibt. Ich habe den GCC Compiler eine 64-bit Datei ausgeben lassen, während ich im Visual Studio Win32 ausgewählt habe. Wähle ich auch beim GCC 32-bit, dann ist der Aufruf wieder "sichtbar": vb-paradise.de/index.php/At…

  • Benutzer-Avatarbild

    So ist es. Unter .rdata kann man die VirtualAddress ermitteln, unter der die Strings abgespeichert werden. Das konnte ich letzten Endes mit PE Explorer ermitteln. Visual Studio hat mir immer schön die (wahrscheinlich) absolute Adresse angezeigt, während im Hexa-Code nur mit den relativen Adressen (RVAs) gearbeitet wird. Kein Wunder, dass ich ewig gesucht habe. Diese Art der Verlinkung macht aber scheinbar nur der Compiler und Linker, den Visual Studio verwendet. Benutze ich den GNU GCC Compiler,…

  • Benutzer-Avatarbild

    Ich habe die Vermutung, dass ich ein natives Cpp-Programm habe. Ich habe in Visual Studio einfach eine Konsolen-App erstellt. Da müsste ich mit .NET erstmal nichts zutun haben oder gibt es in den Projekteinstellungen Punkte, die das trotzdem mit einbeziehen? Welche Laufzeitumgebung braucht denn so eine normale Konsole? Ich vermute, dass eine Konsole an sich erst mal aufgerufen werden muss, das könnte noch zusätzlich in der EXE-Datei stehen. Also dass sie dieses Konsolen-Programm an sich erst mal…

  • Benutzer-Avatarbild

    Guten Morgen zusammen, ich wollte mal wieder in die Programmierung einsteigen und würde gerne ganz vorne anfangen. Mich beschäftigt seit einigen Tagen der Maschinencode und wie dieser vom Prozessor verarbeitet wird. Man mag das für Grundwissen halten, aber ich dachte bis dato immer, dass EXE-Dateien völlig verschlüsselt wären und man damit nichts mehr machen kann, aber ich wurde des besseren belehrt. Die Zeichen, die man da immer sieht, wenn man so eine Datei in den Editor zieht und sich halt al…

  • Benutzer-Avatarbild

    Ungefähr das habe ich nun mal gemacht. Ich habe alle Ecken (Vertices) genommen und sie in den Ursprung verschoben, sodass alle 8 Kanten die Koordinaten 0, 0, 0 haben. Heraus kommt dann als VertexBuffer folgendes: (Versteckter Text) Der IndexBuffer gibt nun das aus: (Versteckter Text) Es ist logisch, dass sich die Indexe verringert haben, da man nun mit weniger Positionen die Koordinaten der Vertices beschreiben kann. Schlau werde ich daraus aber trotzdem noch nicht. Ich habe jetzt die leise Verm…

  • Benutzer-Avatarbild

    Also Blender arbeitet mit der .obj-Dateienendung. Diese Output-Datei, die der Exporter mit raus wirft, hat die Datenendung GeoPcDx, aber, wie bereits angedeutet, arbeitet damit ein Game.

  • Benutzer-Avatarbild

    Nein, ich bin mir sicher, dass du mit deiner Vermutung recht hast, denn gerade wo ich das mit Koordinaten der Vertices, Normalen und Textur lese, fällt mir ein, dass in der Datei noch das hier steht: (Versteckter Text) Das wäre die gesamte Datei: (Versteckter Text)

  • Benutzer-Avatarbild

    Also der Code ist der hier. Ich probiere nochmal, ob das einfache KeyDown-Event über die Form funktioniert. (Versteckter Text)

  • Benutzer-Avatarbild

    Hallo zusammen, das Thema KeyHook ist wohl teils brisant, da es missbraucht werden kann, um damit unschöne Programme zu schreiben ... ich möchte hiermit versichern, dass ich das nicht vor habe. Mein Problemchen ist nämlich folgendes: Meine CPU ist in die Jahre gekommen und wenn ich Spiele wie GTA offen habe und der PC meint, den GTA-Prozess zu himmeln ("Keine Rückmeldung" wird wohl im Task-Manager stehen), dann friert das Spiel ein und dank des Vollbild-Modus kann ich den Task-Manager nicht öffn…

  • Benutzer-Avatarbild

    Guten Morgen! Ich habe habe in Blender einen Würfel erstellt, dessen Pivot auf der Koordinate (1, 1, 1) ist (siehe Anhang). Der Würfel hat keine Rotation und die Skalierung bleibt bei 1. Die Rotationsmatrix, die hier nicht weiter relevant sein wird, ist somit (1, 0, 0, 0, 1, 0, 0, 0, 1). Mithilfe eines Exporters wird eine Modelldatei für ein Computerspiel erstellt, die sich auslesen lässt, da sie nicht kompiliert wird. Mir fiel dabei folgendes auf: Das Modell scheint über seine Vertices (Vertex)…