|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
Правка таблицы импорта13.05.2022, 12:57. Показов 3357. Ответов 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 файла Файл без таблицы импорта Массовое отображение и правка файлов в виде таблицы |
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 18.05.2022, 00:00 | |||
|
Опишите предысторию. Про возможные варианты решения потом поговорим.
1
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 12:21 [ТС] | |
|
Описывать, особо, нечего... Обычные скины для оформления прог - "AlphaControls"... Я их давно использую. Но у них есть скины защищёные. И вот на них то выскакивает это окошко. И когда было больше времени, я решил попробовать перевести делфийский код перехвата и подмены. Дело не в нескольких скинах..., а просто в решении уже этой задачи. Не привык отступать. Да и интересно это всё. Ведь познание чего то и есть развитие.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 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
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 18.05.2022, 21:40 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 23:02 [ТС] | |
|
А что ещё может использоваться?... Библиотека стороннего компонента то работает одинаково... Независимо от версии компилятора... И в делфи то код не менялся!... И работает, выходит, независимо от того, на какой версии он будет откомилен. Вот скрин с 'Hex Works', сделанный с .exe 10.4.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 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
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||
| 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
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 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) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|