met de vooruitgang in de digitale technologie neemt ook de dreiging van onvoorstelbare mate van dupliceren en illegaal reproduceren van software toe. Daarom neemt het aantal piraterij proportioneel toe. Dit scenario heeft duidelijk de bedreiging voor de softwarefabrikanten geplaatst en leidt tot de ontwikkeling van tal van softwarebeschermingstechnieken. De talrijke software bescherming technieken zijn ontwikkeld en een van deze software bescherming technieken is code verduistering. De code obfuscation is een mechanisme voor het verbergen van het originele algoritme, data structuren of de logica van de code, of om de code (die wordt beschouwd als intellectueel eigendom van de software schrijver) te harden of te beschermen tegen het ongeautoriseerde reverse engineering proces. In het algemeen, code versluiering omvat het verbergen van een programma implementatie details van een tegenstander, d.w.z. het omzetten van het programma in een semantisch equivalent (hetzelfde computationele effect) programma, dat is veel moeilijker te begrijpen voor een aanvaller. Geen van de huidige code verduistering technieken voldoen aan alle verduistering effectiviteit criteria om weerstand te bieden aan de reverse engineering aanvallen. Daarom doen zowel de onderzoekers als de software-industrie hun best om nieuwere en betere verduisteringstechnieken toe te passen over hun intellectuele eigendom in een regelmatig proces. Maar helaas, software code is niet veilig, dat wil zeggen nog steeds kan worden gekraakt. Dit document presenteert enkele van de verduisteringsmethoden, die kunnen helpen om de gevoelige code fragmenten van elke software te beschermen, zonder wijziging van inherente functionaliteiten van de software. De voorgestelde verduistering technieken worden geà mplementeerd in assemblage niveau code, met het verzorgen van de theorie van het optimaliseren van transformaties. De montagecode vertegenwoordigt de gegevensafhankelijkheden en het comfort om de gegevens te analyseren na het demonteren van het uitvoerbare bestand in vergelijking met de gedecompileerde code.