Обусфакция кода. Обсуждение проблем.
CreatoR сказал(а):
А вместе с размером уменьшиться надёжность работы скрипта.
Как она убивается? После обфускации, если скрипт не выдал ошибок и предупреждений, значит обфускация прошла стандартным способом. Если были предупреждения, то нужно смотреть, будут ли текущие изменения конфликтовать. В итоге кто мешает отследить модификации или потестировать? Стандартные UDF пишутся с учётом обфускации (сам в FileOperations.au3 выставлял участок для игнора). Возможно Encoding.au3 будет конфликтовать, но у меня в GoogleTranslator.au3 с Encoding.au3 без метки BOM работает.
Кроме того я не тестировал новые версии Obfuscator и пользуюсь пока версией 1.0.29.5, так как после модификаций, когда я описал об ошибке два обновления криво собирали мои остальные проекты, а отписываться на англ. яз. устал, с учётом того что автор желает чтобы я подготовил примеры выявляющий ошибку. Я посчитал, что такие грубые ошибки всплывут сразу у многих и они отпишут на родном языке. Так что если не работает, то нужно отписывать причины, а в моём случае был массив с переносами строк и длинна символов превысила 4096 символов, а обфускатор преобразовывал в одну строку и обрезал часть массива. Пришлось вручную обрезать массив, а после обфускации возвращать обрезанное и компилировать уже обфуцированный без обфускации, хитро но стабильно.
Ещё при беглом просмотре, бросается в глаза
Макро @error является числовым типом всегда, поэтому не нужно использовать двойное приравнивание, хватит и одинарного.