Mindket

REMEND

新上架第 1 版 · 更新于

概览

用一个小型神经反编译器从编译后的二进制代码中还原数学公式,并提供论文里的数据集和训练好的模型。适合逆向工程师和研究者。

REMEND 是一款工具包,属于研究类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。

速览

你需要
  • Python 和 pip
  • fairseq 库,用于训练和生成
  • 放数据集压缩包的磁盘空间,如果要重建合成数据,还需要放大型 FAIR 数据集的空间
用在
  • 装有 fairseq 库的 Python,可在 Windows、macOS 或 Linux 上使用
  • 一个能运行仓库脚本的 shell,这些脚本会把源码编译成 ELF 文件
  • 如果用模型卡的命令重新训练,需要一台用于训练的机器
先运行
pip install -U huggingface_hub
hf download udiboy1209/REMEND

平台

Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

REMEND 是一个神经反编译器,能把实现数学公式的编译代码还原成公式本身。这个仓库包含论文用到的合成数据集、由开源程序构建的数据集和训练好的模型。旧工具要么看不出代码的含义,要么需要缓慢的动态分析,REMEND 的目标是还原数据流和运算顺序。

适合谁

适合研究实现公式的二进制文件的人,以及构建或比较神经反编译器的研究者。记录里列出的语言是英文。

行业谁在用怎么用例子
安全研究逆向工程师还原编译函数里的公式把反汇编出的例程变回一个公式
嵌入式系统固件工程师在没有源码时读懂二进制里的数值例程查看一段编译后的计算做了什么
学术界机器学习研究者在公开的数据集上训练或比较神经反编译器用 fairseq-train 重新训练一个模型

需要把整个程序反编译成完整源码的人可以跳过它,因为 REMEND 针对的是数学公式。

用在哪里

  • 装有 fairseq 库的 Python,可在 Windows、macOS 或 Linux 上使用
  • 一个能运行仓库脚本的 shell,这些脚本会把源码编译成 ELF 文件
  • 如果用模型卡的命令重新训练,需要一台用于训练的机器
使用场景适合谁你会得到什么
试用训练好的模型研究者反汇编函数对应的生成公式
训练新模型机器学习工程师用 fairseq 在合成数据集上训练出的模型
对比相关工作论文作者评测 BTC、SLaDE 和 Nova 的脚本

如何设置

你需要先准备几样东西。

  • Python 和 pip
  • fairseq 库,用于训练和生成
  • 放数据集压缩包的磁盘空间,如果要重建合成数据,还需要放大型 FAIR 数据集的空间
  1. 用 pip 安装 Hugging Face hub 工具。
  2. 下载仓库,里面有 dataset.zip、tokenized.zip 和训练好的模型。
  3. 如果只想在合成数据上训练新模型,只需解压 tokenized.zip。
  4. 如果想用别的方式分词,或先修改数据,就解压 dataset.zip。
pip install -U huggingface_hub
hf download udiboy1209/REMEND

要重建合成数据集,先下载 Deep Learning for Symbolic Math 论文里的 FAIR prim_fwd 压缩包,然后运行这些步骤。

tar xvf prim_fwd.tar.gz
./compile.sh
./combine.sh
./tokenize.sh

如何使用

要在开源程序上测试,你按顺序运行三个脚本。数据集会出现在 dataset 文件夹里,结果出现在 generated 文件夹里。

make.sh
python3 collect_dataset.py
generate.sh

要在分词后的数据集上运行训练好的模型,使用 fairseq-generate。

fairseq-generate <tokenized-dataset> --task translation --arch transformer \
    --max-source-positions 1024 --max-target-positions 1024 \
    --path <checkpoint> --results-path <out-dir> --gen-subset <train/test/valid> --beam 1
工具作用
dataset.zip存放编译后的公式和汇编
tokenized.zip存放分词后的汇编,已用 fairseq-preprocess 处理好
make.sh把开源程序编译成 ELF 和汇编文件
collect_dataset.py反汇编 ELF 函数,供 REMEND 处理
generate.sh运行 REMEND,生成公式并检查是否正确
fairseq-generate运行训练好的模型并写出它的翻译结果

示例

你用 make.sh 编译开源程序,用 collect_dataset.py 反汇编,再运行 generate.sh。REMEND 为每个函数写出一个公式并检查是否正确,结果以文本文件的形式出现在 generated 文件夹下,每种架构一组。

新手与专家

反编译就是把机器码变回可读的形式。REMEND 专注于公式。第一步可以先下载仓库,看看 tokenized.zip 里面的内容,那是已经为模型准备好的汇编。

这个模型是一个小型 transformer 编码器解码器,最多 1200 万参数,并配有用于符号推理的算法处理。测试中,一个模型的得分为 89.8% 到 92.4%,覆盖三种 CPU 指令集、三个编译器优化级别和两种语言。在来自开源程序的代码上,它报告比其他神经反编译器的准确率高 8%,每个函数约 0.132 秒。

  1. 编译后的函数变成汇编
  2. 汇编被切分成词元
  3. 编码器解码器 transformer 写出公式
  4. 算法处理加入符号推理
  5. 公式被检查是否正确

要训练模型,模型卡给了一条 fairseq 命令,每个模型用不同的参数运行。

fairseq-train <tokenized-dataset> --task translation --arch transformer \
    --optimizer adam --weight-decay 0.001 --lr 0.0005 --lr-scheduler inverse_sqrt \
    --max-source-positions 1024 --max-target-positions 1024 \
    --encoder-attention-heads 8 --decoder-attention-heads 8 --encoder-embed-dim 384 --decoder-embed-dim 128 \
    --encoder-ffn-embed-dim 1536 --decoder-ffn-embed-dim 512 --decoder-output-dim 128 --dropout 0.05 \
    --max-tokens 20000 --max-update 100000 \
    --no-epoch-checkpoints --keep-best-checkpoints 3 \
    --save-dir <save-dir> --log-file <save-dir>/training.log

注意事项

  • License: MIT。
  • Cost to run: 没有提到 API 密钥或付费服务。你自己提供算力,重建合成数据需要下载一个大文件。
  • Data it reaches: 仓库里的数据集压缩包、脚本生成的 ELF 和汇编文件,以及写到你文件夹里的结果文件。
  • Not for: 整个程序的反编译,因为它针对的是数学公式。相关工作的评测脚本各自需要先做配置。
各种设置下报告的准确率范围
最低89.8%
最高92.4%

README 和文件

README

REMEND

用一个小型神经反编译器从编译后的二进制代码中还原数学公式,并提供论文里的数据集和训练好的模型。适合逆向工程师和研究者。

由 udiboy1209 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。

简介

它是什么:REMEND 是一个神经反编译器,能把实现数学公式的编译代码还原成公式本身。这个仓库包含论文用到的合成数据集、由开源程序构建的数据集和训练好的模型。旧工具要么看不出代码的含义,要么需要缓慢的动态分析,REMEND 的目标是还原数据流和运算顺序。

适合谁:适合研究实现公式的二进制文件的人,以及构建或比较神经反编译器的研究者。记录里列出的语言是英文。

行业 | 谁在用 | 怎么用 | 例子
安全研究 | 逆向工程师 | 还原编译函数里的公式 | 把反汇编出的例程变回一个公式
嵌入式系统 | 固件工程师 | 在没有源码时读懂二进制里的数值例程 | 查看一段编译后的计算做了什么
学术界 | 机器学习研究者 | 在公开的数据集上训练或比较神经反编译器 | 用 fairseq-train 重新训练一个模型

需要把整个程序反编译成完整源码的人可以跳过它,因为 REMEND 针对的是数学公式。

用在哪里:

  • 装有 fairseq 库的 Python,可在 Windows、macOS 或 Linux 上使用
  • 一个能运行仓库脚本的 shell,这些脚本会把源码编译成 ELF 文件
  • 如果用模型卡的命令重新训练,需要一台用于训练的机器
使用场景 | 适合谁 | 你会得到什么
试用训练好的模型 | 研究者 | 反汇编函数对应的生成公式
训练新模型 | 机器学习工程师 | 用 fairseq 在合成数据集上训练出的模型
对比相关工作 | 论文作者 | 评测 BTC、SLaDE 和 Nova 的脚本

如何设置:你需要先准备几样东西。

  • Python 和 pip
  • fairseq 库,用于训练和生成
  • 放数据集压缩包的磁盘空间,如果要重建合成数据,还需要放大型 FAIR 数据集的空间
  1. 用 pip 安装 Hugging Face hub 工具。
  2. 下载仓库,里面有 dataset.zip、tokenized.zip 和训练好的模型。
  3. 如果只想在合成数据上训练新模型,只需解压 tokenized.zip。
  4. 如果想用别的方式分词,或先修改数据,就解压 dataset.zip。
pip install -U huggingface_hub
hf download udiboy1209/REMEND

要重建合成数据集,先下载 Deep Learning for Symbolic Math 论文里的 FAIR prim_fwd 压缩包,然后运行这些步骤。

tar xvf prim_fwd.tar.gz
./compile.sh
./combine.sh
./tokenize.sh

如何使用:要在开源程序上测试,你按顺序运行三个脚本。数据集会出现在 dataset 文件夹里,结果出现在 generated 文件夹里。

make.sh
python3 collect_dataset.py
generate.sh

要在分词后的数据集上运行训练好的模型,使用 fairseq-generate。

fairseq-generate <tokenized-dataset> --task translation --arch transformer \
    --max-source-positions 1024 --max-target-positions 1024 \
    --path <checkpoint> --results-path <out-dir> --gen-subset <train/test/valid> --beam 1
