Нужно сделать для программы на c++ защиту от декомпиляции. На каком-то базовом уровне будет достаточно. Раньше никогда обфускацию не делал. Времени на реализацию обфускации немного, поэтому нужно что-то, что можно быстро и просто прикрутить к Visual Studio. Желательно обработка не всего кода, а только критической части (там где проверка легальности копии)
Если вы используете наитивный компилятор С++, то просто соберите проект без DEBUG информации (в релизе) или с упаковщиком . Если managed компилятор, то есть обзора обфускаторов на Хабре: habrahabr.ru/post/97062
Владимир Бершов: Ну обычно в релизе отладочная информация отсутствует - что в определенной степени затрудняет реверс-инженеринг. Тут всегда стоит помнить, что если кому-то действительно потребуется взломать вашу программу, то они это сделают - для надежной защиты нужен программно-аппаратный комплекс.
Обфускатор для нативного приложения существует только в виде LLVM, x86obf (лично у меня не запустился SDK) если есть другие - я их не видел (и то простые файлы можно обфусцировать/но вроде бы я видел реализации снятия и этого метода)
За изи-тайм по быстренькому, смотрите в сторону protectors (vmprotect/enigma/themida/safeengine)
Но и эти легко снять с помощью OllyDbg и скриптов к ним, которые предоставляются сообществом крэкеров.
vilgeforce: можно в двух словах, на каких принципах эти штуки работают? Если мне надо указать в C++ коде начало и конец критического кода, или указать критическую функцию?