Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 129
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 58, Antworten: 5
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16.09.2011, 10:46   #1 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard Lokale Variablen im Speicher

Hallo zusammen, hab da mal eine technische Frage:
Variablen die in einer proc lokal declariert & gefüllt werden, sind ja dem Hauptprogramm nach verlassen der proc nicht mehr bekannt. Wie sieht es denn mit dem Speicher aus? Werden beim verlassen der proc nur die Zeiger auf diese Variablen entfernt oder wird auch der aktuelle Inhalt dieser Variablen im Speicher gelöscht?
Wenn nicht, dann müßte ich ja diese Inhalte vor dem verlassen der procs immer mit 'clear' bereinigen, oder?
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 16.09.2011, 10:52   #2 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Hallo,
keine Bange, die Variablen belegen nach dem Verlassen der PROC keinen Speicherplatz mehr. Eine Ausnahme sind die Bereichsvariablen, die vor dem Verlassen der Prozedur DISPOSEd werden müssen.

Gruß
Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c
AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c


http://www.xprofan.de
RGH ist offline   Mit Zitat antworten
Alt 16.09.2011, 11:48   #3 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Zitat:
die Variablen belegen nach dem Verlassen der PROC keinen Speicherplatz mehr.
Ok - der Speicherplatz wird nicht mehr belegt (im Sinne von: er könnte vom System/Programmen anderseitig wieder benutzt weren)
Was für mich in diesem speziellen Fall interessant ist, ob der ehemalige Inhalt dieser Variable noch als "Datenmüll" im Speicher rumdümpelt, bis er vllt. irgendwann mit anderen Daten überschrieben wird. Z.B. hatte die Variable den Wert "Gänseblümchen", nach verlassen der Proc ist der Bereich wieder freigegeben - alles klar - aber das Wort "Gänseblümchen" steht erstmal weiterhin (als ascii-Code) in diesem freigegebenen Speicherbereich, richtig? Er wird also nicht vor dem Freigeben mit Nullbytes o.ä. gefüllt?
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 16.09.2011, 11:55   #4 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Der dümpelt dort evtl. weiter rum, bloß zuzuordnen ist der der Variable nicht mehr.
EVTL. heißt, insofern der Bereich weiter zugewiesen ist und nicht überschrieben wurde.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 16.09.2011, 11:57   #5 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Kann man problemlos nachweisen.
Bei deiner Frage bekomme ich etwas Bauchschmerzen - was hast du genau vor und warum fragst du das?
Eventuell bist du komplett auf dem falschen Dampfer...
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 16.09.2011, 12:21   #6 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Geht sicher darum, sensible (geheime) Daten nach deren Gebrauch sofort zu löschen, oder?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist gerade online   Mit Zitat antworten
Alt 16.09.2011, 12:24   #7 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Zitat:
Geht sicher darum, sensible (geheime) Daten nach deren Gebrauch sofort zu löschen, oder?
genau! ich bastel grade an einem Programm, das meine Passwörter verwalten soll.
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 16.09.2011, 12:38   #8 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

  1. Mittels Debugger lässt sich so was problemlos mit dem richtigen Haltepunkt unverschlüsselt aus dem Speicher lesen - egal wie du das löscht.
  2. Auch das hier bringt dir nichts:
    Passwort$ = "". Bleibt weiterhin im Speicher, denn der Variablen wird einfach nur eine neue Adresse zugewiesen, der Wert bleibt weiterhin im Speicher. Überschreiben mit WriteProcessMemory wäre da etwas sicherer, dann bleibt aber immer noch Punkt 1.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 16.09.2011, 13:07   #9 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Was nun technisch genau geschieht, hängt von der XProfan-Version und damit auch vom jeweils verwandten Delphi-Compiler ab.
In der aktuellen XProfan-Version werden einfache Stringvariablen verschlüsselt gespeichert. Außerdem wird beim Verlassen der Prozedur der Speicher der Variablen per API freigeben. Dabei werden allerdings nicht zwingend die einzelnen Bytes überschrieben.
Bei älteren XProfan-Versionen, die die Strings nicht verschlüsseln, hilft es, den String durch einfache Zuweisung mit einem String gleicher Länge aber mit anderem Inhalt, etwa Leerzeichen oder Null-Bytes, zu überschreiben. In dem Fall ändert sich die Adresse des Strings nicht.

