|
-1 / 8 / 6
Регистрация: 31.10.2015
Сообщений: 151
|
|
Узнать адрес указателя07.01.2017, 20:05. Показов 1788. Ответов 26
Метки нет (Все метки)
Есть функция в чужой программе, которая в качестве параметров принимает указатель на структуру. Вопрос, как узнать адрес этой структуры, если нельзя поставить сплайс на начало функции, так как там уже стоит чужой сплайс?
0
|
|
| 07.01.2017, 20:05 | |
|
Ответы с готовыми решениями:
26
Как узнать адрес указателя? Как узнать адрес указателя на char? Адрес объекта, адрес указателя. Где что находится? |
|
Ушел с форума
|
|
| 07.01.2017, 20:26 | |
|
С каких это пор один сплайс является помехой для другого?
0
|
|
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
|||
| 07.01.2017, 20:41 | |||
|
Добавлено через 10 минут
0
|
|||
|
-1 / 8 / 6
Регистрация: 31.10.2015
Сообщений: 151
|
|
| 07.01.2017, 20:43 [ТС] | |
|
Убежденный, ну вообще да, но в данном случае нельзя поставить, ибо та прога что ставит сплайс проверяет его наличие, если поставить поверх, то выкинет из проги, можно поставить за ним свой, но тогда в качестве указателя будет не то что нужно
0
|
|
|
Ушел с форума
|
|||
| 07.01.2017, 20:59 | |||
|
обрабатывать такие ситуации. Да и без сторонних либ можно просто сделать хак под конкретную реализацию чужого сплайса.
0
|
|||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 07.01.2017, 20:59 | ||
|
0
|
||
|
-1 / 8 / 6
Регистрация: 31.10.2015
Сообщений: 151
|
|
| 07.01.2017, 21:04 [ТС] | |
|
Renji, да там стоит еще один од хук) и тоже проверяется, и дальше тоже проверяется )
Добавлено через 1 минуту Убежденный, но я не знаю как проверяется наличие сплайса, а если поставить свой сплайс после ихнего, то нельзя как то узнать адрес ?
0
|
|
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
|
| 07.01.2017, 21:06 | |
|
0
|
|
|
Ушел с форума
|
|
| 07.01.2017, 21:10 | |
|
А нельзя ли поставить свой сплайс раньше чужого?
0
|
|
|
-1 / 8 / 6
Регистрация: 31.10.2015
Сообщений: 151
|
|
| 07.01.2017, 21:14 [ТС] | |
|
Убежденный, можно, но его же вроде как все равно перепишет чужой сплайс ? Оо
0
|
|
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
|
| 07.01.2017, 21:28 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 07.01.2017, 21:54 | |
|
Извините что залез в чужую тему, а что такое сплайс? Гугл ничего толком не выдал
Это из оперы ассемблера?
0
|
|
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
||
| 07.01.2017, 21:57 | ||
|
0
|
||
|
Ушел с форума
|
|||
| 07.01.2017, 21:59 | |||
|
Может быть, твой сплайс реализован некорректно и из-за этого все валится?.. Свой сплайсинг, свой дизасм, что-то вдруг падает, только непонятно где...
0
|
|||
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
|
| 07.01.2017, 22:00 | |
|
sys_beginner, перехват посредством модификации тела функции (патч кода)
1
|
|
|
Ушел с форума
|
||
| 07.01.2017, 22:01 | ||
|
Обычно первые несколько байт заменяются jmp с переходом на свой обработчик. А обработчик, выполнив свою работу, прыгает на "трамплин" (или, как его еще называют иногда, bridge), который выполняет "украденные" инструкции из первых байт, чтобы восстановить контекст, так сказать, а затем переходит на остаток оригинальной функции. В деталях техника может различаться, но общий принцип примерно такой.
1
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 07.01.2017, 22:09 | |
|
Убежденный,
Т.е когда выполняется функция, где то хранится адрес возврата в определенный контекст для продолжения выполнения программы. На уровне ассемблера можно подменить этот адрес, выполнить какой то код, а потом снова вернуться к продолжению программы? Интересно где это может пригодится. Почему просто нельзя вызвать функцию а после нее другую функцию которая сделает то что делается при перехвате и до восстановления контекста
0
|
|
|
-1 / 8 / 6
Регистрация: 31.10.2015
Сообщений: 151
|
|
| 07.01.2017, 22:14 [ТС] | |
|
Убежденный, jupman, да, у меня свой велосипед, со сплайсами все в порядке, это у них такой защитный механизм, если по адресу стоит не их сплайс а что то другое, то рушит процесс, и да, вопрос можно закрыть, я подменил функцию в таблице импорта(хоть и там то же есть камни, но они никак не относятся к тому, что я в результате смог получить)
Добавлено через 3 минуты sys_beginner, ну дак в функции, в основном, передаются какие то параметры, без которых весь процесс может рухнуть, на пример виртуальные функции ты так просто не вызовешь, тебе нужно хукнуть функцию какую то, и сохранить this
0
|
|
|
Ушел с форума
|
||||
| 07.01.2017, 22:16 | ||||
![]() А сплайсинг - несколько другое, его суть именно в перезаписи тела функции, - обычно первых нескольких байт, - своим кодом, обычно прыжком на свой обработчик.
Мы лишь гости в этом
1
|
||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|||
| 07.01.2017, 22:17 | |||
|
А если это логическая ошибка то просто нужно пофиксить obj.virtualMethod(); какие проблемы? А this будет указывать на текущий объект
0
|
|||
| 07.01.2017, 22:17 | |
|
Помогаю со студенческими работами здесь
20
Сменить адрес указателя Сменить адрес указателя
Получить адрес указателя на функцию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|