LCME Суббота, 19.08.2017, 19:55
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Для истинных фанатов » OCaml » Obfuscator (Запутыватель)
Obfuscator
freidomДата: Понедельник, 24.05.2010, 18:37 | Сообщение # 1
Главный тут
Группа: Администраторы
Сообщений: 273
Репутация: 20
Статус: Offline
Решил немного поразвлечься и написать программку для запутывания исходного кода на OCaml. Про теорию этого замечательного процесса можно почитать в Википедии (русская статья - Обфускация, английская - Obfuscation). Для тестирования взял код сортировки кучей с ru.lcme.wikia.com. На данный момент имею вот это:

let lift a n = let rec lift pos = if pos = 0 then () else let dad = if pos mod 2
= 0 then pred (pos / 2) else (pos / 2) in if a.(pos) > a.(dad) then ( swap a pos
dad; lift dad ) in lift n;; let sink a n = let rec sink pos = if pos >= n then ()
else let c1 = succ (pos * 2) in let c2 = succ c1 in if c1 > n then () else if c2
> n then (if a.(c1) > a.(pos) then ( swap a c1 pos; )) else let (c1, c2) = (if a.(c1)
>= a.(c2) then (c1, c2) else (c2, c1)) in if a.(c1) > a.(pos) then ( swap a c1 pos;
sink c1 ) else if a.(c2) > a.(pos) then ( swap a c2 pos; sink c2 ) in sink 0 let
heap a = let last = pred (Array.length a) in for i = 0 to last do lift a i; done;
for i = last downto 1 do swap a 0 i; sink a (pred i); done

Великая Цель - научиться вставлять копирайт куда угодно, причём так, чтобы их было очень сложно убрать.

Жду комментариев smile

 
Jack_WarGunOffДата: Понедельник, 24.05.2010, 21:46 | Сообщение # 2
Сержант
Группа: Друзья
Сообщений: 34
Репутация: 6
Статус: Offline
Меня глючит, или ты всего лишь убрал пробелы и переносы строки? Браво! smile

Aquila non captat muscas - Орлы не ловят мух
 
freidomДата: Пятница, 28.05.2010, 13:36 | Сообщение # 3
Главный тут
Группа: Администраторы
Сообщений: 273
Репутация: 20
Статус: Offline
Нет, я ещё удалил комментарии smile
 
Форум » Для истинных фанатов » OCaml » Obfuscator (Запутыватель)
Страница 1 из 11
Поиск:

Copyright Freidom © 2017 Хостинг от uCoz