Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String filtern (https://www.delphipraxis.net/73634-string-filtern.html)

Nikolas 21. Jul 2006 15:29

Re: String filtern
 
Sehr interessant auch:
Delphi-Quellcode:
str:='kk';
setlength(str,50);
showmessage(str);
Ich bekomme da ein ''kkmctl32.dll'' raus. Kann das jemand erklären? und wenn man das str:='kk' entfernt, steht ein 'Button1' da.

3_of_8 21. Jul 2006 15:34

Re: String filtern
 
Die Wege des Speichermanagers sind unergründlich...

Christian Seehase 21. Jul 2006 15:34

Re: String filtern
 
Moin Toxman,

Du bekommst halt das, was gerade im Speicher steht, da SetLength den Inhalt nicht initialisiert.

3_of_8 21. Jul 2006 15:38

Re: String filtern
 
Und warum steht da immer das gleiche? :gruebel:

Nikolas 21. Jul 2006 15:44

Re: String filtern
 
Da kann ich mich Manuel nur anschließen. Den Code hatte ich in einem einsamen Button auf einem Form geschrieben und seinen Namen nicht verändert. Wenn also 'Button1' rauskommt, müsste der Speicherplatz für den String in/vor dem Speicherplatz der exe sein. Nur wenn dann die Variable initialisiert wird, steht sie plötzlich nicht mehr von der Caption des Button, sondern anscheinend woanders. Weiss denn jemand spontan, was die mctl32.dll macht?

Khabarakh 21. Jul 2006 16:01

Re: String filtern
 
Zitat:

Zitat von 3_of_8
Und warum steht da immer das gleiche? :gruebel:

Warum nicht :gruebel: ? Solange du keine großen Änderungen vornimmst, bleiben die Speicheradressen natürlich gleich.

3_of_8 21. Jul 2006 16:03

Re: String filtern
 
Also ich hätte jetzt gedacht, dass so etwas zur Laufzeit festgelegt wird und daher von vielen anderen Sachen abhängt: Andere laufende Prozesse usw...

Nikolas 21. Jul 2006 16:07

Re: String filtern
 
Aber inwiefern ist die Initialisierung dabei wichtig?

3_of_8 21. Jul 2006 16:09

Re: String filtern
 
Wahrscheinlich nimmt der Speichermanager dann nen anderen Speicherblock...

Der_Unwissende 21. Jul 2006 16:21

Re: String filtern
 
Hi,
wo genau der Speicher angelegt wird hängt auch von einer ganze Menge verschiedener Dinge ab. Es wird sicherlich bevorzugte Bereiche geben, aber letztlich können auch die schon belegt sein (z.B. zwei Instanzen des gleichen Programms).
Da gibt es auch ein paar aktuelle Techniken, die glaube ich gerade versuchen den Speicher mal etwas zu zerwürfeln, da diese momentane Vorhersagbarkeit wo was landet die Schwachstelle ist, die für Überläufe (bzw. die resultierenden Attacken) ausgenutzt wird.

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz