При изменении имен в RTTI нужно как минимум поддержать это изменение на уровне ресурсов (если речь идет о Delphi), т.е. полностью разбирать структуру DFM и при замене имен придется делать еще и ребилд ресурсов. В любом случае поиск самой RTTI не в ран тайме ИМХО очень нетривиальная задача )
Admin wrote:При изменении имен в RTTI нужно как минимум поддержать это изменение на уровне ресурсов (если речь идет о Delphi), т.е. полностью разбирать структуру DFM и при замене имен придется делать еще и ребилд ресурсов. В любом случае поиск самой RTTI не в ран тайме ИМХО очень нетривиальная задача )
Я имел в виду следующее. Список символьных имен можно извлечь из исходников (у разработчика они всегда под рукой, имена сторонних компонентов, подключаемых в виде DCU и т.п. можно не обрабатывать), а в экзешнике менять эти имена на случайно сгенерированные, но той же длины. В этом случае ребилд ресурсов делать не придется.
По крайней мере у меня такой подход работает.
Список символьных имен можно извлечь из исходников
VMProtect не работает с исходниками самой программы, т.е. получать этот список придется на этапе дизассемблирования, а это (как я уже говорил) очень нетривиальная задача.
Еще одно пожелание:
после закрытия проекта (в меню Файл выбираем Закрыть) не освобождается дескриптор файла-исходника, что иногда вызывает неудобства (невозможно перекомпилировать проект, так как компилятор не может перезаписать экзешник).
Исправьте пожалуйста:)
По поводу изменения символьных имён - это возможно будет реализовать с помощью скрипта (в версии 1.55 у TPEFile появятся методы чтения и записи данных в файл).
У виртуальной машины есть один недостаток - очень низкая скорость работы пикода по сравнению с нативом. Пока быстродействие самих процессоров ARM не очень велико - заниматься виртуализацией кода для ARM не перспективно.
Admin wrote:
У виртуальной машины есть один недостаток - очень низкая скорость работы пикода по сравнению с нативом. Пока быстродействие самих процессоров ARM не очень велико - заниматься виртуализацией кода для ARM не перспективно.
Тогда, может быть, Вы рассмотрите возможность поддержки ELF в будущих версиях программы? Там все работает быстро, точнее, "как обычно" :)
p.s. Я имею некоторый опыт работы на платформах с процессорами ARM, мне думается, что не все так плохо.
Тогда, может быть, Вы рассмотрите возможность поддержки ELF в будущих версиях программы?
Вы думаете на системах, которые пропагандируют OpenSource, будет восстребован проект по защите программ от анализа и взлома? ) Возможно в далеком будущем такая возможность появится, но сейчас много направлений работы и для Win32.
Admin wrote:Вы думаете на системах, которые пропагандируют OpenSource, будет восстребован проект по защите программ от анализа и взлома? :))
Об этом я судить не рискну - затем что не знаком с содержанием пропаганды. Могу сказать лишь за себя - компания, которую я представляю, готова заплатить за такой продукт. Однако, его нет.
Admin wrote:Возможно в далеком будущем такая возможность появится, но сейчас много направлений работы и для Win32.