Гайд WinApi в Cleo

loganhackerdff

Известный
Автор темы
868
517
Привет! тк у меня в нике есть hacker, то я должен что то взламывать, но моих хакерских способностей хватает только на то чтоб в брутфорсере паролей загрузить новый словарь и взломать соседский инет.
Сегодня я вам покажу как использовать функции из библиотеки User32.dll.
Когда вы подключаете стандартные библиотеки windwos, вы можете не проверять на их загруженность.
И так, покажу несколько функций из User32.dll // все примеры взяты у @DarkP1xel

  1. BlockInput - блокирует ввод с мышки и клавиатуры, параметры: bool(заблокировать/разблокировать);
  2. DestroyWindow - уничтожает окно, параметры: window handle // получаем через GetForegroundWindow
  3. ExitWindowsEx - выход из системы интерактивного пользователя, выключение системы или выключение и перезагрузка системы, параметры: "uint" Тип выключения, dword причина
  4. SetWindowTextA - Изменяет текст строки заголовка указанного окна, параметры: window handle // получаем через GetForegroundWindow, LPCTSTR - текст
Вроде как, значения при вызове функций в cleo надо указывать задом на перёд
Функции можно искать тут - Примеры:
BlockInput
CLEO:
{$CLEO}
0000:
while 8afa:
wait 0
end


while true
wait 0
if 0C89: key_just_pressed  49
then
    call @BlockInput 1 true//  блокируем ввод
    wait 5000 // ждём 5сек
    call @BlockInput 1 false// разблокируем ввод
end
end

:BlockInput
0AA2: 25@ = load_library "User32.dll"
0AA4: 26@ = get_proc_address "BlockInput" library 25@
0AA5: call_function 26@ num_params 1 pop 0 0@
0AA3: free_library 25@
ret 0
DestroyWindow
CLEO:
{$CLEO}
0000:
while 8afa:
wait 0
end


while true
wait 0
if  0C89: key_just_pressed  49
then
    call @GetForegroundWindow 0 result-to 0@ // получаем дескриптор окна
    call @DestroyWindow 1 0@ // закрываем окно
end
end

:DestroyWindow
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "DestroyWindow" library 25@
0AA7: call_function 26@ num_params 1 pop 0 0@
0AA3: free_library 25@
ret 0

:GetForegroundWindow
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "GetForegroundWindow" library 25@
0AA7: call_function 26@ num_params 0 pop 0 27@
0AA3: free_library 25@
0AB2: RET 1 27@
ExitWindowsEx
CLEO:
{$CLEO}
0000:
while 8afa:
wait 0
end


while true
wait 0
if 0C89: key_just_pressed  49
then
    call @WindowsLogOff 0 // выходим из пользователя
end
end

:WindowsLogOff
0AA2: 31@ = load_library "User32.DLL"
0AA4: 30@ = get_proc_address "ExitWindowsEx" library 31@
0AA5: call 30@ num_params 2 pop 0 0x0 0x0
0AA3: free_library 31@
ret 0
SetWindowTextA
CLEO:
{$CLEO}
0000:
while 8afa:
wait 0
end
0AC6: 15@ = label @lptext offset

while true
wait 0
if 0C89: key_just_pressed  49
then 
     
    call @GetForegroundWindow 0 resultto 0@
    call @SetWindowTextA 2 0@ 15@
end  
end



:SetWindowTextA
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "SetWindowTextA" library 25@
0AA5: call_function 26@ num_params 2 pop 0 1@ 0@ 
0AA3: free_library 25@
0AB2: ret 0

:GetForegroundWindow 
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "GetForegroundWindow" library 25@
0AA7: call_function 26@ num_params 0 pop 0 27@
0AA3: free_library 25@
0AB2: RET 1 27@ 

:lptext
HEX
    "gta-igrulka228" 0
END
 
Последнее редактирование:

TheBadZero

Gachi Solider
Проверенный
356
163
1582458524761.png
 
  • Нравится
Реакции: Qee7
У

Удалённый пользователь 123482

Гость
Зачем проверять инициализацию структур SA-MP'a если ты ничего от туда не используешь?
Если уж и проверил, то мог бы хотя бы вместо вот этого: if 0AB0: key_pressed 49 then while 0ab0: 49 wait 0 end ... end
Использовать SF опкод - 0C89: key_just_pressed 1337