Объявления | ||
---|---|---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: База данных IDA от void17Как удалить кнопку (интерфейса), чтобы от нее следа не осталось? Пытаюсь убрать вызов конструктора, вылет. Там еще векторы какие-то, я абсолютно за интерфейс не шарю..
|
Re: База данных IDA от void17Аналогично. Интерфейс не моё. Когда надо, разбираюсь со скрипом. Но совершенно точно могу сказать, что избавление от конструктора не решит проблему. А чтобы сказать что-то точнее, нужно понимать, о какой кнопке идёт речь.
|
Re: База данных IDA от void17AlexSpl писал(а): Разобрал еще один NWC-шный шаблон. Осталось еще парочку
|
Re: База данных IDA от void17void_17 писал(а): AlexSpl писал(а): Зато я с этими интерфейсами собаку уже съел с потрохами. Удалять кнопку (да и любой другой элемент диалогов) вовсе и не нужно, достаточно просто - скрыть её. Вылет после вызова конструктора происходит из-за того, что программисты третьих героев совершенно не позаботились почти во всех диалогах о проверке на существование элементов диалогов, т.е. для диалогов элемент с определённым ID существует по умолчанию, и точка. А удаляя конструктор, ты "заставляешь диалог" брать смещение у несуществующего элемента. Именно поэтому максимально просто и безопасно элемент (например кнопку) тупо скрыть, а не удалять конструктор. Скрыть элемент: 0x5FED80, (_DlgItem_)this, 6, 6; |
Re: База данных IDA от void17Да не за что
Если нужно что-то вроде шаблона по созданию диалогов, то вот исходники плагина Wog Native Dialogs (WND). Суть плагина в том, что мне пришлось переписать с нуля все 12 воговских "неродных" диалоги на движке третьих героев. В общем это образец создания, управления и использования диалогов, так сказать. |
Re: База данных IDA от void17igrik писал(а): Если нужно что-то вроде шаблона по созданию диалогов, то вот исходники плагина Wog Native Dialogs (WND). Суть плагина в том, что мне пришлось переписать с нуля все 12 воговских "неродных" диалоги на движке третьих героев. В общем это образец создания, управления и использования диалогов, так сказать. Схоронил. Спасибо! |
Re: База данных IDA от void17@AlexSpl, я прошу вас быть осторожным насчет C++ 6.0. Там include имеет различия. Например в героях 3 шаблон-класс std::bitset выглядел так: std::bitset<size_t N, typename T>. В классическом C++6.0 он выглядит как std::bitset<size_t N>, еще различия нашел в std::map, std::string, std::deque.
Кстати говоря, обновите базу и пришлите, пожалуйста. |
Re: База данных IDA от void17@AlexSPL, я покопался в дримкастном экзешнике и обнаружил некоторые оригинальные названия полей структур и классов; возможно даже названия аргументов некоторых функций. Смотрие по адресам 0x7..... - 0x8..... в hex-редакторе.
upd.: любопытно. Кажется я понял, как они хранятся здесь. Вот, похоже, класс army: видно оригинальные имена полей и их смещение. Выявил закономерность:
Звучит вполне себе логично: 't' = 116, 'x' = 120, 'l' = 124 и т.д. Еще бы понять, для чего три точки и X перед Y. Где-то @, где-то t, где-то еще что-то. Последний раз редактировалось void_17 16 дек 2021, 11:58, всего редактировалось 1 раз.
|
Re: База данных IDA от void17Чтобы понять закономерность, запилил 32-битный .exe-шник в режиме дебага. Создал класс с разными полями, разными методами, разными спецификаторами доступа. (выравнивание по 4)
Создал объект внутри WinMain(). Открыл .pdb файл в hex-редакторе, нашел название поля. Вуаля. Что интересно, за ними идут еще методы класса, в незаманглерном виде. Итак. Здесь немножечко по-другому, буквально на один байт, но суть точно та же(квадратные скобки - байты):
Пришел к выводу, что спецификатор доступа на символ X не влияет. Это значит, что public: int ... и private: int шифруются одинаково! Что в итоге(внимание, в данном конкретном примере, в героях 3 дримкаст по-другому): Тип Код int 0x74 bool 0x30 short 0x11 class по-разному. Осталось спросить на форуме Microsoft принцип шифрования типов в линкере и у нас по-сути есть оригинальные типы RoE с названиями и типами! Кстати говоря, enum тоже хранятся в экзешнике, с названиями и значениями. Чуть позже изучу принцип их хранения в базе данных программы. |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1