Toon posts:

Directe geheugen toegang onder Windows NT

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met het volgende probleem.
Ik zou graag wat gegevens uit de bios/cmos lezen. (schrijven hoeft niet)

Onder windows 9x is dit niet zo'n probleem, maar onder windows NT/2000 is directe geheugen toegang niet meer mogelijk. (Dan wordt de applicatie afgesloten).

Nou weet ik dat er wat work arounds zijn.

Compaq doet dat met een DLL. WinBIOS is een programma die doet het met een .SYS driver en een DLL die daar bij hoort.

Nou lukt het me niet om die in Visual Basic aan te sturen.
Heeft iemand hier misschien wat info over?

Verwijderd

volgens mij zit je gewoon vast aan de windows api. Of je moet dll's maken die in kernelmodus draaien.
www.microsoft.com

Verwijderd

ehhh, dll's in kernel mode??? Dat kan dus niet zomaar, dll's draaien altijd in user mode. Wat Compaq daar doet is 99% zeker een driver (.sys) die in kernel mode draait en een dll die met die driver praat. Vervolgens kun je gewoon methodes uit die dll aanroepen die eigenlijk gewoon geforward worden naar de kernel driver.
Om zelf zo'n driver te schrijven is niet echt voor de hand liggend...
Wat je wel gemakkelijk kunt doen is eens zoeken naar IOport.dll (weet de naam niet meer 100% zeker), dit is een dll met bijbehorende kernel driver die dmv een hack ervoor zorgt dat het programma dat de dll gebruikt opeens dezelfde rechten heeft als een kernel mode driver!! Dan kan je vervolgens dus wel vrolijk naar allerlei poorten schrijven+lezen... Bedenk alleen wel dat dit een hack is, die beter niet in commerciele software/servers ed gebruikt kan worden aangezien het niet voor niets is dat gewone programma's wat minder rechten hebben dan kernel drivers.
Dit werkt in alle programmeertalen waarin je een dll kunt openen en rechtstreeks naar poorten/adressen kan schrijven (C++,VB,Delphi,etc,etc!)

Verwijderd

ahh, die dll heet dus dllportio.dll, ff googlen en je hebt hem zo!

Verwijderd

Hij wil geen porten uitlezen, hij wil 'n stuk geheugen benaderen, dlportio gaat 'm daar echt niet bij helpen..

Verwijderd

Op dinsdag 26 maart 2002 17:37 schreef Yarvieh het volgende:
Hij wil geen porten uitlezen, hij wil 'n stuk geheugen benaderen, dlportio gaat 'm daar echt niet bij helpen..
oww, daar zit wat in...k ging er effe vanuit dat bios lezen op een zelfde manier zou gaan |:(, maar het is idd ook wel logisch dat het gewoon in memory gemapped wordt...ignore mn post dus maar...

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 19:57
Je zult dan echt een driver moeten maken waarmee je gaat communiceren via DeviceIoControl(...).

Begin maar met het downloaden van de Win2k DDK en bereid je voor op wat nieuwe termen. :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1