Pani w szkole zawsze powtarzała, że kod musi być ładny i prosty do zrozumienia, bo to ułatwia pracę nam i innym. Nie myślała jednak o tym, że „inni” nie ograniczają się tylko do ludzi z naszego zespołu, ale obejmują także wszystkich próbujących sprawdzić, w jaki sposób działa nasz algorytm wyboru najlepszego kapelusza na podstawie zawartości naszej szafy i ostatnich wpisów na blogach modowych, lub też w jaki sposób sprawdzamy, czy wprowadzony klucz licencyjny jest poprawny. W niniejszym artykule chcielibyśmy zaprezentować metody obfuskacji, które sprawią, że analiza naszego kodu nie sprowadzi się do prostego użycia deasemblera/dekompilatora, ale pochłonie znacznie więcej czasu, pieniędzy, krwi i potu atakującego.