partoftheworlD
-
Постов
2 687 -
Зарегистрирован
-
Посещение
-
Победитель дней
172
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные partoftheworlD
-
-
1 час назад, TimaS сказал:
как сделать чтобы программа не срезала нули и искала сразу "007BBD9C"
Почитать основы по работе с памятью для интересующего тебя языка.
-
Если без инъекции, то удаленным потоком,
https://blogs.msdn.microsoft.com/jmstall/2006/09/28/using-createremotethread-from-c/
Если с ней, то обычным потоком, после внедрения в процесс. -
3 минуты назад, TechnoBOY сказал:
Так вот встанет ли теперь нормально Nox Player без затирки и поломки VBoxa ?
Если Hyper-V Nox не использует, то Virtual Box будет нормально работать, по крайней мере должен.
- 1
-
Технически возможно, если написать плагин для работы с отладчиком.(разработка уже ведется)
Но отладка под интерактивным дизассемблером это то еще приключение, если конечно компьютер не топовой конфигурации.
- 1
-
Если игра имеет DRM снять его и после просто закинуть в утилиту задав аргументы, которые можно посмотреть в Process Hacker.
-
-
? Но не уверен, что CE поддерживает SSE4.1
pmulld ymm0, ymm1
-
-
Качай исходники, изменяй формы и перекомпилируй. Другого решения нет.
-
Да.
- 1
-
12 часов назад, ravett сказал:
Спасибо за приятные новости.
Так по быстрому накидал для проверки код. Нужно будет подробней разбираться с игрой(когда будет время) и перепроверить все, вроде бы все работает, но меня смущаю цифры. (Остальные ресурсы так же в этом списке есть) Возможно придется запись новых значений делать через скрипты движка, там есть функция, которой задаешь номер здания, какой ресурс нужен и сколько.
- 1
-
39 минут назад, ravett сказал:
Не знаю, как это все можно сделать.
В этой игре это просто делается, если никто не возьмется, то займусь в праздничные дни.
-
Еще можно заняться извращениями, рисовать интерфейс на UE4 с помощью конструктора пользовательского интерфейса, а после дописывать необходимый функционал на плюсах и все это связывать вместе. Вес будет примерно такой же, как у программ на Qt и все в одном файле, как в платной версии Qt.
-
15 минут назад, TechnoBOY сказал:
Хотелось бы подсказку где я ошибся и что делаю не так
15 минут назад, TechnoBOY сказал:Всё делает PhysX3_x86.dll.
Этот модуль делает промежуточные расчеты всех объектов на локации, но они обычно передаются в функцию внутри модуля игры.
Так что, лучше попробовать найти откуда ноги растут, т.к. явно передаются координаты в PhysX3_x86.dll из игрового модуля, найдешь кто передает - найдешь массив игроков, а там уже по id или по базовому адресу можно будет сделать фильтр, а если повезет, то найдешь функцию, которая работает только с твоим игроком.
p.s картинки не работают
-
25 минут назад, Flicker666 сказал:
С помощью какой программы можно попробовать взломать?
С помощью рук. Надо найти такой способ взлома, на который бы ты мог влиять на клиенте, но сервер принимал данные как верные.
Например, накручивать не монеты, а награду за миссии т.е. заставляешь думать сервер, что ты действительно "честно" заработал эти монеты.
25 минут назад, Flicker666 сказал:"что-то пошло не так" и игра перезагружается.
Это явный рассинхрон с данными на сервере.
-
5 часов назад, Antonshka сказал:
Непонятно почему в этом скрипте вызывается конструктор базового класса из тела конструктора производного класса.
Возможно использовалась старая спецификация языка, которая позволяла это делать. Это надо смотреть по какой версии писалась книга.
Хотя код достаточно странный из примера и некоторые куски кода вообще не понятно как должны работать.
-
Выбирай, что больше нравится. Ничего нового тут нет, все что сказано выше.
1.
Спойлерclass Pstring : String { public: Pstring(const char pstr[]) : String(pstr) {}; void show() const { cout << String::str; }; };
2.
Спойлерclass Pstring : String { public: Pstring(const char pstr[]) : pstr_(pstr) {}; void show() const { cout << pstr_; }; const char* pstr_; };
Мне нравится как выглядит второй вариант?
-
Если это вся максимально подробная информация по интересующему вопросу, то попробуй включить и выключить компьютер.
- 2
-
1 час назад, Tatsuo сказал:
Научите и объясните пожалуйста!
Все что тебе нужно.
https://docs.microsoft.com/ru-ru/windows/desktop/Debug/debugging-functions
Рецепт такой.
1.Ищешь с помощью CE многоуровневый указатель на этот адрес по которому лежит твое значение.
2.И считываешь по уровням указатели с помощью ReadProcessMemory, если это внешний чит или с помощью указателей, если это внутренний чит.
Пример.
0xAAAABBBB -> 0xDEADBE00 + FE -> 0xFEEDFA00+CE -> значение
DWORD tmp = 0; DWORD base_address = 0xAAAABBBB; unsigned int buffer = 1337; ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(base_address), &tmp, sizeof(DWORD), 0); // 1 уровень (0xAAAABBBB -> 0xDEADBE00) ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(tmp + 0xFE), &tmp, sizeof(DWORD), 0); // 2 уровень (0xDEADBE00 + 0xEF -> 0xFEEDFA00) ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(tmp + 0xCE), &tmp, sizeof(DWORD), 0); // 3 уровень (0xFEEDFA00 + 0xCE -> 0xFEEDFACE) 0xFEEDFACE адрес по которому лежит наше значение. WriteProcessMemory(hProcess, reinterpret_cast<PBYTE*>(tmp), &buffer, sizeof(buffer), 0); // Запись по адресу значения
3. Профит.
Как получить адрес модуля это сам ищи, статей и уроков по этому лежит в интернете туева хуча.
-
10 минут назад, Pitronic сказал:
да ещё по не опытности 2 преда словил
Преды не за не опытность, а за не правильное оформление тем.
-
2 часа назад, Scrappy сказал:
Подскажите как реализовать.
Находишь прозрачность любого игрока, находишь список игроков, имея смещение прозрачности и структуру игроков с помощью цикла перебираешь всех и устанавливаешь значение по смещению прозрачности.
-
Только что, Xhayla сказал:
Первый три пункта, это и есть код который Вы мне дали?
Нет, только 3-й пункт, остальное сам.
Только что, Xhayla сказал:Адрес уже скопированного участка, находится в "
OrigCopy"?
Да
-
1. Находишь адрес нужного участка памяти по которому находится место инжекта
2. Делаешь копию этого участка
3. Перенаправляешь оригинальный участок памяти на копию за счет изменения EIP/RIP.
СпойлерDWORD OldProt = 0; SYSTEM_INFO system_info = { 0 }; GetSystemInfo(&system_info); VirtualProtect(reinterpret_cast<void*>(<оригинальный адрес>), system_info.dwPageSize, PAGE_EXECUTE | PAGE_GUARD, &OldProt); LONG WINAPI UnhandledExceptionFilter(EXCEPTION_POINTERS *pExceptionInfo) { if (pExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_GUARD_PAGE_VIOLATION && pExceptionInfo->ContextRecord->Eip == <оригинальный адрес>) { pExceptionInfo->ContextRecord->Eip = reinterpret_cast<DWORD>(CopyAddress); pExceptionInfo->ContextRecord->EFlags |= 0x100; return EXCEPTION_CONTINUE_EXECUTION; } if (pExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_SINGLE_STEP) { DWORD OldProt = 0; SYSTEM_INFO system_info = { 0 }; GetSystemInfo(&system_info); VirtualProtect(reinterpret_cast<void*>(<оригинальный адрес>), system_info.dwPageSize, PAGE_EXECUTE | PAGE_GUARD, &OldProt); return EXCEPTION_CONTINUE_EXECUTION; } return EXCEPTION_CONTINUE_SEARCH; }
4. Делаешь с копией все что угодно.
или можешь просто убить проверку.
- 1
-
8 минут назад, imaginary сказал:
например не пойти дальше, или отталкивает
обычно с запасом по краям карты невидимые текстуры расположены, так что это будет не совсем край карты, локации уже давно в виде коробки не делают.
Определение переменной в Switch (c++)
in Низкоуровневое программирование
Опубликовано
Switch/case из себя представляет обычный goto, а он не умеет создавать область видимости, поэтому надо руками создавать её, а это делается с помощью блока.