Seite 1 von 3

RAW-Zugriffe

Verfasst: 11.10.2011 21:36
von WinSysCompany
Hallo läute , ich kenne mich mit der WinAPI nicht ganz so aus und suche vier Befehle

1. Arbeitsspeicher lesen ( gesamten )
2. Arbeitsspeicher schreiben ( gesamten )
3. Festplatte / CD / USB-Stick lesen ( sektorweisse / gesamten )
3. Festplatte / CD / USB-Stick schreiben ( sektorweisse / gesamten )

kann mir da jemand hellfen und mir sagen was ich für befehle benutzen muss und wie diese Funktionieren !?!

BITTE ...

Re: RAW-Zugriffe

Verfasst: 17.10.2011 21:04
von GPI
Um Himmels willen, was hast du vor?

Ich würde mir das mal überlegen, das ist bei weiten nicht so einfach wie du denkst und auch ganz ehrlich, bis auf sehr Systemnahen Tools auch völlig unnötig. Gerade wild in Speicher zu schreiben ist eigentlich nur eine Garantie für einen völligen Systemabschuss und massiven Datenverlust.

Re: RAW-Zugriffe

Verfasst: 17.10.2011 21:46
von ts-soft
<offtopic>
Um den RAM RAW zu beschreiben nehme ich immer einen Edding 3000 permanent weiß, damit man das auf dem
schwarzen Käfer auch erkennen kann. Auch die Platine läßt sich so beschreiben :mrgreen:
</offtopic>

Re: RAW-Zugriffe

Verfasst: 17.10.2011 23:42
von Ramihyn_
WinSysCompany hat geschrieben:Hallo läute , ich kenne mich mit der WinAPI nicht ganz so aus und suche vier Befehle

1. Arbeitsspeicher lesen ( gesamten )
2. Arbeitsspeicher schreiben ( gesamten )
3. Festplatte / CD / USB-Stick lesen ( sektorweisse / gesamten )
3. Festplatte / CD / USB-Stick schreiben ( sektorweisse / gesamten )

kann mir da jemand hellfen und mir sagen was ich für befehle benutzen muss und wie diese Funktionieren !?!

BITTE ...
Benutze CreateFile_() um das Device zu öffnen:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
"\\.\PhysicalDrive0" Opens the first physical drive.
\Device\PhysicalMemory
Mit DeviceIoControl_ bekommst Du Informationen um das korrekte Device zu identifizieren:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Über SetFilePointerEx_() kannst Du die Position im Stream festlegen:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Um dann mit ReadFile_() zu lesen, bzw. mit WriteFile_() zu schreiben.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Am Ende dann CloseHandle_() zum schließen des Streams.

Ich würde Dir aber dringend davon abraten. Wenn Du es trotzdem machst, mach häufig Backups und sag den Benutzern des Programmes ganz klar was Du dort machst. Denn Du wirst Datenverluste erleiden und die teilweise erst viel später feststellen. Ein gutes Tool zur Überprüfung der Integrität des Dateisystems ist dazu auch recht hilfreich.

"\Device\PhysicalMemory" funktioniert angebl. nicht mehr bei neueren Windows Versionen. Da funktioniert angebl. "\\.\PhysicalMemory", hab ich aber nicht probiert.

Re: RAW-Zugriffe

Verfasst: 18.10.2011 21:09
von WinSysCompany
wow das funktioniert :

Code: Alles auswählen

