decomp:反编译管道的组件

时间:2024-05-23 10:42:23
【文件属性】:

文件名称:decomp:反编译管道的组件

文件大小:91KB

文件格式:ZIP

更新时间:2024-05-23 10:42:23

go golang llvm decompiler reverse-engineering

decomp项目 该项目的目的是实现由独立组件组成的反编译管道,这些独立组件通过定义明确的接口进行交互,如项目的中所述。 安装 go get github.com/decomp/decomp/... 用法 请参阅示例用法,以及有关更多详细信息的。 反编译管道 从高级的角度来看,反编译管道的组件在概念上分为三个模块。 首先,将源语言(例如x86程序集)转换为 ; 独立于平台的底层中间表示。 其次,通过识别高级控制流原语(例如,预测试循环,2路条件)来构建LLVM IR。 最后,将结构化的LLVM IR转换为高级目标编程语言(例如 )。 以下海报总结了反编译管道的当前功能,使用独立组件的组合将LLVM IR转换为Go。 前端 将机器代码(例如x86程序集)转换为LLVM IR。 第三方前端组件。 中端 在LLVM IR上执行控制流分析,以识别高级控制流原语(例如,预测试循环)。 l


【文件预览】:
decomp-master
----UNLICENSE(1KB)
----graph()
--------cfg()
----.gitignore(43B)
----README.md(6KB)
----examples()
--------demo()
----go.mod(530B)
----front-end.md(2KB)
----go.sum(14KB)
----.travis.yml(663B)
----cfa()
--------if.go(3KB)
--------cfa.go(3KB)
--------if_else.go(4KB)
--------if_break.go.todo(3KB)
--------seq.go(2KB)
--------pre_loop.go(3KB)
--------primitive()
--------post_loop.go(3KB)
--------if_return.go(4KB)
----cmd()
--------restructure()
--------go-post()
--------ll2go()
--------ll2dot()

网友评论