-
Постов
319 -
Зарегистрирован
-
Посещение
-
Победитель дней
43
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные imaginary
-
-
Нельзя там сделать ловлю припасов, там это защитили как могли, раньше было можно, а сейчас это на сервере, происходит сверка с серверной позицией танка, не совпадает то и припас не берётся.
-
Ищешь повороты камеры, смотришь что туда записывает и там выше находишь отдачу
-
Наверное там стоит защита на регионе памяти, смотри функции VirtualQueryEx что бы найти начало страницы и VirtualProtectEx что бы изменить права доступа к странице.
-
2 часа назад, partoftheworlD сказал:
Это не будет работать без описания перегрузки, типа
Да будет всё работать, ещё как будет, докажи что нет, на обычной студии 2019
-
8 часов назад, Xipho сказал:
данном случае wstring правильно неявно скастится в const char *?
Тут .szExeFile это юникод, и потому не const char *, так что всё будет замечательно
-
39 минут назад, Xipho сказал:
неправильно
Главное что код выходит короче, проще наглядней, и работает правильно
-
22 минуты назад, Garik66 сказал:
не записываешь нужного значения
А, ты полностью прав, я перепутала edi и метку
-
15 часов назад, SergBrNord сказал:
Не понимаю, почему в моменте проверки флага отладчик секции комментариев пишет, что флаг уже вроде как равен 1
Потому что он у тебя не 1 байт, а захватывает кусочек твоего double, надо писать cmp byte ptr [],* если хочешь проверятть байт
Попробуй вот такой скрипт:Спойлер{ Game : DP.exe Version: 1.0 Date : 2019-11-16 Author : SergBrNord } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(DPOINTS,DP.exe,DD 5F 04 5F 5E 8B) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp [edi+90], #6 //Main filter jne code cmp byte ptr [flag], 0 //Check flag jne code mov byte ptr [flag], 1 //Set flag fstp st(0) fld dword ptr [value] code: fstp qword ptr [edi+04] pop edi pop esi jmp return flag: db 00 value: dd (float)3000000 DPOINTS: jmp newmem return: registersymbol(DPOINTS) [DISABLE] //code from here till the end of the code will be used to disable the cheat DPOINTS: db DD 5F 04 5F 5E unregistersymbol(DPOINTS) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "DP.exe"+A1AE17 "DP.exe"+A1AE04: 89 77 04 - mov [edi+04],esi "DP.exe"+A1AE07: FF 46 08 - inc [esi+08] "DP.exe"+A1AE0A: 5B - pop ebx "DP.exe"+A1AE0B: 5F - pop edi "DP.exe"+A1AE0C: 5E - pop esi "DP.exe"+A1AE0D: 8B E5 - mov esp,ebp "DP.exe"+A1AE0F: 5D - pop ebp "DP.exe"+A1AE10: C2 04 00 - ret 0004 "DP.exe"+A1AE13: DD 46 04 - fld qword ptr [esi+04] "DP.exe"+A1AE16: 5B - pop ebx // ---------- INJECTING HERE ---------- "DP.exe"+A1AE17: DD 5F 04 - fstp qword ptr [edi+04] "DP.exe"+A1AE1A: 5F - pop edi "DP.exe"+A1AE1B: 5E - pop esi // ---------- DONE INJECTING ---------- "DP.exe"+A1AE1C: 8B E5 - mov esp,ebp "DP.exe"+A1AE1E: 5D - pop ebp "DP.exe"+A1AE1F: C2 04 00 - ret 0004 "DP.exe"+A1AE22: 8B 56 04 - mov edx,[esi+04] "DP.exe"+A1AE25: 5B - pop ebx "DP.exe"+A1AE26: 89 57 04 - mov [edi+04],edx "DP.exe"+A1AE29: 5F - pop edi "DP.exe"+A1AE2A: 5E - pop esi "DP.exe"+A1AE2B: 8B E5 - mov esp,ebp "DP.exe"+A1AE2D: 5D - pop ebp }
-
Ну так ты посмотри что происходит в коде, почему адреса не получаются, через отладчик
-
Зачем тебе такие сложности, напиши без всяких char, у тебя же есть строка
Спойлер#include <Windows.h> #include <TlHelp32.h> #include <iostream> using namespace std; int GetProcesByName(wstring name) { HANDLE snapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); PROCESSENTRY32 pInfo = { 0 }; pInfo.dwSize = sizeof(PROCESSENTRY32); while (Process32Next(snapShot, &pInfo)) { if ( pInfo.szExeFile == name) { CloseHandle(snapShot); return pInfo.th32ProcessID; } } CloseHandle(snapShot); return 0; } int main() { int pID = GetProcesByName(L"calculator.exe"); cout << pID ; return 0; }
-
8 минут назад, ЛАГАРИУМ сказал:
unregistersymbol(GravityPlayer) registersymbol(sjf)
вот тут тоже лучше написать unregistersymbol(sjf), а вот в остальном должно работать, так что это ты делаешь что то не верно
-
33 минуты назад, Garik66 сказал:
вроде значение не float а double
Float, поскольку команда movss
-
Да точно так же, только в таблице изменить тип на float у адреса (4 байта выделить), для вычислений fpu использовать если надо
-
В 24.10.2019 в 16:58, Fleynaro сказал:
где находятся drawindexed
В directx11 есть такой код вне функции, он получает структуру со слоями, потом, проверяет каждый слой, если слой (адрес) = 0, то не рисует его, а если не 0, то обрабатывает дальше, а потом удаляет, вот, можно поставить слоям нули и они не будут отрисовываться, слои обновляются каждый проход отрисовки (кадр) и их позиция с адресом тоже. Возможно это тебе как то поможет. Но если ты поставишь нули, то слои не будут удаляться, в итоге их много наберётся и они займут память, так что тут нужно смотреть, а если ты уберёшь создание слоя, то будет такая же рассинхронизация и переполнение, потому нужно редактировать содержимое самого слоя ну или искать выше что там указывает количество слоёв и так далее. Найти функцию эту можешь, пройдя отладчиком в какой то функции отрисовки, например отталкиваясь от позиции камеры.
-
У предметов, координаты обычно без таких прямых указателей, у них есть номер, или уникальный адрес в структуре, или просто так в коде, но он не будет повторяться обычно на следующий раз, потому что генерация произойдёт заново, используй для того что бы найти этот предмет скрипт на обращающейся к нему инструкции и фильтр если он нужен
-
6 часов назад, Alex2411 сказал:
это получиться многие сотни раз или тысячи надо делать ?
Нет, ты можешь сделать фильтр что бы уже проверенные адреса которые не ведут к твоей инструкции игнорировались, до call eax сделать внедрение и там задавать условие вроде такого
Спойлерcmp eax, (не верный адрес) je code cmp eax, (не верный адрес2) je code cmp eax, (не верный адрес...) je code nop nop <--- и вот сюда можно поставить брякпоинт nop code: ...
Я не думаю что у тебя там так много вариантов будет, скорее просто они много раз вызываются
-
59 минут назад, Alex2411 сказал:
как мне узнать какой был еах
Поставь до call eax брякпоинт и после него, там где тебе нужно проверить eax, потом смотришь значение на первом брякпоинте, запускаешь, и так делаешь до попадания на 2 брякпоинт после запуска первого, и вот какое было значение eax до попадания на 2 брякпоинт, это то что тебе нужно
-
Нельзя по идее, потому что виртуальная машина выполняет свой код в пространстве главной системы, 64 инструкции не будут поддерживаться
-
Модуль .exe загружается по определённому адресу, который указывается в заголовке файла и от системы не должен зависеть
-
8 часов назад, RenW сказал:
где есть это визуальное значение - там можно найти и настоящее..
Конечно! так и есть ☺️, только нужно использовать отладчик, ставить брякпоинты, и в общем с начала может быть сложно, попробуй искать поиском уменьшилось / увеличилось / не изменилось, когда значение так поступает, может быть найдётся настоящее значение, оно не обязательно совпадёт с визуальным, можешь замораживать сколько останется и проверять
-
В 17.07.2019 в 11:48, Randommist сказал:
в диспетчере задач всё равно прописан CE
Да просто переименуй .exe файл CE на что то другое, например NoCE. Не тот который основной, а например cheatengine-x86_64.exe, его и запускай..
-
20 часов назад, Senpai сказал:
почему в сумме страницы
Потому что " Размер области, начинающейся с базового адреса, в котором все страницы имеют одинаковые атрибуты, в байтах"
-
Только что, Senpai сказал:
почему получается 34 мб?
В комментарии к RegionSize
"Размер области, начинающейся с базового адреса, в котором все страницы имеют одинаковые атрибуты, в байтах."
Там ещё есть cb
"Размер структуры в байтах."
Посмотри это, хотя я не особо понимаю зачем тебе, если и так можно получить размер рабочей области -
11 часов назад, Senpai сказал:
получить адреса страниц памяти определённого процесса
Тогда
18 часов назад, Senpai сказал:их получается так много? Это нормально чи не?
Нормально
[MINECRAFT(mod)] нужна подсказка
in Вопросы по взлому MMO игр
Опубликовано
Можешь сделать что то подобное