-
Постов
77 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Synapsehome
-
-
Вот обязательно застебывать? Ну да лишнего поналяпал в коде... с кем не бывает...
[CENSORED]
-
FindWindowA(0, "Call of Duty: Modern Warfare 3");
const int F1 = 0x70;VK_F1 уже не меинстрим?
Зачем тебе printf когда ты не передаешь аргументы?
std::cout << "Адресс: " << GameWindow << std::endl;лол, а здесь printf как-раз можно
GetAsyncKeyState(F1) != 0//зачем лишняя проверка?
GetAsyncKeyState(F1)int main() //main
-
Да уж, и все таки как все это приляпать к трейнеру?
также, руками
-
Я смотрел его тренеры под отладчиком - замена максимум двух инструкций и выделение кода размером 2 килобайта под код размером несколько байтс уровнем 51..., ихь нихт ферштеён
-
Выкладываю первую версию на обозрение, немного вырезал т.к. не все работает
Присутсвует:
- получение хендла процесса по имени .exe-файла
- выделение памяти в процессе для CodeCave'а
- Запись в память
- Базовые принципы работы с чекбоксами
- GDI-рисование
Всё недочеты поправлю.
Пример использования:
if(LOWORD(wParam)==100)
{
HWND hwndCheck = GetDlgItem(hWnd, 100);// Получаем HWND нашего chechbox'а.
LRESULT res = SendMessage (hwndCheck, BM_GETCHECK, 0, 0);// Выясняем текущее состояние chechbox'а.
if(res == BST_CHECKED)//включаем
{
mManager.m_WriteProcessMemory(hProc, (void*)0x006470C5, (void*)NoRecoilOn, sizeof(NoRecoilOn));
}
if(res == BST_UNCHECKED)//выключаем
{
mManager.m_WriteProcessMemory(hProc, (void*)0x006470C5, (void*)NoRecoilOff, sizeof(NoRecoilOn));
}
}В таймер допихнёте все что будет нужно:
void progFunctions::Program_WM_TIMER (HWND hWnd, WPARAM wParam, LPARAM lParam)
{
if(in == false && mManager.m_OpenProcess(PROCESS_ALL_ACCESS,false, L"hackapp.exe"))
{
/*Код выполняется единожды после запуска процесса*/
hProc = mManager.m_OpenProcess(PROCESS_ALL_ACCESS,false, L"hackapp.exe");//получаем хендл процесса hackapp.exe
lpMemory = VirtualAllocEx(hProc, NULL, 64, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);//выделяем память для CodeCave
in = true;
}
if(in && !mManager.m_OpenProcess(PROCESS_ALL_ACCESS,false, L"hackapp.exe"))
{
/*код выполняется единождый когда процесс теряется*/
in = false;//говорим что процесс не запущен
lpMemory = NULL;
}
InvalidateRect(hWnd, NULL, TRUE);//инвалидируем область окна для перерисовки
UpdateWindow(hWnd);
} - получение хендла процесса по имени .exe-файла
-
ps.
Похоже был косяк студии. Скопировал код в новый созданный проект, всё заработало. Всём спасибо
-
Блин, я забыл про hIconSm ; D
#define IDI_ICON1 103
wc.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));всёравно не хочет стаить мне значок, через LoadImage тоже
-
Xipho спасбио за советы! Но дело в том что я пробовал так, всёравно что-то не то
HICON hi=NULL;//глобальная переменная
После регистрации класса окна:
hi=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
case WM_INITDIALOG:
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hi);
break; -
На чем пишешь? Вообще, в ресурсы запихивается манифест под типом 24 (RC_DATA), название ресурса должно быть "1" (без кавычек). И при запуске приложения (в самом начале функции WinMain, если манифест в ресурсах, обязательно нужно вызывать функцию InitCommonControls. Впрочем, для использования контролов текущей операционки, по сути, сам манифест не нужен. Он нужен только для поддержки визуальных тем операционки.
Спасибо за ответ, пишу на unmanaged c++. Да, я имел ввиду визуальное оформление операционки.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="XPManifest"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>Windows Shell</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
1 24 "resources\\manfiest\\manifest.xml"
int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE h2, LPSTR cmd, int cmShow)
{
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_WIN95_CLASSES|ICC_COOL_CLASSES|ICC_BAR_CLASSES|ICC_USEREX_CLASSES|ICC_STANDARD_CLASSES;
InitCommonControlsEx(&icex);Не спасает
UPD
чуть поколдовал
уиии :3
pss. И ещё одна проблемка:
LRESULT lResult = SendMessageA(hwnd, WM_SETICON, ICON_SMALL, IDI_ICON1);Значок CoD4. Студия мне ставит какой-то замок:
-
Для Windows XP для включения визуальных стилей достаточно было положить манифест в папку с приложением, на Win7 как я понял это не катит. Через ресурсы у меня не работает, хотя дело скорее в кривости рук. Пока набросал только рисование через GDI, докатываю memory manager, хочется использовать контролы текущей операционки, а не Winapi-шные.
ps. это фича такая на форуме делать в теме первую букву каждого слова заглавной?
-
Спасибо за тутор
-
Я Ламер, е ))
-
Прям матрица карты
-
Смотри видеоблог кенга, он там все рассказывает.
-
Ты что читать не умеешь?
Я написал что я знаю как изменить число в памяти.
Я не имею понятия как удалить вот это mov esi,ebx
Сперва подумай что я спросил, а потом уже начинай нести чушь.
Он тебе чушь не писал, да ты и не писал про то что умеешь
Используй функцию WriteProcessMemory, memcpy. etc.
И будь спокойнее и вежливее, тогда тебе всегда будут помогать.
-
Как меня бесят такие люди как ты.
Языки программирования я знаю.
php и начал изучать дельфи.
Я только начал по взлому программ.
Осёл.
Привет, тебя в школе чмырят? Как надо изучать язык, чтобы не знать элементарного. И надо иметь уважение к старшим. Он всё правильно написал.
[невероятная сложность]google.ru/delphi работа с памятью[/невероятная сложность]
-
-
Извините, но я вас не знаю и тем более вас нет у меня в скайпе.
Извините, я вам и не писал )
-
А какая игра ?
CSS конечно же = )
Я этому человеку даже в скайпе показал как координаты искать, он всёравно повторить не смог =)
-
Хук и в африке хук, для любых функций
-
00402152 74 26 JNZ SHORT keng_trn.0040217A
JNZ на JE, тогда жизни вообще ни у кого отниматься не будут
либо:
004020EC call off_4010C1// нопим для второго игрока
004020F9 call off_4010C1 //нопим для первого игрокаПрикол имелся ввиду этот? )
SetDlgItemTextA(hDlg, 101, String);
SetDlgItemTextA(hDlg, 102, dword_4010B5);//можно сразу морозить -
DX11 это нечто, надо же было стереть работу с рисование текста, пришлось юзать стороннюю библиотеку. Чтож, посылаем туда же Dx11:
теперь у меня есть коллекция хуков dx начиная с .. dx 8
ps. по-моему кроме меня и US никому эта тема не интересна )
-
Посылаем туда же DirectX 10
-
Располагаются как в структуре D3DXVECTOR3
Trainer Dll
in Создание трейнеров в специальных студиях
Опубликовано
По-хорошему надо создавать поток функцией CreateThread и уже из него вызывать RewriteValues()