Переводчик
Главная Форум Файлы Статьи GITHUB TELEGRAM
Добро пожаловать на уникальный игровой портал Тосттост! Здесь Вы сможете найти самые интересные новости из мира игровой индустрии, найти самые свежие сотфины для различных онлайн игр, общаясь на форуме получать мнения специалистов и помогать тем кто не смог получить нужный ответ в той или иной сфере!
Авторизация Регистрация
Последние обсуждаемые темы на форуме
Последние комментарии к новостям
Топ-10 форумчан
Группа "Гости" не имеет права просмотра модуля
Что такое SAMP? 23.09.2024
Никита Кайпен(Андронов) закодировался от... 05.04.2024
Альберт Миронов он же Парвиз Азизбоев пр... 04.03.2024
Защита от sampst флуда(SAMP AntiDDoS/DoS... 26.01.2024
Защита от sampst флуда(SAMP AntiDDoS/DoS... 22.01.2024
Слив мода " Megas Drift Server &quo... 14.06.2023
Защита от sampst флуда(SAMP AntiDDoS/DoS... 14.06.2023
МультиЧит by ]GsH[MeG@LaDo[N] 0.3.7 20.07.2020
ExtremeX DM 27.05.2020
ExtremeX DM 22.05.2020
1. Адмен 2447
2. Effect 82
3. Pahanch1kkk 46
4. AdCKuY_DpO4uLa 37
5. InFerNo 35
6. SkYFaLLeN 31
7. d1amondl1on 31
8. R4DUGA 30
9. [NACIONAL]IST_BERZ 23
10. Julia 21
Если вам говорят что публикуемые новости бред сумасшедшего или же говорят вовсе не посещать этот сайт, пожалуйта сообщите нам об этом. Любые контактные данные тех лиц вы можете прислать в личные сообщения AlexDrift, зарегистрировавшись на сайте или же связаться через комментарии в нашем Телеграмм канале.
ИЗБРАННОЕ
SA-MP Клиенты SA-MP.APP Client(0.3.7-R1, 0.3.7-R5) - Скачать SA-MP Reborn Client(0.3.7-R1, 0.3.7-R5) - Скачать Open.MP Launcher(0.3.7-R1, 0.3.7-R5) - Скачать SA-MP Серверы SA-MP 0.3.7 R2-2 LINUX SERVER - Скачать SA-MP 0.3.7 R2-2 WINDOWS SERVER - Скачать Open.MP 0.3.7 WINDOWS SERVER - Скачать Open.MP 0.3.7 LINUX SERVER - Скачать Другое Пиар/Раскрутка/Реклама серверов SAMP
GTA SAN ANDREAS MULTIPLAYER
Готовые Сервера Filterscripts Gamemodes Plugins Маппинг SA:MP Программы Cheat Программы CLEO Собейты RakSAMP VIP Файлы Исходники Клиенты Сервера
GTA SAN ANDREAS SINGLE PLAYER
Машины Мотоциклы Велосипеды Моды Оружие CLEO Вертолеты Самолеты Водный транспорт Поезда Скины Программы Прицепы Одежда
COUNTER STRIKE 2 GLOBAL OFFENSIVE
Скины/Модели Плагины Карты Конфиги Разное Готовые сервера
COUNTER STRIKE 1.6
Карты Конфиги Модели оружия Модели игроков Скрипты для CFG Плагины Защита сервера Разное для сервера Готовые сервера Скачать CS 1.6 Звуки Читы
COUNTER STRIKE SOURCE
Карты Конфиги Модели оружия Модели игроков Скрипты для CFG Плагины Защита сервера Разное для сервера Готовые сервера Звуки
ДРУГИЕ ИГРЫ
Dota Warface Minecraft Rust World of Tanks GTA 5
КАТАЛОГ СТАТЕЙ
SEO Dota Разное GTA 5 КЛЕО С++ Minecraft GTA SA World of Tanks
ВСЕ ДЛЯ ВЕБМАСТЕРА
CMS игровым хостингом Автодонаты Разное
РАЗЛИЧНЫЕ ПРОГРАММЫ
Компиляторы, отладчики Skype Tools
мини-чат портала
статистика сайта
Всего зарегистрировано: 3089
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Комментариев: 154
Форум: 2457/3122
Новостей: 336
Файлов: 831
Статей: 379
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Пользователи онлайн:
Сегодня нас посетили:
Лента новостей и публикаций на портале Тосттост
Перехват функций
Перехват вызовов функций Введение В этой статье продемонстрирован один из способов перехвата вызовов функций. Перехватываемые функции не обязательно должны быть экспортируемыми из DLL. Единственное требование к ним - они должны использовать соглашение о вызове stdcall (стандартный способ вызова функций в Win32). stdcall выбран лишь потому, что он наиболее распространён в Win32. Каких-то принципиальных сложностей с другими типами вызова нет, и ловушки для них можно реализовать аналогично приведённой в данной статье. Перехват вызовов функций может использоваться для отладки своих приложений или для исследования чужих. При исследовании чужих приложений, например, можно определять протоколы взаимодействия нескольких модулей друг с другом (в том числе и взаимодействие по сети - перехватив функции socket, send, recv и другие). Ещё одно применение перехвата функций - изменение работы приложения: перехватив функцию, вы можете изменять передаваемые аргументы и возвращаемый результат, или вообще не вызывать "правильную" функцию. Механизм перехвата Для перехвата вызова производится изменение кода уже загруженного в память модуля. Изменяются первые 5 байт перехватываемой функции (вставляется jmp hook). Такой способ позволяет перехватывать даже функции, которые не импортируются явно через таблицу импорта, а вызываются по адресу, полученному, например, через GetProcAddress() или просто по фиксированному адресу. Функция-ловушка должна находиться в адресном пространстве того же процесса, в котором перехватывается вызов. Она может быть внедрена туда несколькими способами. Например, через SetWindowHookEx() или прямой записью кода в память процесса. Минусом этого способа перехвата является невозможность перезаписи памяти в Windows 9x в диапазоне адресов от 0x80000000 до 0xBFFFFFFF. По этим адресам располагаются некоторые системные DLL (например, kernel32.dll). Ещё одним минусом является то, что ловушка ставится в уже запущенном процессе, а некоторые (возможно важные) шаги в программе уже сделаны. Оба недостатка можно обойти, если вставить код ловушки не в работающий процесс, а в файл интересуемого модуля. Подробнее о функции-ловушке Функция-ловушка должна в первую очередь сохранить адрес возврата и положение аргументов. Произведя какие-то свои задачи, функция-ловушка может вызвать "правильную" функцию с какими-то аргументами или не вызывать её вообще. Так как заранее может быть не известно, по каким адресам расположится код ловушки, в ней не следует использовать абсолютных адресов. Т.е. ловушка сама узнаёт свой адрес по регистру eip и относительно него адресует свои структуры данных. Альтернативным вариантом является использование абсолютных адресов, но в этом случае потребуется настройка кода ловушки программой, которая её внедряет. Чтобы не нарушить работу программы, функция должна перед возвратом восстановить регистры (все регистры общего назначения, кроме eax, ecx) и очистить стек от адреса возврата и аргументов (stdcall подразумевает, что функция сама удаляет аргументы, которые ей передали). Для вызова "правильной" функции сначала необходимо вернуть на место старые 5 байт, чтобы избежать повторных вызовов ловушки из самой себя и зацикливания. После возврата из "правильной" функции 5 байт должны быть опять переписаны, чтобы при следующих вызовах управление передавалось в функцию-ловушку. Сложность принципиального характера проявляется при использовании таких ловушек в многопотоковом приложении. При одновременном вызове ловушки из разных потоков может возникнуть ситуация, когда один поток вернул старые 5 байт, а второй в этот момент вызвал функцию. В результате второй поток не попадает в ловушку, а вызывает только "правильную" функцию. Если функция-ловушка небольшая, то не трудно найти для неё место в памяти процесса. Варианты: DOS часть заголовка модуля. В структуре IMAGE_DOS_HEADER (располагается непосредственно по адресу image base, который для exe-файлов обычно равен 0x400000) для Windows важны только поля e_magic (первое) и e_lfanew (последнее). Соответственно всё, что между ними (58 байт), может использоваться ловушкой. Ещё одна неиспользуемая область - dos stub (код, который работает при запуске программы в режиме DOS и выдаёт сообщение "This program can’t be run in DOS mode."). Эта область начинается сразу после IMAGE_DOS_HEADER и заканчивается там, где начинается IMAGE_NT_HEADERS. Обычно её размер составляет около 200 байт. Relocation table. Область данных, на которую ссылается IMAGE_DIRECTORY_ENTRY_BASERELOC. После загрузки модуля она не нужна. Её размер обычно достигает нескольких килобайт. В exe-файлах её обычно нет, но она почти всегда есть в dll. Неиспользуемые области, выравнивающие секции на соответствующие границы. Их не трудно найти, просмотрев все структуры IMAGE_SECTION_HEADER. Если подумать, наверно можно найти ещё доступные для безопасной перезаписи области. Если же функция-ловушка большая, то проще всего её внедрить, используя SetWindowsHookEx(). Кстати, в этом случае не придётся настраивать абсолютные адреса - это сделает Windows при загрузке dll. Практика К данной статье прилагаются исходники, реализующие вариант ловушки. Для большинства случаев его окажется достаточно и вам не придется разбираться в низкоуровневых механизмах. Ловушка реализована в виде класса C++. Она выполняет всю необходимую работу, связанную с получением аргументов и восстановлением стека при возврате. Для использования ловушки вы должны реализовать свою функцию, которая будет вызываться из ловушки. Вот объявление требуемой функции: typedef unsigned (_stdcall *YOURPROC)(unsigned param, unsigned* arg1, unsigned* countOfArgs); Значение, которое вернёт ваша функция, будет возвращено как результат функции, которая перехватывается. Описание аргументов функции: param - произвольное значение, которое вы можете передать при установке ловушки. Это может быть, например, указатель на структуру данных. arg1 - указатель на первый аргумент, переданный основной программой. Чтобы получить значение первого и последующих аргументов нужно просто подставлять индексы: arg1[0], arg1[1], arg1[2], ... countOfArgs - по этому адресу ваша функция должна сохранить число аргументов, которое имеет перехватываемая функция. Функция-ловушка реализована универсально, и поэтому она не может знать, сколько аргументов передано. Но зато она может быть использована на функциях с любым количеством аргументов. Объявление класса: class CAPIHook { public: CAPIHook(void); ~CAPIHook(); bool Attach(void* process, void* addrOfAPI, void* addrOfHook, YOURPROC addrOfYourProc, unsigned param); bool Detach(void); unsigned GetStatus(void); private: ... }; Для установки ловушки необходимо вызвать CAPIHook::Attach(). Описание аргументов: process - HANDLE процесса, в котором требуется перехватить вызов. HANDLE должен иметь доступ к процессу PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION. Все аргументы-указатели, переданные данной функции должны указывать на область памяти в том процессе, в котором перехватывается функция. addrOfAPI - адрес перехватываемой функции. addrOfHook - адрес, по которому будет прописана базовая часть ловушки, реализованная в CAPIHook. Размер ловушки, реализованной в CAPIHook, составляет 80 байт. addrOfYourProc - адрес вашей функции в адресном пространстве исследуемого процесса. Способ внедрения этой функции остаётся на ваше усмотрение. param - произвольный 32-битный параметр, который будет передан вашей функции в качестве одного из аргументов. Для снятия ловушки необходимо вызвать CAPIHook::Detach(). Если при выполнении Attach() или Detach() произойдёт ошибка, то они вернут значение false (иначе - true). Более подробную информацию об ошибке можно получить функцией GetStatus(), которая возвращает стандартный код ошибки Win32. В качестве примера использования CAPIHook реализован перехват MessageBox() в Notepad.exe. Ловушка убирает первую букву в заглавии сообщений, выдываемых в Notepad. Так как MessageBox() находится в user32.dll, этот пример не будет работать в Windows 9x. Пример был проверен в Windows 2000. Здесь приводится только информация о перехвате вызовов функций. О внедрении своих функций в адресное пространство других процессов существуют другие статьи. Для интересующихся, будет полезно посмотреть один из способов внедрения DLL в чужой процесс. Приложение: Скачать можно здесь. (Скачано 4516 раз) Идея написать статью родилась после обсуждения проблем, связанных с перехватом функций, на форуме [Programming] сайта www.BugTraq.ru. Сама идея вставлять jmp hook в начало перехватываемой функции принадлежит NeuronViking. За заслуги перед отечеством :) большое спасибо: NeuronViking, Heromantor - принимавшему участие в обсуждении перехватов вызовов функций, Dr.Golova - за дельные замечания по статье. [c]Copyright 2001, ggg, ggg348@mail.ru Статья написана специально для UInC (http://www.uinc.ru). Все документы и программы на этом сайте собраны ТОЛЬКО для образовательных целей, мы не отвечаем ни за какие последствия, которые имели место как следствие использования этих материалов\программ. Вы используете все вышеперечисленное на свой страх и риск.

Раздел: Разное • Автор: Адмен • Комментариев: 0 • Не забываем поблагодарить автора :)
Похожие материалы
Скачать читы samp, самп-рп баги, баги samp-rp, баги адванс-рп, даймонд баги, собейт самп, купить аккаунт samp, магазин аккаунтов SAMP, магазин аккаунтов STEAM, аккаунты Warface, магазин аккаунтов Warface, аккаунты WoT, скачать читы Minecraft, читы самп, читы samp 0.3.7, читы WoT, Counter Strike, читы Warface, новости, обзоры, превью, интервью, статьи, скриншоты, обои, а также коды к играм, прохождение игр, патчи для игр и трейнеры, читы CS:GO, читы ксго, читы кс 1.6, читы гта 5, читы гта, моды самп, читы варфейс, ддос, pawno, pawn, php, delphi, javascript, js, jquery, ajax, samp, photoshop, video, картинки, программирование, программы, софт, бесплатный, аватары, pascal, движки, форумов, фреймворк, zend, codeigniter, yii, уй, kohana, minecraft, css, cs, counter strike, самп, приколы, картинки, игры, уроки, peace-pawno, мануалы, скрипты, моды, хаки, шаблоны, сборки, движки, языки программирования, vb, vbulletin, phpbb, joomla, dle, видео, развлечения, игры, уроки, unity3d, unreal, engine, cry, игростроение, игровые, движки, модели, моделирование, 3d, max, sketch, up, gta, Скриптинг, PAWNO, SA-MP, IV-MP, MTA, уроки, помощь, создание, сервер, моды, скрипты, плагины, cleo, читы, читинг, собейт, s0beit, sobeit, моды для sa-mp, скрипты для sa-mp, pawno скриптинг, pawno скрипты, pawno моды, iv-mp скриптинг, iv-mp скрипты, iv-mp моды, мод godfather, Моды SAMP, как установить машины для gta 4, Моды гта 4, Моды GTA 4, скачать моды для GTA 4, скрипты и моды GTA 4 скачать, скрипты SAMP, моды SAMP на русском языке, где можно скачать Pen1 LS, скачать Pen1 Fugitive, скачать The Godfather, rp, roleplay, samp-rp, скачать бесплатно, создать sa-mp сервер, создать мод sa-mp, создать скрипт в pawno, gta-iv, gta-v, gta-sa, gta-3, gta-III, gta-4, gta-5, gta-vc, mta, mta-dm, mta-race, mta-sa, pawno, инфо, info, информация, ru, помощь в pawno, ошибки pawno, сервер, павно, gta-iv крэк, gta-iv патч, gta-v демо, gta-v трейлер, gta-iv keygen, скрипты gta sa, gta 4 multiplayer, gta san adnreas multiplayer, sa-mp forum, форум о sa-mp, форум о pawno, русский sa-mp, русское pawno, русификатор, реклама, раскрутка сервера, пиар сервера sa-mp, мониторинг gta-sa, ошибки в pawno, pawno errors, sa-mp 0.3c, SA-MP 0.3d, Играть в гта по сети, моды для сампа, скрипты самп, Моды гта 4, Моды GTA 4, скачать моды для GTA 4, скрипты и моды GTA 4 скачать, скрипты SAMP, моды SAMP на русском языке, где можно скачать Pen1 LS, скачать Pen1 Fugitive, скачать The Godfather, Все моды SAMP у нас, скачать, читы, samp, приватные, читы, купить, моды, продать, gta, gta5, gta 5, gta6, gta 6, gta san andreas, gta4, gta 4, gtaonline, gta online, GTA Vice City, моды, дополнения, авто, автомобили, машины, код, коды, чит коды, прохождение, видео, оружие, мотоциклы, самолеты, самолет, мотоцикл, автомат, grand theft auto, rockstar, rockstar games, videos, mod, mods, карты, карта, maps, gta 4 online, гта5, гта 5, гта6, гта 6, гта 4, гта4, гта3, гта 3, гта сан андреас, патч, патчи, patch, skins, skin, одежды, скин, скины, одежда, gta1, gta 1, текстуры, текстура, секреты, ограбление, прохождение gta 5, прохождение gta 6, enb, asi, lua, cleo, миссии, спидометр, спидометры, музыка, русификатор, русификаторы, анимация, анимации, сборка павлова, без стиллеров, программы, инструкции, гайды, rp-термины, samp, sa-mp, самп, гта самп, маинкрафт хостинг, samp hosting, sa-mp hosting, самп hosting, гта самп hosting, маинкрафт хостинг, hosting, хостинг вдс, вдс хостинг, ддос защита, защита от ддос, ddos защита, защита от ddos, sla, arbor, арбор, react, myarena, ru-hoster, хостинг vds, vds хостинг, spoofing, iphm, дедик, дедики, ддос гуард, ddos guard, mitigator, crmp, крмп, крмп хостинг, crmp хостинг, мощные вдс, мощные vds, впс хостинг, vps хостинг, хостинг впс, хостинг vps, minecraft, css, cs, counter strike, ip spoofing, cs1.6 хостинг, css хостинг, minecraft хостинг, arizona rp, arizona role play, cs:go, csgo, ксго, кс го, cs:go хостинг, csgo хостинг, ксго хостинг, кс го хостинг, веб хостинг, web хостинг, web hosting, Counter-Strike 1.6, Counter-Strike: Source, Counter-Strike: Source v34, Counter-Strike: Global Offensive, Garry's Mod, GTA San Andreas Multiplayer, GTA Multi Theft Auto, TeamSpeak 3, HLTV, mta хостинг, мта хостинг, раст хостинг, руст хостинг, rust хостинг, rust hosting, хостинг раст, хостинг руст, хостинг rust, colocation, ragemp, rage mp, рагемп, раге мп, рейджмп, рейдж мп, ragemp хостинг, rage mp хостинг, рагемп хостинг, раге мп хостинг, рейджмп хостинг, рейдж мп хостинг, гарисмод, гаррисмод, гарис мод, гаррис мод, бесплатный хостинг, хостинг серверов, бесплатный хостинг майнкрафт, хостинг серверов майнкрафт, бесплатный хостинг серверов, лучший хостинг, хостинг кс, дешевый хостинг, интернет хостинг, хостинг, другой хостинг, бесплатный хостинг самп, купить хостинг майнкрафт, игровой хостинг, узнать хостинг, хостинг +в россии, российский хостинг, хостинг навсегда, мод хостинг, сервер, server, mskhost, 000webhost, что такое хост, bighost, hostinger, хостингер, хостинг панель, личный хостинг, хостинг кс 1.6, хостинг серверов кс, тестовый хостинг, хостинг кабинет, хостинг личный кабинет, хостинг майнкрафт навсегда, бесплатный хостинг навсегда, недорогой хостинг, таймвеб хостинг, хостинг игровых серверов, хостинг кс го, промокоды хостингов, управление хостингом, как сделать хостинг, dns хостинг, node хостинг, создать хостинг бесплатно, хостинг php mysql, cms хостинг, хостинг тарифы, хостинг серверов 1.6, бесплатный хостинг mysql, хостинг серверов кс 1.6, хостинг hosting, хостинг host, html хостинг, лучшие хостинги майнкрафт, какой хостинг выбрать, хостинг компания, хостинг самп 0.3 7, хостинг самп 0.3, хостинг сайтов php, myarena хостинг, хостинг москва, бесплатный хостинг 0.3 7, защита +от ддос, защита +от ддос атак, ддос защита сайта, защита сайта +от ддос атак, защита +от ддос атак сервера, защита +от ддоса майнкрафт, +как отключить ддос защиту, ддос защита бесплатно, хостинг +с ддос защитой, защита +от ддос атак майнкрафт, плагин +на защиту +от ддоса, защита +от ддос атак сервера майнкрафт, сервера +с защитой +от ддос, защита +от ддос cloudflare, защита +от ддос атак бесплатно, арбор защита +от ддос, лучшая ддос защита, l7 защита +от ддос, кибербезопасность, ddos, dos, ddos атака это, ddos атака что это такое, защитник, виалон хостинг, Виртуальный хостинг, game antiddos, antiddos, antiddos game, antiddos-game, [jcnbyu, [jcnbyu vfqyrhfan, [jcnbyu rfhnbyjr, ukjyfc[jcnbyu, [jcnbyu rhvg , tcgkfnyj, vds antiddos, vds +в россии antiddos, vds +в россии antiddos aeza, antiddos minecraft, antiddos solutions, iptables antiddos, antiddos solutions llc, antiddos plugin, tcp antiddos, antiddos game защита minecraft, плагин +на antiddos, stresser, booter, ddos ip, FastFlux, VPS IPHM, Spoofing enabled, Spoofing enabled servers, Dedicated IPHM, VPS ZMap, zmap, Dedicated ZMap, Dedicated, Dedicated servers, Layer 7 VPS, VPS Offshore, anti spoofing, spoofing атаки, spoof hosting, tcp spoofing, spoofed servers, udp spoofed, anti spoofing packet +from, спуфинг, спуфер, бесплатный хостинг для сайта, виртуальный хостинг, бесплатный хост, бесплатные хостинги, хостинг бесплатный, хостинг кс го серверов, хостинг для сервера кс го, аренда сервера cs go, купить сервер, мта хостинг, мониторинг серверов, купить сервер контр страйк, скачать сервер самп, скачать рп сервер, скачать дрифт сервер, скачать дм сервер, скачать cruel game, скачать сервер дрифт, скачать сервер дм, скачать сервер тдм, role play, финансы, майнинг, криптовалюты, биткоин, bitcoin, monero, mining, шаблоны самп, alexdrift, алексдрифт, алекс дрифт, софт, павно инфо, pawno-info, pawno, DNS AMP, amplification.

К новости нет комментариев, но Вы можете стать первым, оставив свой комментарий!

условия предоставления
Авторские права и контакты
счетчики
счетчики
счетчики
Файлы, статьи, публикации на форуме предоставлены исключительно в ознакомительных целях. Все материалы принадлежат исключительно их владельцам! Администрация портала не несет ответственности за последствия использования вами сторонних материалов, опубликованных на форуме, каталоге файлов, каталоге статей, но гарантирует отсутствие вредоносного кода в новостях и публикациях на главной. Администрация не несёт ответственности за размещённые материалы, но готова удалить их, в случае нарушений. Все материалы предоставлены в ознакомительных целях и администрация предлагает удалить их после ознакомления, а так же не призывает и не является экстремистской или террористической организацией.
  • Основатель портала - AlexDrift
  • Автор дизайна, разработчик - Lil Jonson
  • По возникшим вопросам дизайна - liljonson682@gmail.com
  • По всем возникшим вопросам - vk.com/d3structor1337
  • Уникальный игровой портал Тосттост ® 2011 - 2024
  • Сайт создан в системе uCoz

  • Яндекс.Метрика
    Top.Mail.Ru
    HitMeter.ru - счетчик посетителей сайта, бесплатная статистика