Is This the Same Code? A Comprehensive Study of Decompilation Techniques for WebAssembly Binaries

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wu, Wei-Cheng, Yan, Yutian, Egilsson, Hallgrimur David, Park, David, Chan, Steven, Hauser, Christophe, Wang, Weihang
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913571278946304
author Wu, Wei-Cheng
Yan, Yutian
Egilsson, Hallgrimur David
Park, David
Chan, Steven
Hauser, Christophe
Wang, Weihang
author_facet Wu, Wei-Cheng
Yan, Yutian
Egilsson, Hallgrimur David
Park, David
Chan, Steven
Hauser, Christophe
Wang, Weihang
contents WebAssembly is a low-level bytecode language designed for client-side execution in web browsers. The need for decompilation techniques that recover high-level source code from WASM binaries has grown as WASM continues to gain widespread adoption and its security concerns. However little research has been done to assess the quality of decompiled code from WASM. This paper aims to fill this gap by conducting a comprehensive comparative analysis between decompiled C code from WASM binaries and state-of-the-art native binary decompilers. We presented a novel framework for empirically evaluating C-based decompilers from various aspects including correctness/ readability/ and structural similarity. The proposed metrics are validated practicality in decompiler assessment and provided insightful observations regarding the characteristics and constraints of existing decompiled code. This in turn contributes to bolstering the security and reliability of software systems that rely on WASM and native binaries.
format Preprint
id arxiv_https___arxiv_org_abs_2411_02278
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Is This the Same Code? A Comprehensive Study of Decompilation Techniques for WebAssembly Binaries
Wu, Wei-Cheng
Yan, Yutian
Egilsson, Hallgrimur David
Park, David
Chan, Steven
Hauser, Christophe
Wang, Weihang
Software Engineering
WebAssembly is a low-level bytecode language designed for client-side execution in web browsers. The need for decompilation techniques that recover high-level source code from WASM binaries has grown as WASM continues to gain widespread adoption and its security concerns. However little research has been done to assess the quality of decompiled code from WASM. This paper aims to fill this gap by conducting a comprehensive comparative analysis between decompiled C code from WASM binaries and state-of-the-art native binary decompilers. We presented a novel framework for empirically evaluating C-based decompilers from various aspects including correctness/ readability/ and structural similarity. The proposed metrics are validated practicality in decompiler assessment and provided insightful observations regarding the characteristics and constraints of existing decompiled code. This in turn contributes to bolstering the security and reliability of software systems that rely on WASM and native binaries.
title Is This the Same Code? A Comprehensive Study of Decompilation Techniques for WebAssembly Binaries
topic Software Engineering
url https://arxiv.org/abs/2411.02278