工具 | 作用
dataset.zip | 存放编译后的公式和汇编
tokenized.zip | 存放分词后的汇编,已用 fairseq-preprocess 处理好
make.sh | 把开源程序编译成 ELF 和汇编文件
collect_dataset.py | 反汇编 ELF 函数,供 REMEND 处理
generate.sh | 运行 REMEND,生成公式并检查是否正确
fairseq-generate | 运行训练好的模型并写出它的翻译结果

示例:你用 make.sh 编译开源程序,用 collect_dataset.py 反汇编,再运行 generate.sh。REMEND 为每个函数写出一个公式并检查是否正确,结果以文本文件的形式出现在 generated 文件夹下,每种架构一组。

新手与专家:反编译就是把机器码变回可读的形式。REMEND 专注于公式。第一步可以先下载仓库,看看 tokenized.zip 里面的内容,那是已经为模型准备好的汇编。

这个模型是一个小型 transformer 编码器解码器,最多 1200 万参数,并配有用于符号推理的算法处理。测试中,一个模型的得分为 89.8% 到 92.4%,覆盖三种 CPU 指令集、三个编译器优化级别和两种语言。在来自开源程序的代码上,它报告比其他神经反编译器的准确率高 8%,每个函数约 0.132 秒。

编译后的函数变成汇编
汇编被切分成词元
编码器解码器 transformer 写出公式
算法处理加入符号推理
公式被检查是否正确

要训练模型,模型卡给了一条 fairseq 命令,每个模型用不同的参数运行。

fairseq-train <tokenized-dataset> --task translation --arch transformer \
    --optimizer adam --weight-decay 0.001 --lr 0.0005 --lr-scheduler inverse_sqrt \
    --max-source-positions 1024 --max-target-positions 1024 \
    --encoder-attention-heads 8 --decoder-attention-heads 8 --encoder-embed-dim 384 --decoder-embed-dim 128 \
    --encoder-ffn-embed-dim 1536 --decoder-ffn-embed-dim 512 --decoder-output-dim 128 --dropout 0.05 \
    --max-tokens 20000 --max-update 100000 \
    --no-epoch-checkpoints --keep-best-checkpoints 3 \
    --save-dir <save-dir> --log-file <save-dir>/training.log

注意事项:

  • License: MIT。
  • Cost to run: 没有提到 API 密钥或付费服务。你自己提供算力,重建合成数据需要下载一个大文件。
  • Data it reaches: 仓库里的数据集压缩包、脚本生成的 ELF 和汇编文件,以及写到你文件夹里的结果文件。
  • Not for: 整个程序的反编译,因为它针对的是数学公式。相关工作的评测脚本各自需要先做配置。
Title: 各种设置下报告的准确率范围
最低: 89.8 %
最高: 92.4 %

Hugging Face 上的数据(2026年11月13日)

  • 任务:translation
  • 框架:fairseq
  • 最近 30 天下载:0
  • 点赞:5
  • 许可证:mit
  • 语言:en
  • 标签:fairseq, code, decompiler, symbolic-math, neural-decompiler, translation

链接

  • 模型:https://huggingface.co/udiboy1209/REMEND
  • 文件:https://huggingface.co/udiboy1209/REMEND/tree/main

获取模型

用 Hugging Face 的命令行下载它的文件:

pip install -U huggingface_hub
hf download udiboy1209/REMEND

然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。

文件
README.md  7 KB

1 个文件,共 7 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-13

同类产品对比

同一分类里与本产品共有标签最多的已上架 Hugging Face 模型。

产品最近 30 天下载点赞参数量许可证最近更新
REMEND 本页05—mit
NLLB-200 3.3B共有 translation293,185493—cc-by-nc-4.0
Sage-A1.5 GGUF (Q4_K_M)共有 code636,8348435.5Bapache-2.0
Sage-A1.5共有 code22,22440436Bapache-2.0
Rostam-S1-4B共有 code2,75154.1Bapache-2.0
数据为 Mindket 在 2026-11-12 至 2026-11-13 期间读取的数值。

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

研究类的相似商品

查看研究类的全部商品

Merlin-Cancer-Super

AbdomenAtlas · 工具包

在 CT 扫描上检测并勾画 9 个器官的肿瘤,使用从放射学报告中学习的 R-Super 方法训练。这是面向医学影像团队的研究模型,采用非商业许可。

新上架

EarthJev

dBenf · 工具包

回答关于卫星图像块的类型化问题,使用 Sentinel-2 的全部 12 个波段,为每个选项返回概率,不生成文字。这是 Qwen3.5-0.8B 的微调版本,适合地球观测研究者。

新上架

getting-over-it-rl-jax

zimmerk4 · 工具包

用一个在 JAX 物理模拟器里学会的小型策略网络,从头到尾通关游戏 Getting Over It。适合强化学习研究者和好奇的动手爱好者。

新上架