Исходник Гайд AHK-HOOK-API

Rinat_Namazov

🆁🅸🅽🆆🅰️🆁🅴🆂
Автор темы
Всефорумный модератор
1,142
540
AHK-HOOK-API
API для установка хуков на функции через AHK.
API состоит из файла AHK-HOOK-API.ahk.
Для подключения библиотеки нужно вписать в начало скрипта следующий код:
AutoHotKey:
#include AHK-HOOK-API.ahk


Примеры:
Установка хука на MessageBoxA:
AutoHotKey:
global MsgBoxHook := new Hook("user32.dll", "MessageBoxA", "Hook_MessageBoxA") ; Установка хука.
MsgBox, 0, Заголовок, Текст

Hook_MessageBoxA(hWnd, lpText, lpCaption, uiType)
{
    MsgBoxHook.SetStatus(false) ; Снимаем хук.
    retValue := DllCall("MessageBoxA", "UInt", hWnd, "Str", StrGet(lpText), "Str", "Hooked MsgBox", "UInt", uiType) ; Вызываем оригинальную функцию, но подменяем название.
    MsgBoxHook.SetStatus(true) ; Ставим хук обратно.
    return retValue
}
Примечание: Вместо названий функций, можно указывать их адрес.​
 

Вложения

Последнее редактирование:

Moonloader log

Известный
1,256
521
Мне кажется сами разработчики AHK не знали что его можно так развить ( я щас написал рофл, да бы похвалить тебя,но ладно )
 
Последнее редактирование:

Rinat_Namazov

🆁🅸🅽🆆🅰️🆁🅴🆂
Автор темы
Всефорумный модератор
1,142
540
Мне кажется сами разработчики AHK не знали что его можно так развить
Знали, особенно HotKeyIT, например у него есть класс Struct который позволяет впихивать сишные структуры, но помимо ума, у него очень развит навык быдлокода.
Пример: HotKeyIt/_Struct(https://github.com/HotKeyIt/_Struct/blob/master/_Struct.ahk)
 

DonHomka

🆁🅸🅽🆆🅰️🆁🅴🆂
Модератор
2,897
1,970
  • Нравится
Реакции: Romelo

Rinat_Namazov

🆁🅸🅽🆆🅰️🆁🅴🆂
Автор темы
Всефорумный модератор
1,142
540
А как это применить можно?
Ставить хук на showGameText, не дает выполниться функции, а выводить аргументы в MsgBox.
AutoHotKey:
#include ../AHK-HOOK-API.ahk
#Persistent
global dwSAMP := 0, dwFunc := 0
global FUNC_SAMP_SHOWGAMETEXT := 0x9c2c0

dwSAMP := GetModuleHandle("samp.dll")
if (!dwSAMP)
{
    MsgBox, Base address for samp.dll not found.
    ExitApp
}
dwFunc := dwSAMP + FUNC_SAMP_SHOWGAMETEXT

global showGameTextHook := new Hook(0, dwFunc, "Hook_showGameText")

Hook_showGameText(wText, dwTime, dwSize)
{
    wText := StrGet(wText)
    MsgBox, % "wText = " wText "`ndwTime = " dwTime "`ndwSize = " dwSize
}
 

ЯedЯuM

Malware Maker
261
292
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А как это применить можно?
Если ты не знаешь зачем это то тебе это не нужно. А по теме - с помощью хуков можно реализовать много задач, тот же антистиллер дарк пикселя работает на них контролируя вызовы функций которыми пользуются стиллеры, хуками например можно крякнуть привязку если знать какие WIN API функции использует тот или иной софт и у тебя есть данные от покупателя, можно так же перехвачивать внутриигровые функции к примеру одна из идей отрисовывать трассеры пуль во время стрельбы из сайлент аима прямо в скин жертвы, как видишь полезного много, всё зависит от твоих идей.
 
  • Нравится
Реакции: Rinat_Namazov

Toopie

Новичок
29
2
Классно приколюшно статично эстетично вакалично хук на addChatMessage будет работать также - Hook_AddChatMessage?