DizTerDiz
10.01.2012, 00:01
Для всех кто будет писать "Зачем выложил", "Щя набы налетят" поясню...
В свете последний событий, а именно: Слив подполья\слив исходников
Теперешних "Набов" нету, многие обладают такими исходниками
В которых уже вбиты значения\написаны исходники функций
Да теперь такие WallHack'и с фул паком приват функций уже не новость...
Так что наслаждаемся(Кто не знал)
---------------------------------------
Открываем файл cMain.cpp..
Прописываем переменные:
int unlimpatron=0;
Чуть ниже:
float patron=1;
(int unlimpatron=0; - При активации WallHack'a статус функции будет Выкл)
(int unlimpatron=1; - При активации WallHack'a статус функции будет Вкл)
Кому как удобней.....
----------------------------------
--------------------------------------------
Прописываем в нашем меню отображение функции:
В моем случае:
SectionAdd(" Анлим Патроны",Moptonoff,&unlimpatron,2,3);
Или:
MenuAdd(" Анлим Патроны",Moptonoff ,&unlimpatron,2,3);
Или:
warl0ck->AddItem(" Анлим Патроны",Moptonoff ,&unlimpatron,2,3);
Или:
Dimedrol1536->AddItem(" Анлим Патроны",Moptonoff,&unlimpatron,2,3);
-----------------------------------
-------------------------------------------
Прописываем код самой функции: *[Ссылки могут видеть только зарегистрированные и активированные пользователи]*
if(unlimpatron==0)DetourCreate((PBYTE)ADDRES_Max_B ullet,(PBYTE)Max_Bullet_off,5);
if(unlimpatron==1)DetourCreate((PBYTE)ADDRES_Max_B ullet,(PBYTE)Max_Bullet_on,5);
----------------------------------
----------------------------------------
Теперь открываем файл asma.h
(Лично у меня нету данно файла, по этому я добавляю в cMain.cpp)
Вставляем данный код:
DWORD ADDRES_Max_Bullet=(DWORD)GetModuleHandleA("pointblank.i3exec")+0x186312;
DWORD RETURN_Max_Bullet=ADDRES_Max_Bullet+0x6;
__declspec( naked ) void Max_Bullet_on()
{
_asm
{
mov eax,[patron]
pop esi
mov esp,ebp
jmp dword ptr [RETURN_Max_Bullet]
}
}
__declspec( naked ) void Max_Bullet_off()
{
_asm
{
mov eax, [ebp-4]
pop esi
mov esp,ebp
jmp dword ptr [RETURN_Max_Bullet]
}
}
--------------------------
Вот собственно и все по добавлению данной функций
Перейдем к обновлению....
----------------------------------------------------------
Обновления подобных функций происходит через ассамблер(В нашем случае это IDa pro v.?.?)
Для тех кто не знает и\или не понимает о чем я(Google.Ru ([Ссылки могут видеть только зарегистрированные и активированные пользователи]))
Открываем IDa pro
Вылазит окошко с типом кнопок "New", "Go", "Previous"
Жмем "New"
Ищем файл "pointblank.i3exec" - Находящийся в корневой папке игры(C:\Ла ла ла\Тэ пэ пэ\Point Blank)
В ходе расшифровки файла вылазит *полным-полно* разных окн(Без опасения жмем Ок, Ок, Ок)
У нас начинается загрузка разных компонентов
Не ожидая окончательной загрузки жмем в верхней части программы
(Search->text)
В появившемся окне пишем текст:
WeaponBase::GetMaxBullet
Жмем старт поиска
..........Проходит время..........
Находим нужное нам значение
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
-------------
Открываем калькулятор(Кто не знает что это - Google.Ru ([Ссылки могут видеть только зарегистрированные и активированные пользователи]))
В верхней части калькулятора ищем кнопку(Вид->Программиста)
П.с - У кого нету вида программиста, ставим вид инженерный
Ставим галочку на "Hex"
Вставляем в калькулятор найденное значение: 186063
Жмем + (Плюс)
Пишем: 2AF
Жмем = (Равно)
----------
В итоге у нас полноценное значение "Анлим патронов"
А именно: 186312
П.с - Если где-то не прав, поправьте меня.....
В свете последний событий, а именно: Слив подполья\слив исходников
Теперешних "Набов" нету, многие обладают такими исходниками
В которых уже вбиты значения\написаны исходники функций
Да теперь такие WallHack'и с фул паком приват функций уже не новость...
Так что наслаждаемся(Кто не знал)
---------------------------------------
Открываем файл cMain.cpp..
Прописываем переменные:
int unlimpatron=0;
Чуть ниже:
float patron=1;
(int unlimpatron=0; - При активации WallHack'a статус функции будет Выкл)
(int unlimpatron=1; - При активации WallHack'a статус функции будет Вкл)
Кому как удобней.....
----------------------------------
--------------------------------------------
Прописываем в нашем меню отображение функции:
В моем случае:
SectionAdd(" Анлим Патроны",Moptonoff,&unlimpatron,2,3);
Или:
MenuAdd(" Анлим Патроны",Moptonoff ,&unlimpatron,2,3);
Или:
warl0ck->AddItem(" Анлим Патроны",Moptonoff ,&unlimpatron,2,3);
Или:
Dimedrol1536->AddItem(" Анлим Патроны",Moptonoff,&unlimpatron,2,3);
-----------------------------------
-------------------------------------------
Прописываем код самой функции: *[Ссылки могут видеть только зарегистрированные и активированные пользователи]*
if(unlimpatron==0)DetourCreate((PBYTE)ADDRES_Max_B ullet,(PBYTE)Max_Bullet_off,5);
if(unlimpatron==1)DetourCreate((PBYTE)ADDRES_Max_B ullet,(PBYTE)Max_Bullet_on,5);
----------------------------------
----------------------------------------
Теперь открываем файл asma.h
(Лично у меня нету данно файла, по этому я добавляю в cMain.cpp)
Вставляем данный код:
DWORD ADDRES_Max_Bullet=(DWORD)GetModuleHandleA("pointblank.i3exec")+0x186312;
DWORD RETURN_Max_Bullet=ADDRES_Max_Bullet+0x6;
__declspec( naked ) void Max_Bullet_on()
{
_asm
{
mov eax,[patron]
pop esi
mov esp,ebp
jmp dword ptr [RETURN_Max_Bullet]
}
}
__declspec( naked ) void Max_Bullet_off()
{
_asm
{
mov eax, [ebp-4]
pop esi
mov esp,ebp
jmp dword ptr [RETURN_Max_Bullet]
}
}
--------------------------
Вот собственно и все по добавлению данной функций
Перейдем к обновлению....
----------------------------------------------------------
Обновления подобных функций происходит через ассамблер(В нашем случае это IDa pro v.?.?)
Для тех кто не знает и\или не понимает о чем я(Google.Ru ([Ссылки могут видеть только зарегистрированные и активированные пользователи]))
Открываем IDa pro
Вылазит окошко с типом кнопок "New", "Go", "Previous"
Жмем "New"
Ищем файл "pointblank.i3exec" - Находящийся в корневой папке игры(C:\Ла ла ла\Тэ пэ пэ\Point Blank)
В ходе расшифровки файла вылазит *полным-полно* разных окн(Без опасения жмем Ок, Ок, Ок)
У нас начинается загрузка разных компонентов
Не ожидая окончательной загрузки жмем в верхней части программы
(Search->text)
В появившемся окне пишем текст:
WeaponBase::GetMaxBullet
Жмем старт поиска
..........Проходит время..........
Находим нужное нам значение
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
-------------
Открываем калькулятор(Кто не знает что это - Google.Ru ([Ссылки могут видеть только зарегистрированные и активированные пользователи]))
В верхней части калькулятора ищем кнопку(Вид->Программиста)
П.с - У кого нету вида программиста, ставим вид инженерный
Ставим галочку на "Hex"
Вставляем в калькулятор найденное значение: 186063
Жмем + (Плюс)
Пишем: 2AF
Жмем = (Равно)
----------
В итоге у нас полноценное значение "Анлим патронов"
А именно: 186312
П.с - Если где-то не прав, поправьте меня.....