По просьбе страждущих выкладываю простенький скрипт для крона - записывает в файл все нажатия кнопок и движения курсора, а потом может это все воспроизвести, по умолчанию точность 10 миллисекунд.
Код:
#( Запись!
WatchHotKey: "@r"
NoLog SingleInstance
: N>SBL N>S S" " S+ ;
: N>SBL+ N>SBL S+ ;
\ Кейлоггинг
VARIABLE start-time
CREATE LogKeyDN 255 ALLOT
: LogKeyDN! LogKeyDN + C! ; ( x code -- )
: LogKeyDN@ LogKeyDN + C@ ; ( code -- )
: log-code
>R
GetTickCount start-time @ - N>SBL
R> N>SBL+ crlf S+
S" script.log" FAPPEND
;
: LOG-ANYKEY-PRESSED
255 1 DO I KEY-PRESSED?
IF \ Лог нажатия кнопки
I LogKeyDN@ 0=
IF \ в прошлый проход эта кнопка была не нажата?
I log-code -1 I LogKeyDN!
THEN
ELSE \ Лог отпускания
I LogKeyDN@
IF \ нажималась ли эта кнопка?
I NEGATE log-code
0 I LogKeyDN!
THEN
THEN
LOOP
;
\ ху-логгинг
: log-moving >R >R
GetTickCount start-time @ - N>SBL
0 N>SBL+
R> N>SBL+ R> N>SBL+ crlf S+
S" script.log" FAPPEND
;
VARIABLE x-pos
VARIABLE y-pos
: LOG-MMoving
MOUSE-POS x-pos @ y-pos @ D<> IF MOUSE-POS 2DUP log-moving y-pos ! x-pos ! THEN
;
: Шпионить
BEGIN
10 PAUSE
LOG-ANYKEY-PRESSED
LOG-MMoving
VK_CONTROL KEY-PRESSED?
UNTIL
-17 log-code
-162 log-code
;
Action:
300 300 BEEP
LogKeyDN 255 ERASE x-pos 0! y-pos 0!
S" script.log" FDELETE
GetTickCount start-time !
Шпионить
300 300 BEEP
)#
<%
: FOR-FLINES { xt \ Lf Lc -- } ( a u xt -- )
R/O OPEN-FILE-SHARED THROW TO Lf
258 ALLOCATE THROW TO Lc
BEGIN Lc 1+ 255 Lf READ-LINE THROW WHILE
Lc C!
Lc xt EXECUTE
REPEAT
DROP
Lf CLOSE-FILE DROP
;
: KeyDN
CASE
1 OF MOUSE-LBDN ENDOF
2 OF MOUSE-RBDN ENDOF
DUP DUP OF specKeyDN ENDOF
ENDCASE
;
: KeyUP
CASE
1 OF MOUSE-LBUP ENDOF
2 OF MOUSE-RBUP ENDOF
DUP DUP OF specKeyUP ENDOF
ENDCASE
;
: Диверсия { \ x -- }
COUNT <TIB
get-number
GetTickCount start-time @ - - DUP 0< IF DROP 0 THEN PAUSE
get-number TO x
x IF
x 0> IF x KeyDN THEN
x 0< IF x NEGATE KeyUP THEN
ELSE
get-number get-number MOUSE-MOVE
THEN
TIB>
;
%>
#( Воспроизведение@
WatchHotKey: "@p"
NoLog SingleInstance
Action:
300 300 BEEP
GetTickCount start-time !
S" script.log" ['] Диверсия FOR-FLINES
300 300 BEEP
)#