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 > Spezielles

Spezielles Für die Bereiche API, Subclassing, Inline-Assembler, Prozesse, ect.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26915, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3326, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 312, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7643, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 23, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 58, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 146, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 71, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50944, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23.08.2009, 21:21   #1 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard Speicher anfordern via API

Als Alternative zu Bereichen kann man auch per API sehr einfach Speicher anfordern:

Code:
speicherhandle&=GlobalAlloc($40,anzahlbytes&)
If speicherhandle&
  '...
  GlobalFree(speicherhandle&)
EndIf
Der Speicher wird vom System nie verschoben und kann mit neueren XProfan-Versionen mittels Long/Word usw. beschrieben und ausgelesen werden. Beim Anfordern wird der Speicher mit Nullen beschrieben.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 24.08.2009, 16:37   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Öhm, warum sollte ich das anstelle von Dim benutzen?
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 30.08.2009, 19:45   #3 (Direktlink)
Erfolgreich angemeldet
 
Benutzerbild von Nico Madysa
 
Registriert seit: 13.02.2009
Beiträge: 4
Standard

Der offensichtlichste Vorteil ist, dass der Bereich gleich leergeräumt wird. Weiteres wissen sicherlich Frank und iF dazu.
Nico Madysa ist offline   Mit Zitat antworten
Alt 30.08.2009, 19:59   #4 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.079
Standard

Äh..kann das nun ein anderes Programm auch lesen, wenn es das Handle hat?
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist offline   Mit Zitat antworten
Alt 30.08.2009, 20:15   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Oh, Jacs Frage hab ich wohl übersehen, sorry.

Zitat:
Der offensichtlichste Vorteil ist, dass der Bereich gleich leergeräumt wird. Weiteres wissen sicherlich Frank und iF dazu.
Ob es die großen Vorteile gibt, mag ich mal bezweifeln. Ist eben eine alternative Lösung.
Ein Vorteil zu XProfan11 mag aber sein, dass der Speicher immer fest ist, d.h. er wird vom System nie verschoben. Liegt jedoch nicht direkt an GlobalAlloc, sondern an den von mir verwendeten Flags. Es gibt auch ein Flag für verschiebbaren Speicher. Ich habe aber mit fixem Speicher gute Erfahrungen gemacht. Alle meine Dll's verwenden diesen.

Zitat:
Äh..kann das nun ein anderes Programm auch lesen, wenn es das Handle hat?
Nicht ohne Weiteres. Hab aber in Rolands Forum ja schon geschrieben, dass noch die APIs ReadProcessMemory/WriteProcessMemory existieren, die wohl Speicher anderer Prozesse lesen/schreiben können. Ich hab aber kein Beispiel parat und in der Richtung noch nicht großartig geforscht.

Mein Botschafter benutzt Listviews (Listboxen), um mit anderen Prozessen zu kommunizieren. Eine andere Möglichkeit wäre
WM_COPYDATA oder WM_USER, bzw. DDE. Hast du in der Richtung schon probiert?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.

Geändert von Frabbing (30.08.2009 um 20:35 Uhr) Grund: Rechtschreibfehler
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.08.2009, 20:21   #6 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Zitat:
Zitat von p. specht Beitrag anzeigen
Äh..kann das nun ein anderes Programm auch lesen, wenn es das Handle hat?
Soweit es das darf (Zugriffsrechte), ja.
Zitat:
GlobalAlloc funktioniert dafür (natürlich) nicht, jeder Prozess hat seinen eigenen Speicherbereich und ein fremder Prozess kann dieses (im Normallfall/NT) nicht lesen/schreiben.
Das ist natürlich großer Blödsinn. Es gibt Handles und OpenProcess und die APIs, die Frank schon angesprochen hat. Das für den Austausch von Daten zu nehmen, ist aber nicht die beste Möglichkeit.

Der Normalfall ist eher, dass Prozesse, die im selben "Account" laufen (ich meine, den selben ausführenden User haben). generell die Rechte haben, das ohne weiteres zu tun - also Prozessspeicher lesen und ändern können. Wäre das nicht der Fall, würden Taskmanagertools gar nicht funktionieren und die Hälfte aller APIs nicht (im Prinzip würde Windows, so wie es jetzt ist, gar nicht gehen)!
__________________
______________

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

Mfg

AHT

Geändert von AHT (30.08.2009 um 21:35 Uhr)
AHT ist offline   Mit Zitat antworten
Alt 30.08.2009, 20:35   #7 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Welches ist die Beste deiner Meinung nach?
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 30.08.2009, 20:42   #8 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Zitat:
Zitat von Frabbing Beitrag anzeigen
Welches ist die Beste deiner Meinung nach?
Filemapping ist da angebrachter.
__________________
______________

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

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 30.08.2009, 20:48   #9 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Noch was zu dem Thema: Lass einen, der vernünftig programmieren kann, an deinen Rechner und er ermittelt dir ohne weiteres die Adresse einer Variablen in einem fremden Programm - liest diese aus und ändert die nach belieben.
__________________
______________

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

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 30.08.2009, 21:01   #10 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Ah genau, Filemapping. Ich wusste, ich hatte was Wesentliches vergessen.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.08.2009, 21:04   #11 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.079
Standard

Wasn das?
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist offline   Mit Zitat antworten
Alt 30.08.2009, 21:07   #12 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Schau mal das Beispiel hier, Peter: phorum - 2 - PROFAN-Programmierung - Re: buffer auslesen => Quelltext
Dürfte schon das Passende sein für dich.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 30.08.2009, 22:14   #13 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Nochmals zum Normalfall:

Hier mal ein Screenshot des "Normalfalls" unter NT-basierenden Systemen:
Hier sieht man die Zugriffsrechte, die auf den von mir gestarteten Prozess "Notepad" bestehen. Vollzugriff für alle von mir gestarteten Programme - also auch PROCESS_VM_WRITE, das nötig ist, um Prozessspeicher zu beschreiben und PROCESS_VM_READ, das nötig ist, um Prozessspeicher zu lesen:

Jedes von mir mit gleichem Token gestartete Programm kann ohne weiteres Daten aus dem virtuellen Speicher anderer Programme lesen und diese auch ändern, das ist der Normalfall!

Der Normalfall ist ebenfalls, das sie das - je nach Programm - auch öfters mal tun. Es gibt einen Haufen APIs, die das direkt (oder indirekt) machen:
ReadProcessMemory
WriteProcessMemory
GetModuleFileNameEx
GetModuleInformation
EnumProcessModules
CreateToolhelp32Snapshot mit TH32CS_SNAPMODULE
GetModuleBaseName
...
__________________
______________

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

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Spezielles

Lesezeichen

Stichworte
alloc, anfordern, speicher

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
ram speicher nightwatch1007 PC-Umbauten & Übertaktung 7 15.11.2007 16:52
DDR 400 Speicher Chrisu67 Hardware - Kaufempfehlungen 4 07.06.2007 20:18
Fehler im Speicher aber der Speicher ist OK proti_de Hardware - Problemlösungen 0 27.01.2005 08:51
ram speicher maddjdan Hardware - Problemlösungen 1 30.11.2003 16:15
Ist ECC Speicher besser als normaler Speicher? wax77 Hardware - Problemlösungen 2 12.06.2002 18:32



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:03 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