입력

디코딩된 출력

JSFuck 디코더란?

JavaScript 파일을 열었을 때 `+!+[]+(![]+[])[+[]]`만 화면 가득 채우고 있었던 적 있으신가요? 그게 JSFuck입니다 — `[`, `]`, `(`, `)`, `!`, `+` 단 여섯 글자로 모든 JavaScript를 인코딩하는 기법이에요. JSFuck 디코더는 그걸 다시 읽을 수 있는 코드로 변환합니다. MDN JavaScript 문서는 JSFuck이 활용하는 타입 강제 변환, 배열 인덱싱, 불리언 변환 같은 언어 기능을 설명합니다. ECMAScript 사양은 왜 `+!+[]`가 `1`이 되는지 정의합니다. 더 깊은 분석을 위해 AST ExplorerChrome DevTools를 활용해 보세요. Babel로 디코딩 결과를 추가 정규화할 수도 있습니다. 모두 브라우저에서만 실행되므로 코드가 서버로 전송되지 않습니다.

이 도구는 브라우저 내에서 완전히 실행됩니다. 서버로 아무것도 전송되지 않습니다. 코드를 난독화하려면 JavaScript 난독화기를, 서식 지정만 하려면 JavaScript 포매터를, 유효성 검사에는 JavaScript 유효성 검사기를 사용하세요.

JSFuck 디코드 방법

1

붙여넣기 또는 업로드

JSFuck 또는 혼합된 난독화 JavaScript를 에디터에 붙여넣으세요. 도구가 더 쉬운 검사를 위해 디코딩 및 서식 지정을 적용합니다.

2

디코딩된 출력 보기

출력에는 최선의 디코딩 및 정규화가 표시됩니다. 매우 중첩된 페이로드는 여전히 수동 분석이 필요할 수 있습니다.

3

복사 또는 다운로드

결과를 얻으려면 복사 또는 다운로드를 사용하세요. 코드를 실행하려면 JavaScript 콘솔.

JSFuck 디코더 예제

JSFuck 형식의 기호 및 이스케이프 디코딩 예제입니다.

예: 기호가 많은 난독화 표현식

JSFuck 입력:

입력

디코딩된 출력:

출력

JSFuck 디코더가 유용한 경우

악성 코드 분류, CTF 챌린지 및 JSFuck 표기법을 사용하는 스크립트 리버스 엔지니어링에 유용합니다. 먼저 디코딩하고 더 안전한 워크플로에서 동작을 검사하세요.

자주 묻는 질문

내 데이터는 안전한가요?

네. 디코딩은 브라우저 내에서 완전히 실행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.

모든 JSFuck 페이로드를 디코딩할 수 있나요?

기호가 많은 많은 패턴을 처리하지만 깊이 중첩된 페이로드는 수동 분해가 필요할 수 있습니다.

난독화를 완전히 되돌릴 수 있나요?

난독화 종류에 따라 다릅니다. 단순한 패턴은 되돌릴 수 있습니다. 강한 난독화는 일부 코드를 읽기 어렵게 남길 수 있습니다.

JSFuck 디코더 vs 난독화 해제기?

JSFuck 디코더는 기호 기반 인코딩을 대상으로 합니다. 일반 난독화 해제기는 혼합 또는 비-JSFuck 난독화에 더 적합합니다.

난독화 해제는 합법인가요?

본인 코드 디버깅, 보안 연구 또는 허가를 받아 사용하세요. 서드파티 코드의 라이선스와 이용 약관을 확인하세요.

관련 도구

ECMAScript. MDN JavaScript. Terser. Chrome DevTools. Babel.