Таблица виртуальных функций или последствия AsProtect?

Тема в разделе "WASM.RESEARCH", создана пользователем zx, 26 май 2008.

  1. zx

    zx New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    3
    Есть программа. Писана на С++ с использованием MFC. Была запакована ASProtect 2.x.
    Есть следующая функция (function_selector1): http://i017.radikal.ru/0805/f7/8337c4019386.png
    В основном отрабатывается по левой ветке, где в конце ретится на адресс, который берется по индексу из таблицы address_table.
    В принципе, таблица похожа на таблицу виртуальных функций класса, но там довольно много одинаковых елементов. К тому же, индекс меняется некоторыми табличными функциями, но от запуска до запуска последовательность не изменяется.
    Индекс вычисляется (с адреса 004356B3 - EAX) из своего предыдущего значения. В процессе работы вызванная табличная функция вызывает другие табличные, ну и прочие.. обратно по стеку вызов они могут и не отработать, а просто ктото поправит стек и сделает рет сразу на function_selector1.
    Цикл повторяется около сотни тысяч раз.

    Собственно, вопрос... возможно ктото уже встречался с етим и знает, что ето - какаято навесная защита, особенности компилирования обычного кода, или уже автор специально извращался?
    Или последствия ASProtect?