Тема: Защищенность формата VLX?

Как я понял, VLX это бинарный файл, который распознаеться только Автокадом.

Можно ли производить его отладку дебагером, декомпиляцию и т.п., чтобы иметь доступ к нему (список его функций,  интерфесов, переменных)? Можно ли обращаться к функциям и переменным VLX-программы?

Вообщем, интересует степень защищенности фомата VLX от взлома.
По найденной мною информации это ОЧЕНЬ надежный формат. Так ли это?

Спасибо!

Re: Защищенность формата VLX?

Скорее всего, это так. Надежность не в том, что там какая-то крутая защита, а в том, что людям, которые его могли бы расковырять это не интересно. VLX -  это "недокомпилированная" (недокомпонованная) DLL, загружаемая и читаемая Visual Lisp, который сам содержится в куче dll. Соответственно и надежность, как у любого нестандартного формата. "Личный код Штирлица", который цел, пока за него не берется профессионал.

Но в VLX содержатся прикладные программы для Автокада, которые широкую публику не интересуют. К тому же, главная ценность таких программ в идеях - что программа делает, как и в каком порядке, интерфейс и т.п. А написать код такой программы - дело техническое (разумеется, при знании предметной области и навыках программирования). Во всяком случае это дешевле, чем "ломать" VLX.

Список функций с интерфейсами извлечь нельзя однозначно. Так же как из DLL - имена функций извлекаются, а параметры - нет. Здесь все зависит от воли автора.

Re: Защищенность формата VLX?

Список функций, определенных в VLX можно получить. Для этого необходимо сравнить списки, возвращенные функцией (atoms-family) до и после загрузки VLX. Разница в этих списках - это и есть список функций. В крайнем случае, можно просто выдернуть из VLX необходимый fas-файл и загрузить его.
После этого (trace ....) полученные функции, и запускаем программу на исполнение. Это позволит выяснить хотя бы число параметров, принимаемых функцией, а если повезет  - то и их значение.

Re: Защищенность формата VLX?

Да, конечно, список функций можно получить через (atoms-family). Это бывает полезно. Например, чтобы переопределить функцию, отвечающую за защиту приложения. Но использовать в благих целях - получить имена и параметры, применять в своих програмах и т.п. не удастся. Конечно, трассировка даст много, но это занятие нудное и неблагодарное.

Re: Защищенность формата VLX?

1. Можно или нет получить список функций vlx-приложения зависит от того, как оно скомпилировано.
Если fas-файлы входящие в vlx скомпилировать не в стандартном режиме, а в режиме с оптимизацией при включенной галочке "Локализовать переменные" (не помню как она называется по английски, у меня 2002 - лицензионный русский). В этом случае извне vlx не видно ни функции ни глобальные переменные. Если только они не импортированы в общее пространство имен из пространства имен vlx с помощью функций vl-bb-set, vl-bb-ref.

2. В середине июля Автодесковской конференции, посвященной VisualLisp появилось сообщение от некого мужика, который бахвалился тем, что взломал vlx и, как я понял попытался язвить с участниками конференции (даже предлагал продать). После бурного эмоционального трейда (искры летели из глаз) - тема вдруг резко исчезла.
Узнать правда это или нет - не представляется возможным.

Re: Защищенность формата VLX?

Олег сделал весьма существенное дополнение о "локализации" переменных и импортировании функций.

Про легенды о взломе. Они возникают часто. То про "декомпиляцию" bi2, то про fas, то про что еще. Обычно все это не подтверждается. Только слухи. Даже эта ветка может послужить источником легенд про "некоего мужика". Потом будут говорить "я знаю мужика, который...".

  Если исследование и взлом EXE и DLL дело известное и реальное, то с Автокадовскими файлами не так. Так же, как и с запароленными архивами. Многие бахвалятся, что могут вскрыть любой запароленный архив, фактически же любой такой софт работает методом перебора, то есть достаточно быстро найдет только очень простой пароль.

Re: Защищенность формата VLX?

Все выходне разбирал VLX файл, да муторное это дело, но всеже удалось вытащить название всех функций и переменных, логика конечно повреждена, но если поднапрядчся то о чем написано в модуле понять можно.
Испрользовал Autocad 2000 En, данные получил прямым дампированием памяти после декриптования по XOR.

Re: Защищенность формата VLX?

Побродив по просторам интернета наткнулся на интересную ссылку. Может на что и сгодится
http://land.heim.at/toskana/210866/down … nloads.htm