|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.11.2011, 19:05 | #1 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Пишем VBS-приложение для преображения кода VB [статья]
Наверное каждый разработчик, написав несколько тысяч строчек некомпилируемого кода рано или поздно начинает задумываться о том, как защитить свои "уникальные" творения .
В один прекрасный день пришел и мой черед. В сети я не нашел ничего, кроме одной программы, за которую просят 279 бакинских, что меня, разумеется, ни разу не устроило. Поэтому я принял решение написать свой обфускатор. Для реализации выбрал все тот же VBS + регулярные выражения. Жуткая смесь . Во многом за счет использования регулярных выражений приложение получилось довольно шустрым. От рисования интерфейса отказался. Наверняка разработчикам красота ни к чему. Ladies and gentlemen... da440dil project proudly presents...VBShaker! For developers only . Возможности приложения: - удаление комментариев, пробелов, табуляций, переноса строк - переименование функций, процедур, классов, свойств, методов, явно объявленных переменных, констант (только VBS) В графическом режиме позволяет выбрать несколько файлов. В консольном режиме принимает в качестве аргументов абсолютные, относительные пути или только имена файлов. В секции объявления переменных можно изменить: - максимальную длину нового случайного имени в символах - процент символов алфавита в новом случайном имени - необходимость переименования переменных и пр. - необходимость создания файла журнала переименования - необходимость трансформации символов (значительно увеличивает размер файла) - префикс нового имени файла - суффикс имени файла лога Приложение создает в каталоге с файлом исходного кода новый файл с указанным префиксом, а также, в случае необходимости, CSV-файл с отчетом о переименованных переменных и пр. В завершение работы отображает сообщение с отчетом о результате работы с каждым файлом. Исходный код подробно закомментирован, разберется кодер любой квалификации: Последний раз редактировалось dab00; 11.11.2011 в 19:15. |
11.11.2011, 19:09 | #2 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Код:
|
11.11.2011, 19:10 | #3 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Код:
|
11.11.2011, 19:11 | #4 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Продолжение
Код:
|
11.11.2011, 19:14 | #5 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Окончание
Код:
Последний раз редактировалось dab00; 11.11.2011 в 21:22. |
12.11.2011, 11:22 | #6 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
ну Вы даете) В хорошем смысле : )
Если можно, хотел бы задать несколько вопросов по вложениям и не только: 1. VBShaker.vbs - это я так понимаю уже после обфускации? ибо там очень странные имена переменных, констант, функций... 2. VBShaker-2.vbs - мама дорогая!) Тогда что это такое?
Тишина – самый громкий звук
|
12.11.2011, 15:18 | #7 | |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Цитата:
VBShaker-2.vbs - код после "взбалтывания" + трансформация Все работает. Исходник - в статье. Изменяете значения констант - True-False, в зависимости от того, до какой степени Вам необходимо "избезобразить" код и запускаете . Script Encoder отдыхает . Последний раз редактировалось dab00; 12.11.2011 в 15:20. |
|
12.11.2011, 22:42 | #8 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Благодарю за разъяснение)
Позвольте поинтересоваться еще: сам я с VBS дело не имел, но на VBA шлепаю относительно недавно и вроде как немного знаком с объектной моделью Excel. Может ли Ваш Шейкер взболтать код VBA?) попробовал - вроде как нет... Если интересно, то эксперимент проводил над простенькой функцией: Код:
Тишина – самый громкий звук
Последний раз редактировалось nerv; 12.11.2011 в 22:52. |
13.11.2011, 00:07 | #9 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
2 nerv: Пожалуй с заголовком статьи лоханулся я - рисовал для VBS - не предусмотрел для RegExp наличие ByVal, ByRef, As и прочих конструкций - так я их и не планировал. Есть интерес - добейте - Вам спасибо скажут
|
30.09.2012, 03:05 | #10 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 46
|
Написал сервис обфускации VBScript кода. На JavaScript.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пишем WinLocker на VB [статья] | dab00 | JavaScript, Ajax | 2 | 12.01.2012 19:30 |
статья - Организация кода | Pblog | Обсуждение статей | 0 | 11.11.2011 16:40 |
Статья: Низкоуровневое сетевое программирование. Пишем клиент/серверное приложение на сокетах Беркли | oleg kutkov | C/C++ Сетевое программирование | 42 | 22.01.2011 00:35 |
Новый двухкнопочный калькулятор для новой операционной системы. Пишем новые программы для BolgenOS. | Ecosasha | Софт | 16 | 06.06.2010 13:32 |
обновление в блоге - Низкоуровневое сетевое программирование. Пишем клиент/серверное приложение на сокета | Pblog | Обсуждение статей | 0 | 01.11.2009 22:20 |