LoadFont(0,"Courier",8)
SetGadgetFont(#PB_Default,FontID(0))

memory = AllocateMemory(512)

If ReadFile(0,"\\.\PhysicalDrive0")
	ReadData(0,Memory,512)
	CloseFile(0)
Else
	MessageRequester("","fuck -.-")
EndIf

OpenWindow(0,0,0,800,200,"Read HDD 0")
EditorGadget(0,0,0,800,200)

For x = 0 To 15
	For y = 0 To 15
		SetGadgetText(0,GetGadgetText(0)+" "+RSet(Hex(PeekA(memory+x*32+y*2)),2,"0")+" "+RSet(Hex(PeekA(memory+x*32+y*2+1)),2,"0"))
	Next
	SetGadgetText(0,GetGadgetText(0)+#CRLF$)
Next

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Danke

p.s. ihr könnt ganz ruhig sein ich möschte damit nichtalles kaputt machen sonder nur ALLES lesen können im Rawi format ( die schreibbefehle sind nur der Folständigkeitshalber da !!! )

achso wie sieht es mit USB/ CD-Rom u.s.w Aus ?

Re: RAW-Zugriffe

Verfasst: 18.10.2011 21:17
von WinSysCompany
aber Memory geht nicht (

Code: Alles auswählen

LoadFont(0,"Courier",8)
SetGadgetFont(#PB_Default,FontID(0))

memory = AllocateMemory(512)

If ReadFile(0,"\Device\PhysicalMemory")
	ReadData(0,Memory,512)
	CloseFile(0)
Else
	MessageRequester("","fuck -.-")
EndIf

OpenWindow(0,0,0,800,200,"Read HDD 0")
EditorGadget(0,0,0,800,200)

For x = 0 To 15
	For y = 0 To 15
		SetGadgetText(0,GetGadgetText(0)+" "+RSet(Hex(PeekA(memory+x*32+y*2)),2,"0")+" "+RSet(Hex(PeekA(memory+x*32+y*2+1)),2,"0"))
	Next
	SetGadgetText(0,GetGadgetText(0)+#CRLF$)
Next

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
)
na egal Memory ist auch nicht so wischtig aber wie funktioniert CD-Rom !?!

Re: RAW-Zugriffe

Verfasst: 19.10.2011 23:32
von hjbremer
wie bereits weiter oben gesagt
lies doch einfach den Artikel auf http://msdn.microsoft.com/en-us/library ... 85%29.aspx

z.B. der Abschnitt "Changer Device"

alle deine Fragen werden da beantwortet

Re: RAW-Zugriffe

Verfasst: 23.08.2013 20:15
von maupa
WinSysCompany hat geschrieben:wow das funktioniert :

Code: Alles auswählen

LoadFont(0,"Courier",8)
SetGadgetFont(#PB_Default,FontID(0))

memory = AllocateMemory(512)

If ReadFile(0,"\\.\PhysicalDrive0")
	ReadData(0,Memory,512)
	CloseFile(0)
Else
	MessageRequester("","fuck -.-")
EndIf

OpenWindow(0,0,0,800,200,"Read HDD 0")
EditorGadget(0,0,0,800,200)

For x = 0 To 15
	For y = 0 To 15
		SetGadgetText(0,GetGadgetText(0)+" "+RSet(Hex(PeekA(memory+x*32+y*2)),2,"0")+" "+RSet(Hex(PeekA(memory+x*32+y*2+1)),2,"0"))
	Next
	SetGadgetText(0,GetGadgetText(0)+#CRLF$)
Next

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Danke

p.s. ihr könnt ganz ruhig sein ich möschte damit nichtalles kaputt machen sonder nur ALLES lesen können im Rawi format ( die schreibbefehle sind nur der Folständigkeitshalber da !!! )

achso wie sieht es mit USB/ CD-Rom u.s.w Aus ?



Hi,
Sorry das ich das hier wieder aus krame, aber Richtlichkeitshalber -> der Code funktioniert nicht , weder für HD noch RAM.
RAW Zugriffe sind nicht in einem 10 Zeiler zu realisieren

Würde aber sehr dankbar sein wenn wer, ein Beispiel zeigen könnte,
Anhand der Zugriffe hier ist das Interesse doch sehr groß, wohl kaum einer mit eine reale Lösung.



Gruss
maupa

Re: RAW-Zugriffe

Verfasst: 23.08.2013 22:07
von _JON_
Hallo maupa,

der Code den Du "quotes" funktioniert hier, allerdings nur mit Administratorrechten.
Mit dem RAM wird es mit aktuellen Betriebssystemen nicht mehr funktionieren.

Re: RAW-Zugriffe

Verfasst: 24.08.2013 09:45
von maupa
Hi, THX für die Antwort
hier mit dem Code lese ich HD0, sek 0 aus:

Code: Alles auswählen

 
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4B F3 D7 BE 00 00 00 00
 02 00 EE FF FF FF 01 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
es sollte aber das drin stehen als erste zeichen:

Code: Alles auswählen

EB 52 90 4E 54 46 54 46 53

also wird da etwas falsch gelesen in dem Raw Beispiel, MBR schaut so aus
Sek 0 = Eigenschaft der HD,
Sek 1 = Bootmanager

daher die aussage das es nicht Läuft..
gruß
Maupa