使用inpout32读写内核空间

1 投票
1 回答
854 浏览
提问于 2025-04-16 14:40

下面是我用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这个地址,这通常是导致问题的一个常见原因。看起来你可能用错了基础地址。

撰写回答