Цитата Сообщение от psb
есть задача: написать простую программу так, чтоб при ковырянии в ней было ооочень сложно понять, что она делает.

например, ксорка. если её записать в обычном своем виде, то мы запросто увидим, что она и как делает (это ж просто цикл!). если вытворять хитрости с кодом, типа, скажем, чтоб прыгала с адреса на адрес (используя стек), то это тоже не эффективно: достаточно посидеть и можно понять, что делается.

это не обязательно ксорка, это может быть любой алгоритм... главное, чтоб было оочень трудно понять, как он работает. мне на ум приходит только создание виртуального процессора, со своей системой команд и его эмуляция. но и даже тогда, разобрав ядро, можно будет составить перечень команд и уже легко понять алгоритмы (пример - спековский калькулятор в пзу.. дизасмом ниче не увидишь, но зная команды можно разобраться (хоть и отн. долго)).

может, кто-нить знает, как можно еще затруднить чтение алгоритма? может, 2 виртуальных процессора?

Когда-то я такое очень любил ... И сделал две свои защиты ... первая была в программе http://zxaaa.narod.ru/DEMO/ZXCLUB.ZIP она простая , а вот вторая была основана именно на безумно запутанном коде http://www.entire.nm.ru/speccy/PITON.SCL ... В итоге в игре 9 килобайт занимает сама игра, а 10 килобайт занимает защита. Эта игра была спором с моим другом Fine Soft'ом, я написал на него "фак" а он его должен был убрать ... Так это и не свершилось ...