Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.09.2014
Сообщений: 4

Узнать, что получает доступ к адресу

11.11.2015, 20:20. Показов 1032. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Имеется задача: узнать, какие адреса в памяти получают доступ к определённому адресу в стороннем процессе. По аналогии с функцией "Find out what addresses this instruction accesses" в Cheat Endgine(скриншот).
Имеется адрес инструкции (client.exe+12EFFF), нужно узнать, какие адреса в неё приходят. А приходят в неё постоянно 3 разных адреса, в регистрах edi и esi. Они просто по очереди постоянно меняются там.
Сейчас я делаю так:
Ставлю на этой инструкции брейкпоинт int 3, делаю WaitForDebugEvent, ловлю EXCEPTION_BREAKPOINT, получаю контекст потока
C++
1
2
HANDLE hBadThread = OpenThread(THREAD_GET_CONTEXT | THREAD_SUSPEND_RESUME, 0, debug_event.dwThreadId);
                        GetThreadContext(hBadThread, &thread_context);
и в нём смотрю значения в нужных регистрах, для проверки читаю, что в этих адресах. Потом восстанавливаю оригинальный байт в инструкции, который заменялся на INT3, и гоняю такой цикл пока не поймаю все 3 нужных адреса.
На данный момент задача решена так, но мне кажется, что это далеко не оптимальное решение, т.к я особо не силён в данной области и бралось всё с https://msdn.microsoft.com/ru-... 85%29.aspx, по совету одного человека.
Можно ли решить задачу по другому?
Миниатюры
Узнать, что получает доступ к адресу  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.11.2015, 20:20
Ответы с готовыми решениями:

Узнать кто имеет получает доступ к файлу в данный момент
Ситуация следующая: Есть сервер до управлением Windows 2003. Есть клиентский машины. На сервере располагаются общие ресурсы для всех...

Как узнать в Linux что лежит по указанному адресу
Здравствуйте. Имеется ли в Linux возможность узнать что лежит по конкретному адресу в стеке. Отлаживаю запущенную программу. Она...

IP зарезервирован по мак-адресу, но при загрузке под другой системой карта получает другой IP по DHCP
Есть ноутбук lenovo e540 с двумя ОС на борту. По работе для выполнения различных задач требуется переключаться межу ними. У бука в обеих...

3
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
11.11.2015, 20:39
blacklis, вместо int3 пропатчить код, испорченые инструкции скопировать в свой буфер и передавать на них управление после перехватчика, после передавать управление дальше по коду. Обратно ничего не восстанавливать. Будет быстрее, но есть много подводных камней. В общем почитайте про сплайсинг.

Добавлено через 6 минут
Есть кстати готовая либа для сплайсинга. Говорят хорошая, но я ей не пользовался. MinHook
0
0 / 0 / 0
Регистрация: 20.09.2014
Сообщений: 4
11.11.2015, 20:57  [ТС]
Спасибо,а почитать, собственно, где?
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
11.11.2015, 21:32
Цитата Сообщение от blacklis Посмотреть сообщение
Спасибо,а почитать, собственно, где?
Погуглете. Информации море в сети. Да про тот же MinHook почитайте, его исходники посмотрите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2015, 21:32
Помогаю со студенческими работами здесь

Не понятно откуда Пользователь получает доступ к папке
Добрый день Имеется Sbs 2008 с расшареной папкой Doc, папка расшарена всем (everyone) а в настройках безопасности определено кому...

Как узнать, откуда компьютер получает интернет?
подскажите, как узнать откуда компьютер получает интернет? или хотя бы как узнать стоит ли галочка "Использовать прокси"

Доступ к компу по IP-адресу
Помогите, ради Аллаха :) В сетке есть комп. Я знаю его IP-адрес. Как получить к нему доступ в VB? Нужно для чтения файлов. ...

Доступ к памяти по адресу
Есть структура, элементы которой адрес на начало массива в памяти и его размер. Адреса хранятся в 16-ричном формате. Мне нужно распечатать...

Узнать IP по MAC адресу
Есть мак адрес устройства. Необходимо связаться с этим устройством когда IP динамический. Знаю есть команда на CMD узнать ip по мак: arp -a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru