【论文阅读】WaDec: Decompiling WebAssembly Using Large Language Model

embedded/2024/11/23 23:51:03/

论文阅读笔记:WaDec: Decompiling WebAssembly Using Large Language Model

在这里插入图片描述

1. 来源出处
  • 论文标题: WaDec: Decompiling WebAssembly Using Large Language Model
  • 作者: Xinyu She, Yanjie Zhao, Haoyu Wang
  • 会议: 39th IEEE/ACM International Conference on Automated Software Engineering (ASE 2024)
  • DOI: 10.1145/3691620.3695020
2. 研究背景与问题陈述

WebAssembly(Wasm)是一种跨平台二进制指令格式,旨在实现接近本地速度的高效执行。尽管其在多种领域(如区块链、物联网和云计算)得到了广泛应用,但由于其二进制本质,Wasm 在可读性和调试方面面临挑战。为了进行逆向工程,开发者和研究人员依赖于反编译工具。然而,传统反编译器在生成可读代码方面存在显著问题,这使得高效的反编译成为一种迫切需求。

2.1 先前方法的不足
  1. 传统静态工具的限制:

    • 可读性差:如 Ghidra、Wasm2c 和 Wasm-decompile 等工具生成的代码缺乏可读性和结构化组织,通常只能逐条指令翻译,保留了过多的低级指令风格。
    • 代码膨胀:传统工具的输出常包含冗余中间表示,导致代码量膨胀,难以维护。
    • 无法处理代码片段:这些工具通常只能处理完整程序,而无法应对代码片段。
  2. 基于机器学习的方法:

    • 响应不稳定:ML 模型输出通常是概率性的,复杂输入(如嵌套循环)会引起输出不稳定或无关内容。
    • 嵌套循环处理能力弱:AI 反编译器在处理复杂嵌套结构时表现不佳,影响代码逻辑的准确还原。
2.2 当前面临的挑战
  • Wasm 的特

http://www.ppmy.cn/embedded/139240.html

相关文章

myscl在 Ubuntu 中使用

适用于 Ubuntu 系统。此代码在处理命令映射时引入了以下优化: 缓存机制:为了提高查询性能,避免每次都访问 MySQL 数据库,我们将使用一个简单的内存缓存来存储最近查询的映射命令。 模糊匹配:使用正则表达式进行命令匹配,允许更灵活的命令输入。 错误处理和反馈:如果用户…

自存 sql常见语句和实际应用

关于连表 查询两个表 SELECT * FROM study_article JOIN study_article_review 查询的就是两个表相乘,结果为两个表的笛卡尔积 相这样 这种并不是我们想要的结果 通常会添加一些查询条件 SELECT * FROM study_articleJOIN study_article_review ON study_art…

HarmonyOS(鸿蒙操作系统)

HarmonyOS(鸿蒙操作系统)是由华为公司开发的一款面向万物互联时代的全场景分布式操作系统。以下是关于它的一些主要信息: 发展历程: 2019 年 8 月 9 日,华为正式发布了鸿蒙操作系统。2020 年 9 月 10 日,发布 HarmonyOS 2.0 版本。2022 年 7 月 27 日,发布 HarmonyOS 3.…

MySQL 的 INSERT(插入数据)详解

MySQL 的 INSERT(插入数据)详解 在 MySQL 中,INSERT 语句用于向数据库表中添加新的记录。INSERT 语句非常灵活,支持多种语法形式,可以根据具体需求选择合适的用法。以下是 INSERT 语句的详细语法和使用示例。 1. 插入…

【计算机网络】HTTP协议

一、网址 1.URL URL就是我们平时说的网址 2.urlencode/urldecode 像 / ? : 等这样的字符,已经被url当做特殊意义理解了。因此这些字符不能随意出现 如果某个参数中需要带有这些特殊字符,就必须先对特殊字符进行转义 -> urlencode 服务器收到url…

R语言贝叶斯分析:INLA 、MCMC混合模型、生存分析肿瘤临床试验、间歇泉喷发时间数据应用|附数据代码...

全文链接:https://tecdat.cn/?p38273 多模态数据在统计学中并不罕见,常出现在观测数据来自两个或多个潜在群体或总体的情况。混合模型常用于分析这类数据,它利用不同的组件来对数据中的不同群体或总体进行建模。本质上,混合模型是…

大语言模型提示词工程学习--写小说系列(文心一言豆包通义千问):目录

前言 我本身是从事软件开发行业,对计算机类的东西感兴趣,随着ChatGPT的爆发,国内大厂也纷纷推出自己的大语言模型,大语言模型已经逐渐进入到普通人的日常生活当中,为了更好的学习提示词技巧,通过写一篇有质…

解决前后端发版本时候,手动清除浏览器缓存

在.html页面中添加标签 后端配置nginx,让index.html不缓存 location /index.html { add_header Cache-Control “no-cache, no-store”; }在vite.config.ts中添加 rollupOpyions: { output: { // 输出编译后的文件名称:【文件名称.时间戳】、【文件名称.版本号.…