Приемы, облегчающие работу противника. Часть 7.
Программа разрабатывается в среде FoxPro и компилируется самым обычным образом. Чтобы ReFox невозможно было использовать для получения исходного текста программы, необходимо изменить способ кодирования псевдокода.
Но тогда и виртуальная машина не сможет работать с перекодированным псевдокодом. Следовательно, необходимо исправить и виртуальную машину.
После этого скомпилированную программу можно распространять вместе с модифицированной виртуальной машиной, и ReFox окажется бессилен.
Однако в данной схеме есть одно слабое звено. Дело в том, что исполняющая часть виртуальной машины обычно оформляется в виде динамической библиотеки (vfp50O.dll для FoxPro 5 или vfp6r.dll для FoxPro 6) и разрешается свободное распространение этой библиотеки (как redistributable component). Следовательно, оригинальная (неизмененная) версия виртуальной машины может быть легко найдена в Интернете. Далее достаточно выяснить, чем отличается модифицированная версия виртуальной машины, и либо перекодировать программу, приведя ее к виду, доступному для понимания ReFox, либо модифицировать ReFox таким же образом, каким была модифицирована виртуальная машина.