Merici pristroje k PC.
Miroslav Sinko
sinkomiro@rocketmail.com
Pátek Leden 11 01:15:54 CET 2008
--- Delphin <delphin@post.cz> wrote:
> > Port.dll zo zmienenej knihy nepoznam, ale sama o sebe urcite nevie
> > zabezpecit pristup na I/O porty pod WinNT. K tomu je potrebny sys.
> > Zo
> > znamych napr. giveio.sys, UserPort.sys, apod. Ak port.dll umoznuje
> > aplikacii pristup k portom (COM, LPT), tak potom je v nej kod
> > pouzivajuci WinAPI.
>
> Pro vylouceni zmatku jsem si port.dll nechal dissasemblovat a myslim
> si, ze
> se tim vse vyjasnilo:
> 0x8148 - 0xc INPORT(dword param_1)
> 0x0000 PUSH EBP
> 0x0001 MOV EBP,ESP
> 0x0003 MOV DX,SS:[EBP+8]
> 0x0007 IN AL,DX
> 0x0008 POP EBP
> 0x0009 RETN 0x0004
>
> 0x8154 - 0xf OUTPORT(dword param_1, dword param_2)
> 0x0000 PUSH EBP
> 0x0001 MOV EBP,ESP
> 0x0003 MOV AL,SS:[EBP+12]
> 0x0006 MOV DX,SS:[EBP+8]
> 0x000a OUT DX,AL
> 0x000b POP EBP
> 0x000c RETN 0x0008
Tvrdil som, ze samotna port.dll bez ovladaca sys (ak v nej nie su
volane funkcie Win32API) pristup na port pod NT platformou nezabezpeci.
Tak som pohladal a nasiel na http://lpt.hw.cz/ zmienenu DLL s headrom
(sice basic, ale nevadi :-). Okrem toho, ze to pisu, ze zafunguje len
pod 95-Me, som si napisal program:
#include <windows.h>
#include <stdio.h>
typedef void (*fpOUTPORT)(DWORD, DWORD);
void main(void)
{
HMODULE hPortDll;
fpOUTPORT fpOutPort;
hPortDll=LoadLibrary("port.dll");
if(!hPortDll)
{
printf("LoadLibrary error\n");
return;
}
fpOutPort=(fpOUTPORT)GetProcAddress(hPortDll, "OUTPORT");
if(!fpOutPort)
{
printf("GetProcAddress OUTPORT error\n");
return;
}
fpOutPort(0x378, 0);
printf("Yes! Press any key\n");
getchar();
}
Vysledkom spustenia na W2k je "The exception Privileged instruction".
Podla ocakavania...
> S WinNT jsem nemel tu cest, ale na W2K aWXP funguje neoverlapped i
> overlapped paralelne z 5-ti COMu, vyzkouseno.
Hmmm, tak toto niekedy tiez vyskusam, ked nieco robim, tak uz len
overlapped...
miro
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
Další informace o konferenci Hw-list