PS: Nicht nur die Namen der Variablen lassen sich problemlos und sicher ermitteln, sondern auch unter (XProfan11) ihre Adresse. Unter Xprofan11 muss man sich dabei etwas mehr nach dem "Delphi-Tutorial" zum Ändern von Variablen richten.
Ich möchte hier noch einmal betonen, dass das kein Sicherheitsloch von XProfan ist, sondern dass das wirklich im Prinzip mit jeder Programmiersprache möglich ist, ich meine Variablen aus einer EXE zu holen, ohne den Code zu haben (man muss bloß wissen wie).
Das "Wissen wie" ist beim besten Willen keine Expertensache, das ist in anderen Sprachen (zum Beispiel Delphi) von recht pfiffigen Leuten sehr gut erklärt worden.
Wenn also irgenjemand behaupted, es wäre unter NT basierenden Systemen nicht möglich, lesend und schreibend auf fremden Prozessspeicher Zugriff zu erhalten oder in einer fremden EXE Variablen auszulesen und zu ändern (hier sogar in einer verschlüsselten XProfan EXE die Namen zuzuordnen), glaubt dem bitte nicht.
Adresse einer XProfan Variablen von einem fremden Programm aus ermitteln und ändern
-
AxT -
8. Februar 2010 um 14:01 -
Geschlossen
-
-
-
Zitat von Frabbing;766669
Ein Rekompiler aber nicht.
Die Anwendung eines Recompilers ist nur in ganz wenigen Fällen nicht gegen das URHG - damit beschäftige ich mich gar nicht erst.
Einen solchen "Debugger" halte ich im Prinzip nicht für ganz ungefährlich - wenn es den geben wird, dann werden den nur Leute bekommen, von denen ich hundertprozentig weiß, dass sie so etwas für ihre Anwendungen benötigen und keinen Blödsinn damit anstellen.
Mir geht es im Prinzip nur etwas gegen den Strich, laufend irgendwelche Sachen lesen zu müssen, von denen ich weiß, dass sich Leute aus anderen Programmiersprachen beim durchlesen vor Lachen einpissen würden :(. Ich bin gegen jede Art von Inkontinenz - schon aus beruflichen Gründen - es geht hier also in diesem Thread um Inkontinenzprophylaxe, nicht um das Schreiben einer Anwendung. Warum Schwedenhöschen nehmen , wenn man das Übel an der Wurzel packen kann - ist doch viel besser so ... -
Mach mal
-
- erledigt -
-
Jaja, wir sind alle nicht perfekt. Solltest du nur zum Streiten gekommen sein, bist du hier verkehrt. Das nur schonmal vorweg gesagt.
Angeregte Fachsimpeleien dagegen sind immer gerne gesehen. -
Zitat von Frabbing;766901
Solltest du nur zum Streiten gekommen sein, bist du hier verkehrt.
Behauptungen (oder sinds doch wieder Lügen?), was "Herr Strutz" gesagt haben soll, und was nicht, habe ich hier jedenfalls nicht aufgestellt, sondern diese hinterfragt, rein aus schlechter Erfahrung im Umgang mit Euch - kann man sicher auch nachvollziehen.
-
Zitat
...kann man sicher auch nachvollziehen
Kann "man" eben nicht. Den Großteil der Leute interessieren eure Streitigkeiten nicht, weil sie nicht wissen, worum es überhaupt geht. Klärt das via PN.
-
Hier im Thread ist die Rede davon, dass Herr Strutz irgendwas behauptet haben soll.
Wenn Du jetzt nicht nachvollziehen kannst, dass Herr Strutz hier im Thread zurecht fragt, wo er das denn behauptet haben soll, um festzustellen, ob diese Behauptung tatsächlich überhaupt erstmal stimmt, dann hast Du ein persönliches Problem, welches Du vielleicht per PN klären solltest.
-
Zitat
Hier im Thread ist die Rede davon, dass Herr Strutz irgendwas behauptet haben soll.
So, den Satz habe ich jetzt gestrichen, hatte hier auch nichts zu suchen. Den Rest könnt ihr unter euch regeln.
-
Satzlöschen ist hierbei auch nicht im Sinne "Angeregte Fachsimpeleien". Wenn ich das so "vermittelt" habe, wie AHT das behauptet, dann verstehe ich auch sein Aufgerege.
@AHT: Ich glaube aber mal eher, ich habe sowas geäußert wie: Grundsätzlich seit NT können Prozesse nicht mehr auf Speicher fremder Prozesse zugreifen/ sie ändern. (sehr gekürzte Variante)
Der Satz sollte beschreiben, weshalb ein Lesen/Schreiben auf Speicher mit konventionellem mov eax=adresse mov [eax],wert nicht ohne Ausnahmeverletzung folgt, wenn Adresse aus Fremdprozess - gleichzusetzen vlt. mit rtlMoveMemory oder XProfan long a&,o&= - wo es eben scheitert.
Was Du meinst ist aber etwas anderes, als hätte ich damit gesagt, dass es nicht möglich sei, einen Prozess zu schreiben, der mit Hilfe des Betriebssystemes, beliebig auf andere vom Betriebssystem "gehostete" Prozesse, zugreift.
Sind wir damit dann zumindest fachlich einig, oder wo irre ich mich hierbei?
-
Wofür gibt es eigentlich in diesem Forum die Möglichkeit der PN (Persönlichen Nachricht)
-
Hallo,
mal so ein kleiner Tipp am Rande. Wenn Euch ein User auf die Nerven geht, könnt Ihr seine Beiträge ganz einfach ausblenden lassen. Tragt hierfür einfach den Namen der Person in die Ignorierliste ein, die über das Kontrollzentrum im Abschnitt Einstellungen & Optionen zu erreichen ist.
Gruß
Schwabenpfeil! -
Hallo,
hier mal eine EXE der aktuellste Alpha-Version vom künftigen XProfan 12:
http://www.rgh-soft.de/aht.zip
Gruß
Roland -
Deine globale Variable befindet sich bei mir momentan an Adresse 52456304. Ein Pointer auf deine globale Variable befindet sich immer an Adresse 52034622 (alles dezimal).
Ein Pointer auf die lokale Variable befindet sich immer an Adresse 52034635. Das ich an die Pointer komme, dürfte dir vorher schon klar gewesen sein.
Ich habe hier scheinbar mehr Probleme, die Variablennamen auszulesen als bei den anderen Versionen. Hast du da was geändert? Wenn ja, schaue ich nicht weiter (hab dann alles erreicht, was ich wollte), sonst werfe ich noch mal einen näheren Blick auf die Sache - hab im Augenblick wenig Zeit.
[Blockierte Grafik: http://s3.postimage.org/lGhCS.jpg] -
Zitat von AHT;768279
Ich habe hier scheinbar mehr Probleme, die Variablennamen auszulesen als bei den anderen Versionen. Hast du da was geändert?
Ja, habe ich!
Gruß
Roland -
Perfekt!!!!
Habe gerade kurz vorher gelesen, dass du sowieso an den Variablen gebastelt hast - davor hatte ich nicht damit gerechnet, dass sich da was tut.
Weiterhin gilt: Variablen sind, genau so wie alle anderen dem Programm mitgegebenen Daten, nicht sicher. Es ist ein Kinderspiel Variablen fremder Prozesse auszulesen und diese zu faken - manche Cheaprogramme für Spiele machen das so - auch bei Zusatztools für ICQ gab es in Delphi Fragen dazu, die ganz gut beantwortet wurden.
Inherhalb von Delphi gibt es zum Beispiel auch sehr pfiffige Leute, die Units für API Hooking geschrieben habe, die im Prinzip jeder mit einer besseren Delphi Version nutzen kann. An Daten, die man nicht über direktes auslesen erfahren kann (hier ging das ja), kommt man in der Regel über API-Hooking oder den Einsatz eines Debuggers problemlos ran, der Haltepunkte setzen kann (denn APIs können mit codierten Daten nichts anfangen).
:helfer: -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!