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