Lua KeyLogger

Cosmo

Известный
Автор темы
Друг
646
2,592
Версия SA-MP
  1. Любая
keylogger-logo.png


Описание:
Показывает последние 15 нажатых вами клавиш на экран.

Команды:
/kl
- Включение/выключение логгера
/kt - Отображение миллисекунд между нажатиями

keylogger.gif


1. Release
2. Переделал обработку нажатий через onWindowsMessage (Спасибо @KiN4StAt)
3. Добавил счётчики миллисекунд между нажатиями (Включаются по команде /kt) + много мелких изменений
4. Поддержка мыши (Спасибо сурсу rKeys от @DonHomka), более точная система подсчёта миллисекунд (через тики), сохранение /kl и /kt после перезахода, убрал говнокод

Внимание!
При распространении скрипта обязательно указывать автора,
либо прикладывать ссылку на эту тему. Буду кидать страйки!
 

Вложения

  • kl.lua
    3.8 KB · Просмотры: 10,237
Последнее редактирование:

YarmaK

Известный
685
242
Круто,но сделал бы ты это красивее,например картинками клавиш и сократить название нумпада,шрифт мб другой или типа того
 

trefa

Известный
Всефорумный модератор
2,097
1,230
Серьёзно? А не лучше использовать событие onwindowmessage
 

Cosmo

Известный
Автор темы
Друг
646
2,592
Серьёзно? А не лучше использовать событие onwindowmessage
Пробовал, не понравилось то, что когда кнопку зажимаешь - он начинает флудить. А мне это не нужно, так как у меня когда клавиша зажата, лог выделяется зелёным цветом.
Пробовал найти в lib/windows/message что-то на подобии wasKeyPressed, но то ли я не нашёл, то ли этого нет
Lua:
function onWindowMessage(msg, wparam, lparam)
    if msg == 0x0100 or msg == 0x0104 then
        local keyname = vkeys.id_to_name(wparam)
        print(keyname)
    end
end
 
  • Нравится
Реакции: Haste и shitcodes

trefa

Известный
Всефорумный модератор
2,097
1,230
Пробовал, не понравилось то, что когда кнопку зажимаешь - он начинает флудить. А мне это не нужно, так как у меня когда клавиша зажата, лог выделяется зелёным цветом.
Пробовал найти в lib/windows/message что-то на подобии wasKeyPressed, но то ли я не нашёл, то ли этого нет
Lua:
function onWindowMessage(msg, wparam, lparam)
    if msg == 0x0100 or msg == 0x0104 then
        local keyname = vkeys.id_to_name(wparam)
        print(keyname)
    end
end
Ну вообще это прописано в доках, и можно поставить условие на нажатие/отпускании кнопки
 
  • Нравится
Реакции: PanSeek, AnWu и Tema05

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,763
11,199
наложить на видео получится?
1. пишешь скрипт, который будет рендерить на твой экран зеленый квадрат
2. начинаешь записывать видео, на котором ты будешь нажимать клавиши
3. открываешь Sony Vegas Pro
4. накладываешь эффект "Chroma Keyer"
5. накладываешь на другое видео
1606809462063.png


Lua:
function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        renderDrawBox(0, 0, 1920, 1080, 0xAA00CC00)
    end
end
 

Valerii Kalashnikov

Известный
294
494
1. пишешь скрипт, который будет рендерить на твой экран зеленый квадрат
2. начинаешь записывать видео, на котором ты будешь нажимать клавиши
3. открываешь Sony Vegas Pro
4. накладываешь эффект "Chroma Keyer"
5. накладываешь на другое видеоПосмотреть вложение 77790

Lua:
function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        renderDrawBox(0, 0, 1920, 1080, 0xAA00CC00)
    end
end
То шо я и говорил при создании этого скрипта. Обойдут быстро, повторят и зальют на бх быстро)
 
  • Нравится
Реакции: YarmaK

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
Пробовал, не понравилось то, что когда кнопку зажимаешь - он начинает флудить. А мне это не нужно, так как у меня когда клавиша зажата, лог выделяется зелёным цветом.
Пробовал найти в lib/windows/message что-то на подобии wasKeyPressed, но то ли я не нашёл, то ли этого нет
Lua:
function onWindowMessage(msg, wparam, lparam)
    if msg == 0x0100 or msg == 0x0104 then
        local keyname = vkeys.id_to_name(wparam)
        print(keyname)
    end
end
Lua:
if bit.band(lParam, 0x4000000) == 0 then
    --код который обрабатывает первое нажатие клавиши
end
 
  • Нравится
  • Влюблен
Реакции: AnWu, darkjer и Cosmo

Cosmo

Известный
Автор темы
Друг
646
2,592
Lua:
if bit.band(lParam, 0x4000000) == 0 then
    --код который обрабатывает первое нажатие клавиши
end
Вот. То что я и искал, заметил что lparam меняется, когда зажимаешь клавишу, а как его правильно хукнуть не знал. Спасибо
 

AnWu

Guardian of Order
Всефорумный модератор
4,687
5,164
Вот. То что я и искал, заметил что lparam меняется, когда зажимаешь клавишу, а как его правильно хукнуть не знал. Спасибо
Глянуть сурсы RKeys... Там получение всей инфы...
UPD: Keyex - правый или левый альт/контрл (с шифтом немного по другому, сканкод вроде разный). Keystate - 0 нажата, 1 - удерживается. Scancode - ну и так понятно, сканкод клавиши.
Lua:
local scancode = bitex.bextract(lparam, 16, 8)
local keystate = bitex.bextract(lparam, 30, 1)
local keyex = bitex.bextract(lparam, 24, 1)
 
  • Нравится
Реакции: Cosmo

Dinogo

Новичок
1
0
Описание:
Рендерит последние 15 нажатых клавиш клавиатуры на экран.
В основном это пригодится для ловцов имущества на сервере, в качестве доказательства что вы вводите сами
Присутствует счётчик CPS (Click Per Second) - нажатых клавиш за секунду, по умолчанию выключен

Команды:
/keylog
- Включение/выключение логгера
/showcps - Счётчик CPS

1. Release
2. Переделал обработку нажатий через onWindowsMessage (Спасибо @KiN4StAt)
куда файл кидать?