Всем привет
Решил выложить способ поиска и добавления в вх анти отдачу
Что нам потребуется :
IDA pro
Пишем в асме:
DWORD ADDRES_Antioda_1 =(DWORD)GetModuleHandleA("pointblank.i3exec")+ 0x180EDC; DWORD ADDRES_Antioda_2 =(DWORD)GetModuleHandleA("pointblank.i3exec")+ 0x180FDC; DWORD RETURN_Antioda_1 = ADDRES_Antioda_1 + 0x5; DWORD RETURN_Antioda_2 = ADDRES_Antioda_2 + 0x5;
Чуть ниже:
float ant;
Потом
__declspec( naked ) void Antioda_1_on() { _asm { fld dword ptr [ant] mov esp,ebp jmp dword ptr [RETURN_Antioda_1] } } __declspec( naked ) void Antioda_1_off() { _asm { fld dword ptr [ebp-8] mov esp,ebp jmp dword ptr [RETURN_Antioda_1] } } __declspec( naked ) void Antioda_2_on() { _asm { fld dword ptr [ant] mov esp,ebp jmp dword ptr [RETURN_Antioda_2] } } __declspec( naked ) void Antioda_2_off() { _asm { fld dword ptr [ebp-8] mov esp,ebp jmp dword ptr [RETURN_Antioda_2] } }
После открываем файл cMain.cpp и примерно здесь
вставляем это:
if(recoil) //антиотдача { DetourCreate((PBYTE)Addres_Antioda_1,(PBYTE)Antioda_1_off,5); DetourCreate((PBYTE)Addres_Antioda_2,(PBYTE)Antioda_2_off,5); } else { DetourCreate((PBYTE)Addres_Antioda_1,(PBYTE)Antioda_1_on,5); DetourCreate((PBYTE)Addres_Antioda_2,(PBYTE)Antioda_2_on,5); }
После в меню прописываем:
warl0ck->AddItem("АнтиОтдача",Moptonoff,&cItem.recoil,2);
или
MenuAdd(" АнтиОтдача",Moptonoff,&recoil,2,3);
или
Dimedrol1536->AddItem("АнтиОтдача",Moptonoff,&cItem.recoil,2);
Затем заносим переменную:
int recoil=0;
int recoil;
Как заново находить адреса после обновы:
Открываем иду
Открываем файл PointBlank.i3exec
ждем пока полностью расшифрует ида
Ищем эти слова:
WeaponBase::GetMoveSpe
Видео: