создание MIDletPascal obfuscator
Обусификаторы - программы для запутывания кода путем изменения названий переменных и подпрогамм, применяются в основном в java, т.к. байт-код можно перевести в исходный код. Другое назначение обусификаторов - уменьшение размеров программы, т.к. имена локальных переменных в константном пуле класса не имеют значение для выполнения программы.
Особенность настоящих обусификаторов - отслеживание переменных и методов из других классов и их неприкосновенность.
Расскажу как собрать простой обусификатор который разбирает только файл исходного кода, и измененяет все имена кроме указанных в списке неприкосновенных.
Алгоритм таков: сканируя текстовый файл с исходным кодом, получаем все слова состоящие из букв, сравниваем со списком статических имен (зарезервированные слова языка программирования/стандартные подпрограммы/добавленные имена) и если полученное слово отсутствует, то ищем его в массиве имен, (если нет, то добавить в массив) и возвращаем числовую позицию в массиве.
в выходной файл выводим исходный текст с замененными словами..
___
программа готова, вот список неизменяемых слов, предлагайте свои варианты..
|