|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
Правка таблицы импорта13.05.2022, 12:57. Показов 2916. Ответов 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 файла Файл без таблицы импорта Массовое отображение и правка файлов в виде таблицы |
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||
| 18.05.2022, 00:00 | |||
|
Опишите предысторию. Про возможные варианты решения потом поговорим.
1
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 12:21 [ТС] | |
|
Описывать, особо, нечего... Обычные скины для оформления прог - "AlphaControls"... Я их давно использую. Но у них есть скины защищёные. И вот на них то выскакивает это окошко. И когда было больше времени, я решил попробовать перевести делфийский код перехвата и подмены. Дело не в нескольких скинах..., а просто в решении уже этой задачи. Не привык отступать. Да и интересно это всё. Ведь познание чего то и есть развитие.
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 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
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||
| 18.05.2022, 21:40 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 23:02 [ТС] | |
|
А что ещё может использоваться?... Библиотека стороннего компонента то работает одинаково... Независимо от версии компилятора... И в делфи то код не менялся!... И работает, выходит, независимо от того, на какой версии он будет откомилен. Вот скрин с 'Hex Works', сделанный с .exe 10.4.
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|
| 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
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||||||
| 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
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 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 | |
|
Помогаю со студенческими работами здесь
56
Инструменты для редактирования таблицы импорта pe? Контрол для импорта таблицы в файл Word После импорта таблицы, пропадает сортировка - настоящая головоломка
Автоматическое создание формы на основе созданной таблицы в результате импорта данных (VBA) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|