· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Как удалить элемент меню из ресурсов вручную ?

Посл.отвђт Сообщенiе


Дата: Авг 7, 2003 11:27:16

Всем привет !!
Меня интересует, как можно удалить елемент меню а также некоторые кнопки или, в крайнем случае сделать их неактивными ...
Программы типа restorator, resTuner, resHacker не советовать - меня интересует, как это можно сделать вручную, через HEX-редактор ....
Ребята!! Посоветуйте что нибудь ...
Вышеупомянутые программы не помогают ....
Программа, которая правится, написана на VCL ...
В ее ресурсах нет меню, есть только ссылки через раздел RCData, но там только можно изменить надпись (и то она не меняется) ... Хрен знает как тут быть, мне хотябы сделать эти элементы Disabled-ными, чтобы нельзя было на них кликать ....
Заранее спасибо за ответ !!!


Дата: Авг 7, 2003 12:17:25

Самый простой способ, это поменять идентификатор элемента меню или кнопки на какое-нибудь левое число. Рекомендую посмотреть макросы fasm'а для создания ресурсов, из файла resource.inc.


Дата: Авг 7, 2003 13:00:48

[ korst: меня интересует, как это можно сделать вручную, через HEX-редактор... ]

Надо найти доку как дерево ресурсов строится и вперед. А подробно вряд ли кто те тут расскажет - там не просто.


Дата: Авг 7, 2003 14:33:52

А есть у кого документация по структуре дерева ресурсов ?


Дата: Авг 7, 2003 16:54:32

А структура ресурсов тебе тут не поможет =)
Дело в том что в VCL используется совсем другой формат (собсно говоря Delphi это вобще не в ресурсах хранит, а генерит обьекты в рантайме). Вариант 1: Искать где создается нужный контрол, искать где в конструктор передается адрес его конфигурации и патчить его. Вариант 2: Найти конструктор (DeDe в помощь), и удалить элементы сразу после создания вызвав стандартные методы класса (сорцы vcl в помощь).


Дата: Авг 7, 2003 23:00:22

Спасибо Dr.Golova за конструктивный ответ !!!!!!!!!
Да, я уже сам начал подозревать, что VCL генерит их в рантайме, но поскольку я с библиотекой VCl не сильно знаком, то у меня встречный вопрос ...
Поскольку мне кажеться более подходящим 1 вариант, то мне необходимо узнать:
- как (хотябы приблизительно) зовется такой конструктор ?
- как выглядит конфигурация и как найти ее адрес (это ведь структура данных, где ее искать, или она тоже создается в рантайме) ?
- что значит "DeDe в помощь" ?
Буду очень признателен за ответ !!!


Дата: Авг 7, 2003 23:19:26

что значит "DeDe в помощь"

Чтобы не тратить время головы, отвечу я :)
Топаешь в раздел инструменты тута и сливаешь себе Dede - декомпилятор дельфей. Он тебе прогу ДЕКОМПИЛИРУЕТ! VCL он понимает. Даст тебе туеву хучу ссылок на процедуры - ты их переведешь в формат IDA и будешь долбать уже в IDA.


Дата: Авг 8, 2003 23:13:40

Спасибо ребята !!!


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079