WebAssembly 모듈 검사기
로컬 .wasm 파일을 열거나 바이트를 16진수로 붙여 넣으세요. 버전 1 헤더, 섹션 경계, 기본 타입·가져오기·내보내기 및 메모리 한도를 제한적으로 해석합니다. 바이트 오프셋을 제시하며 잘못된 길이·LEB128·일부 인덱스 오류를 찾습니다. 모듈을 컴파일하거나 인스턴스화하거나 실행하지 않습니다. 구조 검사 통과는 WebAssembly 전체 검증 통과를 뜻하지 않습니다.
주요 기능
- 섹션 페이로드의 정확한 바이트 오프셋 표시
- 함수 시그니처·가져오기·내보내기·메모리 한도 확인
- 잘못된 u32 LEB128·잘린 페이로드·섹션 순서·중복 섹션 감지
- 모듈 실행 없이 예제 또는 업로드 파일 조사
- 제한된 구조 보고서를 JSON으로 다운로드
사용 방법
- 로컬 .wasm 파일을 열거나 내장 예제 바이트를 불러옵니다.
- 재현 가능한 문제 확인을 위해 16진수 바이트를 편집하고 '16진수 검사'를 누릅니다.
- 섹션 바이트 지도, ABI, 타입, 메모리 한도 및 경고를 읽습니다.
- JSON을 내려받아 검토하고 명령 수준의 유효성은 완전한 Wasm 검증기로 확인합니다.
활용 예시
- 통합 전에 모듈이 요청하는 호스트 함수를 확인
- 예상보다 큰 custom 또는 code 섹션의 바이트 위치 찾기
- 내보낸 함수 시그니처와 메모리 한도 비교
- 생성된 바이너리의 잘린 섹션이나 잘못된 LEB128 위치 확인
자주 묻는 질문
파일을 조사하면 WebAssembly 코드가 실행되나요?
아니요. 브라우저에서 바이트만 읽습니다. WebAssembly.compile·validate·instantiate를 호출하거나 함수를 실행하거나 파일을 업로드하지 않습니다.
결과가 나오면 모듈이 완전히 유효한가요?
아니요. 명령, 전역 변수, 요소·데이터 본문 및 고급 제안은 완전히 해석하지 않습니다. 의미 검증에는 적합한 전체 검증기를 사용하세요.
어떤 바이너리 형식을 지원하나요?
버전 1 매직 헤더와 제한된 핵심 범위인 타입·가져오기·함수·테이블·메모리·내보내기·시작·코드 본문 경계를 지원합니다. 공유 메모리·memory64 한도와 고급 타입 인코딩은 발견된 곳에서 거부합니다.
큰 모듈도 검사할 수 있나요?
브라우저 작업량을 제한하기 위해 파일 2 MiB, 섹션 80개, 해석하는 벡터당 항목 2,000개, 이름당 512바이트로 제한합니다.
개인정보 안내
선택한 파일은 브라우저 메모리에만 머뭅니다. 모듈 실행·업로드·네트워크 조회·서버 해석이 없으며 JSON은 다운로드 버튼을 누를 때만 만듭니다.
댓글과 질문