
Kompilierzeit-AES-String-Verschleierung für C++
Standardlösungen verlassen sich auf length + "#" + string. Das lässt sich trivial umkehren.
sbox nutzt eine constexpr-AES-128-Blockverschlüsselung, um Zeichenfolgen in Rauschen mit hoher Entropie zu verwandeln.
Während der Neetcode-Herausforderung „Encode and Decode Strings“ habe ich die AES-Engine aus meinem Obfuskationsprojekt Obfusk8 portiert.
Die Implementierung bestand bei der ersten Einreichung in 7ms. Kryptografische Sicherheit muss nicht gegen Leistung getauscht werden.
strings.exe (oder strings unter Linux) null Ergebnisse.Siehe den Ordner EXAMPLES für Implementierungsdetails:
Multi-String-Beispiel (sbox_test.cpp):
Demonstriert, wie eine vector<string> mithilfe des Makros _OBF(str) für die Stapelverarbeitung behandelt wird. Nützlich für übertragungsbereite Obfuskation.
Single-String-Beispiel (sbox_test1.cpp):
Demonstriert die atomare Materialisierung mithilfe des Makros ObfStr(str). Am besten für einzelne Variablenzuweisungen geeignet:
string s = ObfStr("ama obfuscation addicted");
7ms Laufzeit. Beweis, dass Overkill dennoch optimal sein kann.
Autor: x86byte