![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
SoRRRvaNETS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 19.5.2007 Где: Тамбов Репутация: нет Всего: нет |
Нужно написать программу для лексической обфускации исходного кода Delphi. (обфускация от англ. изменение - преобразование исходного кода в трудно- или нечитаемый вид с сохранением работоспособности программы).
Обфускация лексическая (замена имен процедур и функций польователя и переменных). заменятся они должны на случайные имена (начинающиеся с буквы или '_' и могут содержать цифры. длину имени больше 7-10 символов ставить в принципе не надо и так билеберда полная получается ). если не получается скинуть код, то хотя опишите что делать надо. Но код будет приветствоваться! и чем быстрее, тем больше вероятность, что меня не попруть из университета. |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 6 Всего: 78 |
Ну просто и работай с исходным кодом, как с текстовым файлом, и пользуйся парсингом.
-------------------- Ll 2 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
ууу это оч. сложная задача. прийдется делать разбор, определять пространства имен переменных. Где какая переменная используется.
Например.
Имеется 3 разные переменные index где какая из них используется? Код верный, но когда начнешь менять имена переменных, нужно будет различать где какой index, иначе программа перестанет работать. Тоже самое и с объектами, интерфейсами (в том числе и делигирование - переназначения процедур реализующих интерфейс при конфликте имен), структурами. Кроме того есть оператор with который меняет пространство имен. Задача очень и очень непростая. Как быть если совпадают имена объектов (переменных) и процедур (методов). Компилятор то их умеет различать. Короче понадобиться полный синтаксический разбор кода, с определение типов идентификаторов и областью действия каждого имени. Тянет на диплом ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
SoRRRvaNETS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 19.5.2007 Где: Тамбов Репутация: нет Всего: нет |
Это мне курсач дали. А если использовать не одну index, а index1..index3?
И почему ты плюсуешь к каждому index 5,7 и 9? |
|||
|
||||
SoRRRvaNETS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 19.5.2007 Где: Тамбов Репутация: нет Всего: нет |
Guedda,
то что с исходным кодом надо работать я и так знаю. я не придумал как с ним работать, как различить переменные, процедуры и т.д. и как их заменить |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |