rizinorg/jsdec
GitHub: rizinorg/jsdec
专为 Rizin 逆向框架设计的轻量级反编译插件,能将汇编代码转换为可读的伪 C 代码。
Stars: 64 | Forks: 10
[](https://opensource.org/licenses/BSD-3-Clause)

将 asm 转换为伪 C 代码。
# 软件要求
需要 [rizin](https://github.com/rizinorg/rizin)。
# 安装到主文件夹(或其他路径)
如果你想安装到 HOME 文件夹或其他非标准路径,只需
将 `prefix` 设置为不同的值
- 运行 ``meson setup build --prefix=~/.local``
- 运行 `ninja -C build install`
# 系统级安装
按照以下步骤安装 jsdec
- 克隆此仓库
- 运行 `meson setup build --prefix=/usr` 以创建构建文件夹
- 运行 `ninja -C build install` 以构建共享库并安装它
# 用法
* 使用 rizin 打开你的文件
* 分析你想要反汇编的函数 (`af`)
* 通过 `pdd` 运行该插件
# 参数
```
[0x00000000]> pdd?
Usage: pdd[?] # Core plugin for jsdec
| pdd # decompile current function
| pddt # lists the supported architectures
| pdda # decompile current function with side assembly
| pddA # decompile current function with annotation output
| pddb # decompile current function but show only scopes
| pddc # decompiled code is returned to rizin as 'file:line code' (via CL)
| pddf # decompile all functions
| pddi # generate issue data
| pddj # decompile current function as json
| pddo # decompile current function side by side with offsets
```
# 可求值变量
你可以在你的 `.rizinrc` 文件中使用这些变量。
```
jsdec.asm | if true, shows pseudo next to the assembly.
jsdec.blocks | if true, shows only scopes blocks.
jsdec.casts | if false, hides all casts in the pseudo code.
jsdec.debug | do not catch exceptions in jsdec.
jsdec.paddr | if true, all xrefs uses physical addresses compare.
jsdec.slow | if true load all the data before to avoid multirequests to rizin.
jsdec.xrefs | if true, shows all xrefs in the pseudo code.
e scr.html | outputs html data instead of text.
e scr.color | enables syntax colors.
```
# 报告问题
* 使用 rizin 打开你的文件
* 分析你想要反汇编的函数 (`af`)
* 通过 `pddi` 或 `pdd --issue` 将数据提供给插件
* 将上一条命令返回的 JSON 插入到 issue 中(你也可以上传输出内容)
# 支持的架构
```
6502 (experimental)
8051
ARM 16/32/64 bit
AVR
dalvik
m68k
MIPS
PowerPC 32/64 bit (VLE included)
RISC-V
Sparc
SuperH (experimental)
v850
WebAssembly (experimental)
x86/x64
```
# 开发 jsdec
[阅读 DEVELOPERS.md](https://github.com/rizinorg/jsdec/blob/dev/DEVELOPERS.md)
标签:Cloudflare Workers, Handmade Assembly, Meson构建, Rizin, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 代码还原, 伪代码, 反编译器, 恶意代码分析, 插件, 汇编分析, 自动回退, 自定义脚本, 逆向工程, 配置文件, 静态分析, 预握手