
컴파일 타임 AES 문자열 난독화 for C++
표준 솔루션은 length + "#" + string에 의존합니다. 이는 역추적이 쉽습니다.
sbox는 constexpr AES-128 블록 암호를 사용하여 문자열을 높은 엔트로피의 노이즈로 변환합니다.
Neetcode의 "Encode and Decode Strings" 챌린지 중에, 저는 제 난독화 프로젝트인 **Obfusk8**의 AES 엔진을 포팅했습니다.
구현체는 첫 제출 시 7ms 만에 통과했습니다. 암호화 보안이 성능의 희생양이 되어서는 안 됩니다.
strings.exe(또는 Linux의 strings)가 결과를 반환하지 않습니다.구현 세부 사항은 EXAMPLES 폴더를 확인하세요:
다중 문자열 예제 (sbox_test.cpp):
배치 처리를 위해 _OBF(str) 매크로를 사용하여 vector<string>을 처리하는 방법을 보여줍니다. 전송 준비 난독화에 유용합니다.
단일 문자열 예제 (sbox_test1.cpp):
ObfStr(str) 매크로를 사용한 원자적 구체화를 보여줍니다. 단일 변수 할당에 가장 적합합니다:
string s = ObfStr("ama obfuscation addicted");
7ms 실행 시간. 과잉이 여전히 최적일 수 있음을 증명합니다.
저자: x86byte