Gruß
Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c
AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c


http://www.xprofan.de
RGH ist offline   Mit Zitat antworten
Alt 16.09.2011, 13:22   #10 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Mit neuen Versione kann ich leider nicht testen.
Da müsste man mir folgenden Code mal compilieren:
Code:
PROC Test
 Declare Adresse$
 Adresse$ = "Gänseblümchen"
 Print addr(adresse$)
 Adresse$ = " "
 Print addr(adresse$)
endproc
Test
WaitKey
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 16.09.2011, 13:31   #11 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Zitat:
Mittels Debugger lässt sich so was problemlos mit dem richtigen Haltepunkt unverschlüsselt aus dem Speicher lesen
das mit dem Debugger erledigt sich doch, wenn das Prog als .exe arbeitet, oder? Oder gibt es Debugger, mit dem man beliebige .exe-Progs debuggen kann? Und wenn ja, dann würde ich das sicherlich auf meinem Rechner merken oder löppelt so etwas auch im Hintergrund wie ein Trojaner etc.?
was macht den WriteProcessMemory genau? Könnte ich evtl. genausoviel leerzeichen oder Nullbytes in die Variable schreiben, wie die ürsprüngliche Länge des Wertes war? also:

Code:
pw$ = "                  "
oder
Code:
String addr(pw$), 0, "0000000000000"
die zweite zeile hab ich mir gerade ausgedacht (noch nicht probiert)
Aber irgendwas in der Art....

Zitat:
Auch das hier bringt dir nichts:
Passwort$ = "". Bleibt weiterhin im Speicher, denn der Variablen wird einfach nur eine neue Adresse zugewiesen,
und was genau macht:
Code:
clear pw$
Oder ich arbeite von vornherein mit Bereichsvariablen - die könnte ich ja dann gezielt nach gebrauch mit nullbytes überschreiben & disposen...

oh, während ich schrieb haben sich einige Beiträge hinzugesellt, also ich arbeiet mit XProfan 11
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 16.09.2011, 13:33   #12 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Zitat:
Oder gibt es Debugger, mit dem man beliebige .exe-Progs debuggen kann?
Ja, gibt es.

Zitat:
und was genau macht:

Code:
clear pw$
Jetzt die Adresse der Variablen auf 0.

Und: Ja man kann den Wert mit genausovielen Zeichen überschreiben - genau das mach man mit WriteProcessMemory auch.

Am besten compilierst du mir mit deiner Profanversion mal meinen Code oben. Ich sage und zeige dir dann, wie sicher das ist.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT

Geändert von AHT (16.09.2011 um 13:41 Uhr)
AHT ist offline   Mit Zitat antworten
Alt 16.09.2011, 13:40   #13 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Zitat:
Da müsste man mir folgenden Code mal compilieren:
nur kompilieren oder eine komplette .exe?
...und wie krieg ich das zu dir?
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Alt 16.09.2011, 14:04   #14 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Komplette EXE, hier hochladen (ist kostenlos), Downloadlink posten.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 16.09.2011, 14:20   #15 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von JörgG
 
Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
Standard

Das ist ja cool

Hier der Download:
File-Upload.net - speichertest.zip

und zum entfernen (nach dem Download):
File-Upload.net - Delete
__________________
Gruß Jörg

Ideen gibt es viele - man muß sie nur haben...
XProfan 11.2, XP-Pro SP2/3
JörgG ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variablen P!lle PHP/MySQL 4 24.12.2007 20:58
Variablen Scherzkex PHP/MySQL 1 08.09.2005 21:51
Lokale Administrationsrechte st.jimmy Windows XP 4 05.02.2005 15:32
Variablen in Variablen Jan brs PHP/MySQL 0 25.10.2004 11:31
Lokale Sicherheitslinie! DayAndNight15 Allgemein 6 21.10.2004 21:28



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2