The present invention relates to a method and system of making computer
software resistant to tampering and reverse-engineering. "Tampering"
refers to making unauthorized changes to software, such as bypassing
password checks, which are of benefit to the tamperer or of detriment to
the provider or vendor of the software. Thus, tampering does not denote
arbitrary destructive changes, such as causing the software to fail
completely. Broadly speaking, the method of the invention is to increase
the tamper-resistance and obscurity of software so that the observable
operation of the transformed software is dissociated from the intent of
the original code, and so that the functionality of the software is
extremely fragile when modified: any modification will, with high
probability, produce persistently nonsensical behaviour. These effects are
achieved by converting the control-flow of the software into data-driven
form, and increasing the complexity of the control-flow by orders of
magnitude.
Die anwesende Erfindung bezieht auf einer Methode und einem System des Bildens der Computer-Software beständig gegen das Abgeben und Rück-Technik. "abgebend" bezieht sich das auf Vornehmen der nicht autorisierten Änderungen an der Software, wie Überbrücken der Kennwortüberprüfungen, die vom Nutzen zum tamperer oder vom Schaden zum Versorger oder zum Verkäufer der Software sind. So bezeichnet das Abgeben nicht willkürliche zerstörende Änderungen, wie Veranlassen der Software, vollständig auszufallen. Breit sprechend, soll die Methode der Erfindung den Abgebenwiderstand und den Obscurity von Software erhöhen, damit der wahrnehmbare Betrieb der umgewandelten Software von der Absicht des ursprünglichen Codes getrennt wird und damit die Funktionalität der Software extrem zerbrechlich ist, wenn Sie geändert werden: jede mögliche Änderung, mit hoher Wahrscheinlichkeit, produziert hartnäckig sinnloses Verhalten. Diese Effekte werden, indem man umwandelt, Steuerung-fließen von der Software in data-driven Form erzielt, und die Kompliziertheit von erhöhend, Steuerung-fließen Sie durch Aufträge der Größe.