![]() |
eXeL@B —› Вопросы новичков —› Проблема с анализом функций. |
Посл.ответ | Сообщение |
|
Создано: 03 ноября 2011 22:02 · Личное сообщение · #1 Здравствуйте. Исследую одну библиотеку, в ней вызов функций идет через стек (может ошибаюсь, но не знаю как правильно назвать) пример: Code:
И так большинство функций. Напрягает неимоверно. Я так пониманию, что это какая-то оптимизация компилятора. В библиотеке используется Crypto++, сигнатуры применил, но распозналось очень мало функций, по моему мнению как раз через специфический вызов функций. Подскажите как перекомпилировать Crypto++, чтобы коллы были подобные тем что выше. Peid по библиотеке говорит: Code:
Visual Studio 2005? ![]() |
|
Создано: 03 ноября 2011 22:26 · Личное сообщение · #2 |
|
Создано: 03 ноября 2011 22:31 · Личное сообщение · #3 |
|
Создано: 04 ноября 2011 00:54 · Личное сообщение · #4 bowrouco пишет: Единственный - ида, дерьмо конечно, но нет альтернативы Сорсы Crypto++ нужной версии у меня есть, но там нормальные вызовы, как в прилинкованой либе они стали не нормальными...? r_e пишет: Дык а что тут странного? Обычный this->Fn(...) вызов. Если есть исходник, как его изменить чтобы получить такие вызовы? В СИ я не силен. ![]() |
|
Создано: 04 ноября 2011 01:06 · Личное сообщение · #5 yanus0 пишет: Если есть исходник, как его изменить чтобы получить такие вызовы? Видимо речь идет о уровне оптимизации http://www.tantalon.com/pete/cppopt/compiler.htm особое внимание на ключи компилятора /O ![]() |
|
Создано: 04 ноября 2011 03:34 · Личное сообщение · #6 yanus0 Что-то я вообще не пойму об чем речь. В коде выше в ESI = this на входе функции, пролог стандартный. Дальше идет вполне стандартный код с ECX = this. Аналог на с++ был бы sub_1002D670(esi = obj) { esi->Fn14(...); esi->Fn2C(...)->Fn8(...); ... Что это конкретно за код, можно выявить скомпилировав ту же версию crypto++ с теми же ключами (или близкими), сделав сигнатуры и применив их к коду. анализом, например, в иде. Причем второе можно и без сигнатур, но ручной работы больше будет ----- старый пень ![]() |
|
Создано: 04 ноября 2011 13:32 · Личное сообщение · #7 |
![]() |
eXeL@B —› Вопросы новичков —› Проблема с анализом функций. |
Эта тема закрыта. Ответы больше не принимаются. |