특정 함수 지정하기
최적의 성능을 위해 vmTargetFunctionsMode를 사용해 가장 민감한 코드만 VM 난독화하세요.
시청
Obfuscator.io: Targeting Functions in VM Obfuscation (IIFE and Comment Mode)
표시한 함수만 VM 난독화하려면 comment 모드를 켜세요.
comment 모드 (권장)
vmTargetFunctionsMode: 'comment'를 설정하면 특수 주석이 붙은 함수만 VM 난독화합니다. 중첩 수준과 관계없이 동작합니다.
라이선스 검사, 인증 로직, 독자적인 알고리즘을 보호하면서 나머지 코드의 성능은 유지하기에 알맞습니다.
/* javascript-obfuscator:vm */ 주석은 난독화 도구가 받는 코드에 그대로 남아 있어야 합니다. 컴파일러, 번들러, 압축 도구가 먼저 실행된다면 이 주석을 유지하도록 설정하세요. 주석이 제거되면 그 함수는 가상화되지 않으며, 표시가 하나도 남아 있지 않으면 "no functions are marked with the /* javascript-obfuscator:vm */ directive" 오류와 함께 난독화가 실패합니다.
root 모드 (기본값)
루트 수준 함수만 고려됩니다(Async Executor를 켜면 그 대신 깊이와 상관없이 가장 바깥쪽 async 함수가 대상이 되며, 아래의 이름 목록도 그 함수들에 적용됩니다). vmTargetFunctions로 허용 목록을 지정하거나 vmExcludeFunctions로 함수 이름을 지정해 제외하세요.
이름은 함수 선언과 이름 있는 함수 표현식에만 일치합니다. 변수에 할당된 함수(const checkAuth = () => {})에는 일치시킬 이름이 없으므로, 허용 목록은 이를 건너뛰고 거부 목록은 이를 제외하지 않습니다. 이런 함수에는 comment 모드를 사용하세요.
