|
| 1 | +# SleighCraft |
1 | 2 |
|
2 | | - |
3 | | - |
4 | | -# BinCraft - Binary Analysis Craft |
5 | | - |
6 | | -BinCraft is the future binary analysis tool based on Ghidra, or a Ghidra release version. |
7 | | - |
8 | | -Features: |
9 | | - |
10 | | -- Modernized UI (Dark Theme) |
11 | | -- More aggressive bug fixes and features |
12 | | -- Out of the box Ghidra, useful extensions included |
13 | | -- Useful tools based on Ghidra |
14 | | -- Ghidra original power included |
15 | | - |
16 | | -NOTE: Current under active development. |
17 | | - |
18 | | -UI preview: |
19 | | - |
20 | | - |
21 | | - |
22 | | -## Why? |
23 | | - |
24 | | -[Ghidra](https://github.com/NationalSecurityAgency/ghidra) is a nice project. |
25 | | -But it is huge already. |
26 | | -The maintainance is hard and although they are trying their best to advance it, the procedure is still quite slow. |
27 | | -Many PRs are given in early 2019 but remains no reply, and they might be useful to people. |
28 | | - |
29 | | -Thus, we decide to maintain a faster Ghidra. |
30 | | -Our thought is to maintain a Ghidra release, which will still trace upstream ghidra fixes but modify the code in our way to modernize some of the parts. |
31 | | - |
32 | | -For quite a long time, we will not maintain a "forked" Ghidra (means that we will still track upstream fixes and do not tend to modify the code structure). |
33 | | -Unless, the value of it is proved. |
34 | | - |
35 | | -## Organize |
36 | | - |
37 | | -Each functionality is called a "craft", currently we are planning crafts like: |
38 | | - |
39 | | -- SleighCraft: A Rust crate with Python/NodeJs (and maybe more!) bindings that export Ghidra Sleigh Engine to disassemble binary and lift them to Pcode IR |
40 | | -- GhidraCraft: A collection of bincraft-maintained Ghidra extensions that may make your life easier when using Ghidra |
41 | | - |
42 | | -### SleighCraft |
| 3 | +SleighCraft is one of the [BinCraft](https://github.com/StarCrossPortal/bincraft) project. |
43 | 4 |
|
44 | 5 | `SleighCraft` is a decoder (or, linear disassembler) based on ghidra's decompiler implementation. Sleighcraft can be used in Rust or Python, with both high-level and low-level API. |
45 | 6 |
|
@@ -94,14 +55,14 @@ Architectures comparision with capstone (according to [capstone arch list](https |
94 | 55 | |System Z|❌|✔️| |
95 | 56 | |xCore|❌|✔️| |
96 | 57 |
|
97 | | -#### How to install |
| 58 | +## How to install |
98 | 59 |
|
99 | 60 | Rust |
100 | 61 |
|
101 | 62 | Use cargo: |
102 | 63 |
|
103 | 64 | ```toml |
104 | | -sleighcraft = { git = "https://github.com/StarCrossPortal/bincraft" } |
| 65 | +sleighcraft = { git = "https://github.com/StarCrossPortal/sleighcraft" } |
105 | 66 | ``` |
106 | 67 |
|
107 | 68 | The repo is a bit large to submit on crates-io (because of predefined sla files), but save you the complex of compiling sleigh files yourself. |
@@ -134,7 +95,7 @@ $ npm install -g neon-cli |
134 | 95 | $ neon build |
135 | 96 | ``` |
136 | 97 |
|
137 | | -### How to Use |
| 98 | +## How to Use |
138 | 99 |
|
139 | 100 | One could refer to doc.rs to see how Rust binding can be used. |
140 | 101 |
|
|
0 commit comments