Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: База данных IDA от void17Информация о шаблонах C++ ведь уничтожается ещё перед компиляцией, вместо шаблона генерируется код с подставленным конкретным типом. Восстановить код в виде шаблонного чего-то, на мой взгляд, принципиально невозможно, это даже не декомпиляция уже.
|
Re: База данных IDA от void17Еще одна проблема IDA: не умеет нормально работать с union и битовыми полями(последнее возможно фиксится введением enum по типу того, что с флагами, только вместо разных флагов там разные биты для хранения чего-либы).
Вопиющий случай: ExtraInfoUnion(вроде так называется) |
Re: База данных IDA от void17Но как-то же IDA вот это достаёт: private: void __thiscall std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short>>::_Split(void)? Может, только для стандартных библиотек такое возможно.
|
Re: База данных IDA от void17Владимир писал(а): Ну да, но иногда можно определить, что тот же vector<...> хранит, например, army в качестве типа элементов. Разработчики dreamcast-версии игры забыли при компиляции убрать дебажную информацию типа сигнатур функций, что хранится в памяти в конце базы, что нам очень на руку. |
|
Re: База данных IDA от void17Good work so far, I will compare notes. Have you been working on this alone?
Also IDA doesn't have a nice way for a team to contribute to the same database (yet) but there is IDArling. void_17 писал(а): https://drive.google.com/file/d/12xZWv- ... sp=sharing I do not update the api from the single-header file, it's too much trouble. Also I am refactoring the entire library, things will be relatively different but still similar. |
Re: База данных IDA от void17AlexSpl писал(а): Это т.н. FLIRT-сигнатура. Алгоритм, который определяет STL-функции по их поведению. Я поясню. В IDA можно как хочешь назвать функцию, применяя лишь правила манглера Visual Studio. Но для IDA имя и тип разные вещи, ей плевать, какое там имя у функции. https://en.m.wikiversity.org/wiki/Visua ... e_mangling Если вы нажмете на имя "красивую" функцию, то увидите, что вместо ::, <> и скобок там куча странных символов типа заглавных букв и @. Это зашифрованная сигнатура функции, в которой хранится: имя метода, класс метода, аргументы, соглашение о вызове, спецификатор доступа, тип и еще что-то, читайте статью по ссылке выше. IDA автоматически преобразует эту зашифрованную сигнатуру в "красивую", что вы и видите. Пример:
|
Re: База данных IDA от void17А теоретически программеры NWC могли использовать шаблоны? Т.е. была в этом необходимость? Например, в базе Героев 2 с дебаг-инфо я не вижу шаблонов.
|
Re: База данных IDA от void17RoseKavalier писал(а): Also IDA doesn't have a nice way for a team to contribute to the same database (yet) but there is IDArling. Yes, I've been working on it alone for 2+ months. As we say, zaebalsya. IDArling? Never heard of it. Seems like a good thing. We should try it. Create a discord server to cooperate, for instance. |
Re: База данных IDA от void17AlexSpl писал(а): Одно дело самому вручную написать шаблон, другое дело пользоваться STL-ными шаьлонами. NWC не видели необходимости в написании собственных шаблонов, хотя они были еще с 1980-ых и программисты NWC прекрасно знали о них, решили не создавать свои шаблоны. |
Re: База данных IDA от void17Сейчас так же красиво, как в Героях 2:
Жаль, что нет информации о структурах/классах. |
Сейчас этот форум просматривают: Yandex [bot] и гости: 1