

mrPTyshnik
Пользователи-
Постов
79 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
mrPTyshnik стал победителем дня 2 июля 2018
mrPTyshnik имел наиболее популярный контент!
Репутация
10 NewbieИнформация о mrPTyshnik

Посетители профиля
Блок последних пользователей отключён и не показывается другим пользователям.
-
В таком случае: 1) смотри как работает защита и обходи 2) переписывай хук
-
Если ты при вызове хука каждый раз патчишь функцию, то проблемы могут возникнуть даже без выгрузки, а например когда 2 и более потока вызывают хукнутую функцию Но если ты устанавливаешь хук так: 1) Определить длины начальных инструкций в целевой функции через дизассемблер длин 2) Выделить буфер под трамплин и настроить его: скопировать байты из проанализированной функции в конец буфера с трамплином. Настроить адрес функции myDllFunc и рассчитать адрес прыжка в тело оригинальной функции с учетом скопированных байтов. 3) Заменить скопированные байты в оригинальной функции для прыжка на трамплин тело трамплина: trampoline: call myDllFunc(); orig_intructions jmp original_func_addr+sizeof(orig_intructions) То проблем быть не должно
-
1) найди код в игре который вызывает эту функцию и хорошенько присмотрись 2) через asm вставки(если работаешь на x32) ИЛИ через отдельный *.asm файл(если в x64) повтори один в один вызов этой функции из своей DLL Параметры функции могут передаваться через стек, а могут через регистры. Возможно ты что-то упускаешь + Еще вариант: Поставь бряк на эту функцию и посмотри как туда передаются параметры с реальными данными когда сама игра вызывает эту функцию
-
но лучше конечно использовать инжектируемую библиотеку в процесс. По поводу передачи данных - обычный FileMapping 1) Создаешь FileMapping в основном приложении 2) При инжекте, инжектируемая dll открывает этот FileMapping 3) Читаешь/пишешь в цикле, тут главное согласовать структуры данных, например: typedef struct MyRedneckProtocol { BYTE ControlCode; Vector3 Coord1; Vector3 Coord2; int resultCode; } эта структуру одинакова в dll и в основном приложении. Метод грубый и лучше бы конечно использовать пайп.
-
Попробуй ScyllaHide
-
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" ?
-
Канал Кенга (https://www.youtube.com/channel/UCmyAh5Rwmr-migt1SyVd5Mw) тоже выпилили Возможные аналоги для просвещения народа: https://vimeo.com , https://viuly.io канал Dmitry K. пока держится
-
Инжектор собрал из этого сорца, верно Если ты собирал инжектор под x64 то в D7 нету возможности компилить под x64 - отсюда невозможность загрузить либу - так я думал пока не столкнулся с проблемой загрузки твой x32 библиотеки в x32 процесс(любой). Хотя библиотеки, которые собирал я у себя(под x32 и под x64) в DLP 10.2 Berlin работают отлично при таком инжекте. Отсюда вытекает: Скорее всего настройки компилятора D7 надо рыть При инжекте твоей либы попытка вызова адреса 0D9646B0
-
защита от отладки некст ген
-
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) - хоть и не так безопасно.
-
Не могу понять, причем здесь это. Речь шла о подмене dll которая не разрабатывается крайтековцами, а именно ddraw.dll. То есть, подмена системной библиотеки которая не имеет цифровой подписи. Такой метод работает и его продают. Могу предположить что MailRuALLOWCheat проверяет по имени либу и пропускает дальше. А могли бы запоминать хеши оригинала и проверять при старте.