WebAssembly 분석
WebAssembly Inspector
.wasm 모듈의 임포트·익스포트·메모리·섹션 크기를 나열하고 텍스트 형식으로 출력합니다.
`.wasm` 파일을 열어 안에 무엇이 있는지 보여 줍니다. 섹션과 크기, 가져오기와 내보내기 전부, 메모리와 테이블 선언, 그리고 빌드가 name 섹션을 남겼다면 함수 이름까지 나옵니다. 모듈을 파싱만 하고 인스턴스화하거나 실행하지는 않습니다.
.wasm 모듈 놓기
이 탭에서 파싱합니다. 모듈을 들여다볼 뿐 인스턴스화하거나 실행하지 않습니다.
WebAssembly.validate로 한 번 더 확인합니다. 함수 본문은 크기만 재고 역어셈블하지 않습니다. 이 화면이 보여 주는 것은 모듈이 무엇을 선언하고 무엇에 손대는지이지 텍스트 형식으로의 완전한 변환이 아닙니다.사용 방법
모듈을 놓습니다
`.wasm` 파일이면 됩니다. 이 탭에서 읽고, 브라우저의 `WebAssembly.validate`로 한 번 더 확인합니다. 형식이 올바른지에 대한 두 번째 의견을 함께 얻는 셈입니다.
섹션부터 봅니다
크기 표가 바이트가 어디로 갔는지 가장 빨리 보여 줍니다. data 섹션이 크면 자산이 박혀 있는 것이고, custom 섹션이 크면 대개 디버그 이름이나 DWARF입니다.
가져오기를 읽습니다
가져오기가 곧 이 모듈과 호스트 사이의 계약 전부입니다. 호출할 수 있는 함수와 공유하는 메모리가 전부 거기 있습니다. 직접 빌드하지 않은 모듈을 살펴보는 중이라면 이 목록이 중요합니다.
자주 묻는 질문
실제 코드를 볼 수 있나요?
아니요. 함수 본문은 크기만 재고 역어셈블하지 않습니다. 모듈이 무엇을 선언하고 무엇에 손대는지를 보고할 뿐 텍스트 형식으로 바꾸지는 않습니다. 완전한 역어셈블은 WABT의 `wasm2wat`이 하는 일입니다.
함수 이름이 왜 없나요?
빌드가 name 커스텀 섹션을 떼어 냈기 때문입니다. 릴리스 빌드는 보통 그렇게 합니다. 내보내기는 이름을 유지합니다. 모듈의 인터페이스이기 때문입니다. 그래서 내보낸 함수는 여전히 알아볼 수 있습니다.
가져오기가 있는 모듈은 위험한가요?
그 자체로는 아닙니다. WebAssembly는 호스트가 건네준 것에만 닿을 수 있고, 가져오기가 없는 모듈은 바깥 세계에 아예 손댈 수 없습니다. 가져오기에 적힌 것이 곧 그 모듈이 할 수 있는 일이고, 그래서 인스턴스화 전에 읽어 볼 가치가 있습니다.
파싱은 됐는데 엔진 검증이 실패라고 나옵니다.
보는 것이 다릅니다. 파싱은 구조를 읽고, `WebAssembly.validate`는 함수 본문의 타입까지 검사합니다. 섹션 구조는 멀쩡히 읽히는데도 거절될 수 있습니다. 파일이 잘렸거나, 후처리 단계가 건드리지 말아야 할 바이트를 다시 쓴 경우입니다.
이 도구로 이어지는 것
16진수 뷰어
Hex Viewer
파일을 오프셋·16진수·아스키로 덤프하고 매직 바이트로 형식을 판별하며 검색 위치를 표시합니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
공개키 쌍 생성
Key Pair Generator
RSA·ECDSA·Ed25519 키 쌍을 만들고 PEM·JWK·OpenSSH 형식으로 내보냅니다.
SSH 키 생성
SSH Key Generator
주석을 넣은 OpenSSH 키 쌍을 만들고 지문을 보여 줍니다. 개인키는 암호문구 없이 나오므로 필요하면 ssh-keygen -p로 직접 걸어야 합니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
도커 이미지 레이어 분석
Docker Image Explorer
내보낸 이미지 tar를 열어 레이어별 명령·크기와 추가·삭제된 파일을 보여 줍니다.
16진수 뷰어
Hex Viewer
파일을 오프셋·16진수·아스키로 덤프하고 매직 바이트로 형식을 판별하며 검색 위치를 표시합니다.
자바스크립트 정렬·압축
JavaScript Beautifier & Minifier
자바스크립트·타입스크립트의 주석과 공백만 지워 압축하고, 한 줄로 뭉친 번들을 다시 들여써서 읽을 수 있게 만듭니다. 이름을 바꾸거나 구문을 다시 쓰지는 않습니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
curl 코드 변환
curl to Code
curl 명령을 fetch·axios·파이썬 requests·Go·PHP·PowerShell 코드로 변환합니다.
텍스트 해시 생성
Text Hash
문자열의 MD5·SHA-1·SHA-256·SHA-384·SHA-512·CRC-32를 계산하고 대문자·Base64 출력도 지원합니다.