![]() |
eXeL@B —› Вопросы новичков —› Как вручную реализовать перехват сплайсингом??? |
Посл.ответ | Сообщение |
|
Создано: 21 апреля 2013 14:51 · Личное сообщение · #1 Всем привет! Я пытаюсь научится создавать читы к играм. Хочу реализовать ВХ. Чтоб это сделать, надо перехватить функции вывода графики на экран. Но пока не так сложно. Есть просто прога, которая по клавише вызывает API функцию по выводу сообщения. Помогите сделать так, чтоб по этой кнопке выполнилась другая функция, либо вообще ничего. Как мне найти вызов этой функции (MessageBoxA(0,'Перехват API','API',MB_OK);), если код мягко говоря не на страничку и не на две??? Спасибо заранее!!! ![]() ![]() |
|
Создано: 21 апреля 2013 15:28 · Поправил: kid · Личное сообщение · #2 Не совсем понятно что понимается под словами "вручную" .... мож я не прав , но делаю это так : MessageBoxA - функа библиотеки user32.dll которая в свою очередь отображена в адресное пространство вашего процесса. После загрузки вашего процесса в таблице импорта будет отображен текущий адрес точки входа в эту функу . Варианты - Инжект своей длл в жертву с целью подмены адреса импорта , изменения точки входа в функу с целью переадресации в тело вашего кода Аттач к процессу с дебаг привилегиями и собстна теже процедуры . ![]() |
|
Создано: 21 апреля 2013 15:59 · Личное сообщение · #3 vovken1997 пишет: Я пытаюсь научится создавать читы к играм. вот для начала прочти это http://rghost.ru/45448427 Там базовые понятия и весьма интересно написано, примеры тоже есть. ----- -=истина где-то рядом=- ![]() |
|
Создано: 21 апреля 2013 16:08 · Личное сообщение · #4 Спасибо за таблицу импорта, НО приложение с защитой от читов легко от этого избавляется. То есть надо или как-то вырубать защиту или сплайсингом, правдо с защитой опять же прийдётся повозится. В ручную я имел введу в отладчике, а не в Delphi программе. Просто по этой ссылке модуль перехвата есть, а как он работает я всё таки не очень понимаю. И как посмотреть таблицу импорта приложения, я в отладчиках очень плохо разбираюсь, хотя немного знаю асемблер. Сейчас у меня стоит олли и IDA. Как в одном из них, лучше в олли, посмотреть эту таблицу??? Спасибо за книжки, но ни одна не открылась. Нажимаю, и пишет что не может отобразить. Можете перезалить??? ![]() |
|
Создано: 21 апреля 2013 16:21 · Личное сообщение · #5 в ольке все вызовы внешних фунок будете видеть либо как CALL по указателю либо как джамп , опять же по указателю. (опять же не говорим о всяческих протекторах и прочих способах защит ) вот этот указатель и перепишите на свой - вгрузите свой код в процесс (длл , шелл код итд) , найдите точку входа в свой код - его адрес , и пишите этот адрес в таблицу импорта заменяя оригинальный ![]() |
|
Создано: 21 апреля 2013 16:34 · Личное сообщение · #6 Мда, этих CALL и JMP до фига. Загрузить свою длл в чужое адресное пространство, это без проблем, но вот с точкой входа опять проблемка. Слушаете, а если написать такую DLL, которвая бы выполняла весь функционал d3d9.dll, то есть основной библиотеки DirectX 9, и дописать свой вывод, а затем просто подсунуть свою, вместо настоящей. Как тогда могут отреагировать анти-читы. И как могут заполить то, что библиотека подменена??? ![]() |
|
Создано: 21 апреля 2013 17:11 · Личное сообщение · #7 всякие античиты перебирают PEB->LdrData на предмет появления лишних dll. Так же может осуществляться сигнатурный поиск в памяти. Вполне можно подменить d3d9.dll или d3d9_##.dll на свою. И даже не нужно реализовывать функционал. Можно либо скриптами сгенерить заглушки-переходники в оригинал, либо еще лучше использовать сквозной экспорт ![]() |
|
Создано: 21 апреля 2013 17:23 · Личное сообщение · #8 vovken1997 достаточно любого изменения оригинального кода (тот же сплайсинг) - и считай спалился. Ведь он не должен меняться если ты не читеришь, правда? В крайнем случае античит просто кикнет с надписью "у вас возможно вирус". Проверить d3d9.dll можно уймой способов, начиная от проверки пути файла длл до проверки по списку "белых" контрольных сумм. ![]() |
|
Создано: 21 апреля 2013 18:07 · Личное сообщение · #9 |
|
Создано: 21 апреля 2013 18:15 · Личное сообщение · #10 |
|
Создано: 21 апреля 2013 18:24 · Личное сообщение · #11 |
|
Создано: 21 апреля 2013 19:27 · Личное сообщение · #12 |
![]() |
eXeL@B —› Вопросы новичков —› Как вручную реализовать перехват сплайсингом??? |