![]() |
Delphi-Version: 10.2 Tokyo
Funktion returned falsche Werte?
Liste der Anhänge anzeigen (Anzahl: 2)
Heute wieder angefangen mit Delphi seit langem und schon hab ich 3 Fragezeichen auf dem Kopf.
Hier ein kleiner Ausschnitt der Funktion
Delphi-Quellcode:
function TCore.GetGlobal: DWORD64;
var Registers: TContext; Key0, Key1: DWORD64; Globals: array[0..20] of DWORD64; I: Integer; begin with Registers do begin Key0 := GLOBAL_INIT_KEYS[0]; Key1 := GLOBAL_INIT_KEYS[1]; ConstructKeys(Key0, Key1); Rax := Key1; R8 := Process.Read64(Process.RvaToVa(GLOBAL0)); Rdx := DWORD(R8); Rax := ROL(DWORD(Rax), 1) + Rdx; R8 := R8 shr $20;
Delphi-Quellcode:
In der Funktion Read64 ist der Wert von Result eine 64-Bit Addresse und nach dem Return ist der zugewiesene Wert irgendwas anderes.
function TProcess.Read64(AFrom: DWORD64): DWORD64;
var ReadCount: NativeUInt; begin ReadProcessMemory(FProcessHandle, Pointer(AFrom), @Result, SizeOf(DWORD64), ReadCount); end; Screenshots im Anhang. Wtf? Edit:// Okay liegt scheinbar an dem with keyword. Was zeigt mir der Debugger denn da an bei R8? Mit Registers.R8 wird es korrekt dargestellt... War einfach nur sehr verwirrend weil genau der Wert sowieso die Ursache dafür ist dass etwas in der Decryption falsch läuft und dann sah es halt so aus als ob der Grund dafür dass der Wert falsch ist die Funktion ist. Ich wünschte man könnte wie in Visual Studio einfach global alle Werte als Hex anzeigen und ich könnte einfach über die Variablen hovern beim Debuggen, das ist ja echt zum Ktzen umständlich, Ctrl + F5, Rechtsklick Edit, "Showas Hex"... Wer denkt sich sowas aus? Yep, der Debugger spinnt komplett, bekomme einfach teilweise mal ne 32 Bit Addresse angezeigt, mal den richtigen Wert. |
AW: Funktion returned falsche Werte?
Hallo,
und ohne das with? |
AW: Funktion returned falsche Werte?
Moin...8-)
Zitat:
Machen wir eine Petition an Emba...:thumb: Zitat:
|
AW: Funktion returned falsche Werte?
Hallo,
in der VCL sind auch Zitat:
ohne mein with Query do begin end; geht es nicht ! |
AW: Funktion returned falsche Werte?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Delphi-Quellcode:
...was zeigt der Debugger über AsInteger an? Nüscht. :stupid:
with Query do
begin ParamByName('Blubb').AsInteger := FunctionXY; end; @TE: Hover siehe Bild. ![]() @TE: Bei mir sind diese Fenster (#1) auf Ctrl + F7. Hast du eine andere Konfiguration oder war das ein Tippfehler? |
AW: Funktion returned falsche Werte?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Was mich auch stört, ist dass die IDE am rumfliegen ist alias "debug view mode". Lässt sich wahrscheinlich deaktivieren aber ist schon spannend, wie ich versuche auf dem rechten Bildschirm zu arbeiten und jedes mal wenn ich auf debuggen drücke siche die gesamte IDE auf den mittleren Bildschirm verschiebt und alle subwindows neu gedockt werden etc... Ich überreagiere vlt. - vor allem weil ich erst seit heute die IDE habe, aber als gewohnter VS17 nutzer fühlt sich das erst mal sehr clunky und nicht gerade intuitiv an was da visuell passiert (und auch die Werte von with im debug mode). Ich setze mich später mal intensiver mit der IDE auseinander, vlt. gibt's ja paar optionen irgendwo versteckt. Zitat:
|
AW: Funktion returned falsche Werte?
Hallo,
Zitat:
Zitat:
|
AW: Funktion returned falsche Werte?
Zitat:
|
AW: Funktion returned falsche Werte?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
1. deine Aktuelle Ansicht -> speichern oder mit neuem Namen anlegen. Für jede Aufgabe ein Desktop. :thumb: 2. Debug Ansicht wählen -> einstellen -> speichern -> Debug Desktop einstellen Fertsch...:P Zum Thema HEX: Man kann eigene "Visualisierungen" erstellen. (Bild) ![]() Stichworte: IOTADebuggerVisualizer IOTADebuggerVisualizerValueReplacer IOTADebuggerVisualizerExternalViewer |
AW: Funktion returned falsche Werte?
Zitat:
und uns hier dann die Report Nummer kundtust... ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz