Попробуй что-то подобное (показал на примере kthook)Can someone provide a clear, direct and concise example code of an OnCloseDialog hook? (.ASI)
Может ли кто-нибудь предоставить ясный, прямой и краткий пример кода перехватчика OnCloseDialog? (.ASI)
#include <Windows.h>
#include "kthook/kthook.hpp"
// edx - bypass MSVC
kthook::kthook_simple<void(__fastcall*)(void* pDialog, void* edx, char button);>(CDialogCloseHook);
void __fastcall CDialogCloseHooked(const decltype(CDialogCloseHook)& hook, void* pDialog, void* edx, char button)
{
// code
return hook.get_trampoline()(pDialog, edx, button);
}
// install hoook (after initialization of SAMP)
CDialogCloseHook.set_cb(&CDialogCloseHooked);
auto sampHandle = reinterpret_cast<uintptr_t>(GetModuleHandleA("samp.dll"));
// 0x6C040 - R1
CDialogCloseHook.set_dest(sampHandle + 0x6C040);
CDialogCloseHook.install();
не совсем понимаю как это должно выглядеть. ты либо проверяешь (скорее всего в потоке), что значение инициализировалось (например CNetGame), либо хукаешь функцию, которая вызывается после/во время инициализацииможно ли как-то проверить иниацилизацию сампа без хуков/потоков?
edx bypass в ктхуке не нужен, хотя и с ним работать будетПопробуй что-то подобное (показал на примере kthook)
C++:#include <Windows.h> #include "kthook/kthook.hpp" // edx - bypass MSVC kthook::kthook_simple<void(__fastcall*)(void* pDialog, void* edx, char button);>(CDialogCloseHook); void __fastcall CDialogCloseHooked(const decltype(CDialogCloseHook)& hook, void* pDialog, void* edx, char button) { // code return hook.get_trampoline()(pDialog, edx, button); } // install hoook (after initialization of SAMP) CDialogCloseHook.set_cb(&CDialogCloseHooked); auto sampHandle = reinterpret_cast<uintptr_t>(GetModuleHandleA("samp.dll")); // 0x6C040 - R1 CDialogCloseHook.set_dest(sampHandle + 0x6C040); CDialogCloseHook.install();
great! would it be possible to get an example without KtHook?Попробуй что-то подобное (показал на примере kthook)
C++:#include <Windows.h> #include "kthook/kthook.hpp" // edx - bypass MSVC kthook::kthook_simple<void(__fastcall*)(void* pDialog, void* edx, char button);>(CDialogCloseHook); void __fastcall CDialogCloseHooked(const decltype(CDialogCloseHook)& hook, void* pDialog, void* edx, char button) { // code return hook.get_trampoline()(pDialog, edx, button); } // install hoook (after initialization of SAMP) CDialogCloseHook.set_cb(&CDialogCloseHooked); auto sampHandle = reinterpret_cast<uintptr_t>(GetModuleHandleA("samp.dll")); // 0x6C040 - R1 CDialogCloseHook.set_dest(sampHandle + 0x6C040); CDialogCloseHook.install();
ты можешь использовать любой другой хукер на свой вкус, например MinHookgreat! would it be possible to get an example without KtHook?
Можешь почитать данную статью: linkgreat! would it be possible to get an example without KtHook?
can u help me please with my question ?Можешь почитать данную статью: link
возможно это оно: https://www.blast.hk/threads/90249/can u help me please with my question ?
![]()
Другое - С/С++ Вопрос - Ответ
Помогите пожалуйста, при получении любого пакета игра закрывается. #include #include "main.h" #include #include #include #include "fstream" using namespace std; SAMPFUNCS* SF = new SAMPFUNCS(); void __stdcall initScript(string); void logSF(char); static bool isActive = false; static bool...www.blast.hk
thanks you ! :)
Да, это именно то, что я ищу, но для версии 0.3DL SA:MP.возможно это оно: https://www.blast.hk/threads/90249/
попробуй заменить адреса наДа, это именно то, что я ищу, но для версии 0.3DL SA:MP.
0xE5D7 и 0xE5E2Оно работает !попробуй заменить адреса на0xE5D7и0xE5E2
#include <iostream>
#include<locale>
using namespace std;
void passportIndentification()
{
setlocale(LC_ALL, "rus");
int age;
string name;
cout << "Введите свое имя" << endl;
cin >> name;
string surname;
cout << "Введите свою фамилию" << endl;
cin >> surname;
cout << "Введите свой возвраст" << endl;
cin >> age;
string nation;
cout << "Введите свою нацию" << endl;
cin >> nation;
string from;
cout << "Введите свою страну" << endl;
cin >> from;
string town;
cout << "Введите свой город" << endl;
cin >> town;
cout << "Ваше имя: " << name << endl;
cout << "Ваша фамилия: " << surname << endl;
cout << "Ваш возвраст: " << age << endl;
cout << "Ваша нация: " << nation << endl;
cout << "Ваша страна: " << from << endl;
cout << "Ваш город: " << town << endl;
}
int main() {
passportIndentification();
return 0;
}