|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
Правка таблицы импорта13.05.2022, 12:57. Показов 3272. Ответов 55
Метки нет (Все метки)
Здравствуйте! Вопрос по правке таблицы импорта. Мне попался делфийский код по перехвату и подмене "MessageBoxA" в user32. Вот ссылка: https://pastebin.com/00FbHHwN
Но я сишник... и решил переписать его под С++. Всё нормально..., но есть НЮАНС (!) - на RAd Studio 2010 нормально компилируется и работает, а вот RAd Studio 10.4.2 и RAd Studio 11 - так же нормально компелируется..., сама прога работает, но перехвата и подмены не происходит! Не пойму... - в чём причина? Код абсолютно одинаковый. Нашёл в инете ещё пару кодов. Переделал их "под себя" - та же картина!... - в 2010 идёт подмена, а в 10.4.2 нет. Не находит он "MessageBoxA" в билотеке. Подскажите пожалуйста в каком направлении смотреть. За ранее благодарен за любую подсказку.
0
|
|
| 13.05.2022, 12:57 | |
|
Ответы с готовыми решениями:
55
Получение таблицы импорта pe файла Файл без таблицы импорта Массовое отображение и правка файлов в виде таблицы |
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 18.05.2022, 00:00 | |||
|
Опишите предысторию. Про возможные варианты решения потом поговорим.
1
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 12:21 [ТС] | |
|
Описывать, особо, нечего... Обычные скины для оформления прог - "AlphaControls"... Я их давно использую. Но у них есть скины защищёные. И вот на них то выскакивает это окошко. И когда было больше времени, я решил попробовать перевести делфийский код перехвата и подмены. Дело не в нескольких скинах..., а просто в решении уже этой задачи. Не привык отступать. Да и интересно это всё. Ведь познание чего то и есть развитие.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 18.05.2022, 13:03 | ||
|
Если я правильно понял: 1) Вы используете некий сторонний компонент для С++ Builder\Delphi 2) Этот компонент в определенный момент времени (когда?) вызывает MessageBox 3) Вам надо перехватить этот MessageBox Так?
0
|
||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 14:27 [ТС] | |
|
Абсолютно всё верно. Выскакивает до того, как приложение начнёт выполняться. Поэтому всякие FindWindow тут не подходят. Только перехват и подмена до запуска. И оно работает в 2010. И перехватывает именно MessageBoxA. Осталось добиться того же в 10.4. И именно в С++, та как в делфи и там и там работает.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 18.05.2022, 21:40 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 23:02 [ТС] | |
|
А что ещё может использоваться?... Библиотека стороннего компонента то работает одинаково... Независимо от версии компилятора... И в делфи то код не менялся!... И работает, выходит, независимо от того, на какой версии он будет откомилен. Вот скрин с 'Hex Works', сделанный с .exe 10.4.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 19.05.2022, 00:37 | |
|
cvi, соберите мне в 2010 это приложение с AlphaControls, но БЕЗ перехвата. Т.е. чтобы оно также показывало окно, как в 10.4 сейчас.
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 19.05.2022, 01:33 [ТС] | |
|
Вот оно...
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 19.05.2022, 01:39 [ТС] | |
|
Я Вашу идею понял... Этой надписи нет. Осталась только надпись и текст самого окошка.
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 21.05.2022, 18:59 [ТС] | |
|
Вопрос остался не решённым... Какие есть идеи?
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 21.05.2022, 21:05 [ТС] | |
|
Посмотрите пожалуйста - в архиве два файла .doc. Один файл --- 2010 читает user32, а другой --- 10.4 читает user32. В списке, что читает 2010 - есть MessageBoxA, а в списке, что читает 10.4 - его нет. Как такое может быть?... Они что, разные библиотеки читают?...
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 22.05.2022, 14:26 [ТС] | |
|
Да перехватывал я MessageBoxW... Подмены только не происходит и... не произойдёт! Потому, что перехватывать надо MessageBoxА. Делфи то ловит MessageBoxА (!) и... - это делает благополучно! Писал я Вам об этом уже не раз.
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||
| 22.05.2022, 15:30 | |||||||
|
По теме: В общем, появилась идея. Добавьте перед функцией main вот такой код
0
|
|||||||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 22.05.2022, 17:48 [ТС] | |
|
Спасибо большое..., но ничего не дало. С MessageBoxA даже не проходит строку if( (PVOID)Thunk->u1.Function == __ADDRES ), а с MessageBoxW строка if( (PVOID)Thunk->u1.Function == __ADDRES ) пропускает, но подмены не происходит в последующем коде... и не произойдёт, потому что мне надо каким то образом найти именно MessageBoxA в user32. Тогда всё сразу получиться. Я просто не знаю как это сделать. Почему 11 его там не находит, а 2010 находит... Делфи, ведь, тоже находит... и там и там...
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 22.05.2022, 18:09 | ||
|
Еще попробуйте код перехвата запустить до main.
0
|
||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 22.05.2022, 19:29 [ТС] | |
|
Агааа.... Срабатывать - оно не срабатывало... Но сейчас посмотреть - появиться ли MessageBoxA в дампе таблицы импорта...
Добавлено через 4 минуты Нет его в списке!...( Всё по прежнему. Добавлено через 5 минут Почему не получается найти MessageBoxА в библиотеке?
0
|
|
| 22.05.2022, 19:29 | |
|
Инструменты для редактирования таблицы импорта pe? Контрол для импорта таблицы в файл Word После импорта таблицы, пропадает сортировка - настоящая головоломка
Автоматическое создание формы на основе созданной таблицы в результате импорта данных (VBA) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью.
Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
|
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
|
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
|