JSFuck 디코더
JSFuck 형식의 JavaScript 표현식을 읽기 쉬운 코드로 디코드 — 브라우저에서 완결, 업로드 없음.
입력
디코딩된 출력
JSFuck 디코더란?
JavaScript 파일을 열었을 때 `+!+[]+(![]+[])[+[]]`만 화면 가득 채우고 있었던 적 있으신가요? 그게 JSFuck입니다 — `[`, `]`, `(`, `)`, `!`, `+` 단 여섯 글자로 모든 JavaScript를 인코딩하는 기법이에요. JSFuck 디코더는 그걸 다시 읽을 수 있는 코드로 변환합니다. MDN JavaScript 문서는 JSFuck이 활용하는 타입 강제 변환, 배열 인덱싱, 불리언 변환 같은 언어 기능을 설명합니다. ECMAScript 사양은 왜 `+!+[]`가 `1`이 되는지 정의합니다. 더 깊은 분석을 위해 AST Explorer나 Chrome DevTools를 활용해 보세요. Babel로 디코딩 결과를 추가 정규화할 수도 있습니다. 모두 브라우저에서만 실행되므로 코드가 서버로 전송되지 않습니다.
이 도구는 브라우저 내에서 완전히 실행됩니다. 서버로 아무것도 전송되지 않습니다. 코드를 난독화하려면 JavaScript 난독화기를, 서식 지정만 하려면 JavaScript 포매터를, 유효성 검사에는 JavaScript 유효성 검사기를 사용하세요.
JSFuck 디코드 방법
붙여넣기 또는 업로드
JSFuck 또는 혼합된 난독화 JavaScript를 에디터에 붙여넣으세요. 도구가 더 쉬운 검사를 위해 디코딩 및 서식 지정을 적용합니다.
디코딩된 출력 보기
출력에는 최선의 디코딩 및 정규화가 표시됩니다. 매우 중첩된 페이로드는 여전히 수동 분석이 필요할 수 있습니다.
복사 또는 다운로드
결과를 얻으려면 복사 또는 다운로드를 사용하세요. 코드를 실행하려면 JavaScript 콘솔.
JSFuck 디코더 예제
JSFuck 형식의 기호 및 이스케이프 디코딩 예제입니다.
예: 기호가 많은 난독화 표현식
JSFuck 입력:
디코딩된 출력:
JSFuck 디코더가 유용한 경우
악성 코드 분류, CTF 챌린지 및 JSFuck 표기법을 사용하는 스크립트 리버스 엔지니어링에 유용합니다. 먼저 디코딩하고 더 안전한 워크플로에서 동작을 검사하세요.
자주 묻는 질문
내 데이터는 안전한가요?
네. 디코딩은 브라우저 내에서 완전히 실행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.
모든 JSFuck 페이로드를 디코딩할 수 있나요?
기호가 많은 많은 패턴을 처리하지만 깊이 중첩된 페이로드는 수동 분해가 필요할 수 있습니다.
난독화를 완전히 되돌릴 수 있나요?
난독화 종류에 따라 다릅니다. 단순한 패턴은 되돌릴 수 있습니다. 강한 난독화는 일부 코드를 읽기 어렵게 남길 수 있습니다.
JSFuck 디코더 vs 난독화 해제기?
JSFuck 디코더는 기호 기반 인코딩을 대상으로 합니다. 일반 난독화 해제기는 혼합 또는 비-JSFuck 난독화에 더 적합합니다.
난독화 해제는 합법인가요?
본인 코드 디버깅, 보안 연구 또는 허가를 받아 사용하세요. 서드파티 코드의 라이선스와 이용 약관을 확인하세요.