使用inpout32读写内核空间
下面是我用Python写的代码。请注意,inpout32.dll这个文件可以在这里找到,并且它需要和代码放在同一个文件夹里。
import ctypes
ctypes.windll.inpout32.Out32(0x300, 40)
print ctypes.windll.inpout32.Inp32(0x300)
这段代码应该是在地址300输入40,但是当我尝试读取地址300的值时,无论我输入什么,得到的结果都是255。不过,当我使用378作为地址(LPT1)时,代码是可以正常工作的。
补充一下,大家知道,我这样做是为了使用一个在104pc上的输入/输出板。
1 个回答
0
你在用什么型号的设备?通过快速搜索一下,可以发现一些卡片会保留0x300这个地址,这通常是导致问题的一个常见原因。看起来你可能用错了基础地址。