Перейти к содержанию

mrPTyshnik

Пользователи
  • Постов

    79
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Весь контент mrPTyshnik

  1. В таком случае: 1) смотри как работает защита и обходи 2) переписывай хук
  2. "Find out what writes to this address" если это не данные, а код который исполняется, думаю тут ничего отображаться и не будет. Надо реверсить игру, смотреть как работает код который ты патчишь
  3. Если ты при вызове хука каждый раз патчишь функцию, то проблемы могут возникнуть даже без выгрузки, а например когда 2 и более потока вызывают хукнутую функцию Но если ты устанавливаешь хук так: 1) Определить длины начальных инструкций в целевой функции через дизассемблер длин 2) Выделить буфер под трамплин и настроить его: скопировать байты из проанализированной функции в конец буфера с трамплином. Настроить адрес функции myDllFunc и рассчитать адрес прыжка в тело оригинальной функции с учетом скопированных байтов. 3) Заменить скопированные байты в оригинальной функции для прыжка на трамплин тело трамплина: trampoline: call myDllFunc(); orig_intructions jmp original_func_addr+sizeof(orig_intructions) То проблем быть не должно
  4. 1) найди код в игре который вызывает эту функцию и хорошенько присмотрись 2) через asm вставки(если работаешь на x32) ИЛИ через отдельный *.asm файл(если в x64) повтори один в один вызов этой функции из своей DLL Параметры функции могут передаваться через стек, а могут через регистры. Возможно ты что-то упускаешь + Еще вариант: Поставь бряк на эту функцию и посмотри как туда передаются параметры с реальными данными когда сама игра вызывает эту функцию
  5. но лучше конечно использовать инжектируемую библиотеку в процесс. По поводу передачи данных - обычный FileMapping 1) Создаешь FileMapping в основном приложении 2) При инжекте, инжектируемая dll открывает этот FileMapping 3) Читаешь/пишешь в цикле, тут главное согласовать структуры данных, например: typedef struct MyRedneckProtocol { BYTE ControlCode; Vector3 Coord1; Vector3 Coord2; int resultCode; } эта структуру одинакова в dll и в основном приложении. Метод грубый и лучше бы конечно использовать пайп.
  6. uses CheatsHolder_FULL; begin WriteLn( CryptSign('90 90 90 90 90 90 90 90 90', 'AnyConst'));//получаем шифрованное значение - JniLo^|t1wy3xnc}A^?C_wsdJn //расшифровываем: WriteLn( DecryptSign('JniLo^|t1wy3xnc}A^?C_wsdJn', 'AnyConst'));//выведет 90 90 90 90 90 90 o0 90 90 ReadLn; end. в реальном трейнере необходимо оставить только часть которая расшифровывает сигнатуру(строку): uses CheatsHolder_FULL; begin WriteLn( DecryptSign('JniLo^|t1wy3xnc}A^?C_wsdJn', 'AnyConst'));//вывод на экран 90 90 90 90 90 90 o0 90 90 ReadLn; end. DecryptSign с байтами FF FF работает некорректно, в расшифрованной строке аномалии(если будешь использовать, придется фиксить) Ну и приглядитесь к выводу "90 90 90 90 90 90 o0 90 90" ?
  7. Канал Кенга (https://www.youtube.com/channel/UCmyAh5Rwmr-migt1SyVd5Mw) тоже выпилили Возможные аналоги для просвещения народа: https://vimeo.com , https://viuly.io канал Dmitry K. пока держится
  8. Инжектор собрал из этого сорца, верно Если ты собирал инжектор под x64 то в D7 нету возможности компилить под x64 - отсюда невозможность загрузить либу - так я думал пока не столкнулся с проблемой загрузки твой x32 библиотеки в x32 процесс(любой). Хотя библиотеки, которые собирал я у себя(под x32 и под x64) в DLP 10.2 Berlin работают отлично при таком инжекте. Отсюда вытекает: Скорее всего настройки компилятора D7 надо рыть При инжекте твоей либы попытка вызова адреса 0D9646B0
  9. скомпилил инжектор x64 Release (VS 2017) скомпилил твой код для DLP x64 Release (DLP 10.2) внедрил в RustClient.exe(x64)
  10. 1) читать через системные процессы которые имеют хендл с нужными правами(system, svchost.exe, lsass.exe, csrss.exe) 2) каким-то образом загрузить либу в процесс и читать напрямую 3) драйвера(свой или юзать уязвимые). Тут много вариаций: MmCopyVirtualMemory KeStackAttachProcess + RtlCopyMemory MmMapIoSpace Замаппить в юзермод приложение \Device\PhysicalMemory ну или просто изменить header_Object у этого объекта чтобы из юзера можно было бы открыть. Скорее всего, на Win8 + эти RPM/WPM никак не трогают(я имею ввиду нету ядерных хуков, так как KPP). Возможно ставят каллбак на открытие процесса ->> OpenProcess не имеет должных привилегий, поэтому и RPM/WPM не могут работать. Можно нейтрализовать калбеки и вызывать функции без проблем, либо из драйвера(своего или чужого) получить хендл для процесса игры с нужными правами(в идеале с PROCESS_ALL_ACCESS) и спокойно работать(malwarefox driver) - хоть и не так безопасно.
  11. Не могу понять, причем здесь это. Речь шла о подмене dll которая не разрабатывается крайтековцами, а именно ddraw.dll. То есть, подмена системной библиотеки которая не имеет цифровой подписи. Такой метод работает и его продают. Могу предположить что MailRuALLOWCheat проверяет по имени либу и пропускает дальше. А могли бы запоминать хеши оригинала и проверять при старте.
  12. Недавно в телеге YCT слили один "приват". Суть обхода этого "привата" - как говорил один классик "надо что бы игра грузила dll-ки читов как свои" ?. Це методика имеет название dll-hijacking. Переименовываешь либу хака в ddraw.dll и кладешь рядом с игрой Warface\Bin32Release, запуск. Мб уже пофиксили, пробуй
  13. ахахах а я откуда могу знать что тебя интересует? Мб ты хочешь свою еспу, а мб просто взлом монеток, или же сниф, или же подгрузить в игру своих моделей и текстур. Дальше сам
  14. Ну то что игра вроде как работает(если я тебя правильно понял) - очень хорошо, даже странно. Теперь тебе надо найти тот метод, который тебя интересует и запатчить. Чистый код перед тобой, вперед!))
  15. Всё есть в интернете, учить никогда не собираюсь, т.к. сам плаваю на поверхности этой темы. Гугли
  16. скрин не несет никакой полезной информации ты ту либу, которую я скинул по ссылке закинь в папку с игрой и переименуй в Assembly-CSharp.dll, а старую ACSH.dll сохрани, мало ли что. И попробуй запустить игру. Даже интересно стало, скушает лоадер юнити такое или нет))
  17. тут мало одного деча а вообще не совсем удобно без реф либ на которые ссылается ассамблея. попробуй вот этот файлик, совмневаюсь что будет работать, но код там чище, для ориентирования пойдет. https://dropmefiles.com/QLymY
  18. Это значит что файл защищен. Ты же не думаешь что в проекте будут ориентироваться по таким названиям: Это рандомные названия для запутывания "исследователей"
  19. либа запрочена скорее всего это Confuser/Ex не под фулл настройками
  20. да, я допустил ошибку в аббревиатуре. Все верно. В большинстве случаев, достаточно просто анализа кода на С# и иногда моно диссектора.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.