Deobfuskieren mit ChatGPT

Deobfuskieren mit ChatGPT

16 Dec 2022 - Matthias Voigt

Um Code zu schützen, ist Obfuskierung eine weit verbreitete Methode. Gerade im Webbereich wird sie oft eingesetzt, um den Quellcode, den man zwangsläufig ausliefert, schwerer nachvollziehbar zu machen. Nun ergeben sich mit ChatGPT allerdings ein paar neue Gefahren, wenn es jemand darauf anlegt, den obfuskierten Code zu entschlüsseln.

Beispiel zur Demonstration

Schauen wir uns einfach mal ein Beispiel an, wie ChatGPT beim Deobfuskieren helfen kann.

Obfuskierter JavaScript-Code

Hier ist ein stark vereinfachtes Beispiel eines obfuskierten JavaScript-Codes:

var _0x1234 = ['Hello, World!', 'log'];
(function (_0x5678, _0x9abc) {
    var _0xdef0 = function (_0x5678) {
        while (--_0x5678) {
            _0x9abc['push'](_0x9abc['shift']());
        }
    };
    _0xdef0(++_0x9abc);
}(_0x1234, 0x1));
var _0x4567 = function (_0x5678, _0x9abc) {
    _0x5678 = _0x5678 - 0x0;
    var _0xdef0 = _0x1234[_0x5678];
    return _0xdef0;
};
console[_0x4567('0x1')](_0x4567('0x0'));

Deobfuskierter Code

Mit Hilfe von ChatGPT kann der obfuskierte Code schnell lesbarer gemacht werden:

var messages = ['Hello, World!', 'log'];
console.log(messages[0]);

Wie man sieht, wurde der ursprüngliche Code, der schwer lesbar gemacht wurde, in eine verständliche Form zurückverwandelt. Diese Fähigkeit, Code schnell zu deobfuskieren, zeigt sowohl die Stärke von ChatGPT als auch die potenziellen Risiken, die mit der Obfuskierung von Code verbunden sind.

Fazit

Während Obfuskierung eine nützliche Technik zum Schutz von Quellcode ist, sollten Entwickler sich der Grenzen dieser Methode bewusst sein. Tools wie ChatGPT können helfen, obfuskierten Code zu verstehen und zu entschlüsseln, was neue Herausforderungen für die Sicherheit und den Schutz geistigen Eigentums mit sich bringt. Es ist wichtig, zusätzliche Sicherheitsmaßnahmen zu berücksichtigen, um den Code bestmöglich zu schützen.