|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
Правка таблицы импорта13.05.2022, 12:57. Показов 3374. Ответов 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
|
|
| 15.05.2022, 20:27 | |
|
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
||||||
| 15.05.2022, 21:10 | ||||||
|
Могу ошибаться, но может проблема в том, что MessageBoxA - неюникодная версия функции.
А MessageBoxW (или MessageBox) - юникодная. winuser.h (билдер XE5):
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 16.05.2022, 01:03 [ТС] | |
|
Выскакивает именно MessageBoxA. Это легко проверить по перехвату, подмене. Повторюсь... - код делфи, откомпиленый на разных версиях, работает!
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 16.05.2022, 01:07 [ТС] | |
|
Спасибо большое, что решили помочь... Отправляю...
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 16.05.2022, 12:54 [ТС] | |
|
Что то удалось увидеть? Есть какие нибудь идеи?...
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 16.05.2022, 13:00 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 16.05.2022, 15:33 [ТС] | |
|
Понял... Спасибо! Пожалуйста извините.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 17.05.2022, 08:15 | |
|
cvi, а можете ваши два проекта в 10.4.2 и 2010 запаковать и сюда прикрепить? Если там что-то не предназначенное для для сторонних глаз, то лучше тогда сделайте два консольных проекта (мой код для этого вполне пригоден), в каждой из версий соответственно, и прикрепите сюда.
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 17.05.2022, 11:20 [ТС] | |
|
Конечно... Спасибо большое что не отказываете в помощи.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 17.05.2022, 13:00 | |
|
cvi, Да, это я посмотрю, как доберусь до винды. А пока все-таки сделайте два именно консольных проекта, с кодом, который я выше привел. И просто скажите одинаково они работают или нет.
Что касается вашего кода, то насколько я понял, нужный вам MessageBox вызываете не вы, а библиотека где-то внутри себя? Если да, то два предположения: 1) Возможно более новая версия библиотека уже использует W версию MesageBox, поэтому вы ее и не ловите. 2) Возможно боле новая версия вообще не использует системный MessageBox, а рисует полностью свой собственный.
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 17.05.2022, 13:45 [ТС] | |
|
Да, Вы абсолютно правы - MessageBoxА вызывается из библиотеки где то внутри себя. И..... - вызывается именно MessageBoxА! Я загружал .ехе в Hex Works и там видно, что именно MessageBoxА! Ваши версии очень правдоподобны, если бы не одно НО... - делфийский код то, ссылку на который я давал, работает и там и там!... Скины то "работают" во всех версиях RadStudio.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 17.05.2022, 13:49 | ||
|
Все-таки первым делом проверьте консольные варианты, без VCL вообще (тот код, что я привел ранее). Это позволит исключить много факторов.
0
|
||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 17.05.2022, 14:45 [ТС] | |
|
Хорошо, я попробую позже и напишу...
Добавлено через 36 минут Консольники (без VCL) и там и там работают абсолютно одинаково! Срабатывает MessageBoxA(0, "test", "Unregistered skin", 0); Добавлено через 11 минут ...Если вместо MessageBoxA пишу MessageBox или MessageBoxW, то сначала срабатывает MessageBoxA(0, "test", "Unregistered skin", 0); а затем MessageBoxA(0, "test", "test", 0); Если изменяю хоть на одну букву имя "Unregistered skin", то окно открывается и сразу закрываеться. Одинаково и там и там!
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 17.05.2022, 14:47 | |
|
cvi, ну вот, таким незамысловатым образом мы установили, что код перехвата тут уже не при чем, значит мучить его дальше нет смысла. Однозначно понятно, что нюанс кроется в реализации VCL в разных версиях среды.
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 17.05.2022, 15:20 [ТС] | |
|
Я уже это понял... Получается... - в C++ и в Delphi используются разные реализации VCL. Спасибо большое за помощь! Есть у меня ещё один вопрос, который я давненько никак не могу для себя решить... Кручусь вокруг да около... Но вопрос конкретно не в эту тему. Не знаю... - можно его тут задать ? Если да, то я тогда опишу суть проблемы...
0
|
|
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||
| 17.05.2022, 15:29 | ||
|
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 17.05.2022, 16:41 | |||
|
Или поискать что вызывается вместо нее и перехватывать уже его.
0
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 17.05.2022, 18:20 [ТС] | |
|
Пробовал уже в 10.4.2 W версию. Поствил const wchar_t, wcscmp. Строка if( (PVOID)Thunk->u1.Function == __ADDRES ) тогда срабатывает. Т.е. - адрес в библиотеке такой есть..., но подмены не происходит...
Добавлено через 13 минут Хотелось бы конечно докопаться до сути...
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 17.05.2022, 23:35 | |
|
cvi, в какой момент программа должна выдавать этот MessageBox, что заставляет ее это сделать? Опишите чего вы пытаетесь достичь.
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2022
Сообщений: 36
|
|
| 18.05.2022, 00:00 [ТС] | |
|
Мне надо наоборот, что бы MessageBoxA с заголовком "Unregistered skin" не выскакивал перед запуском проги. Его запускает сама библиотека если скин незаригестрированый. Таковых не много..., но они есть. Чтобы его перехватить, нужно поправить таблицу импорта. Перехватить его надо на точке входа, т.е. до того, как приложение начнёт выполнение.
Добавлено через 2 минуты Всё это работает, но... только в 2010. А в 10.4 оно выскакивает. А от него я уже отхожу.
0
|
|
| 18.05.2022, 00:00 | |
|
Инструменты для редактирования таблицы импорта pe? Контрол для импорта таблицы в файл Word После импорта таблицы, пропадает сортировка - настоящая головоломка
Автоматическое создание формы на основе созданной таблицы в результате импорта данных (VBA) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|