Update README.md
Browse files
README.md
CHANGED
|
@@ -10,31 +10,23 @@ Phase 1 Structure Recovery (Skeleton): Transform binary/pseudo-code into obfusca
|
|
| 10 |
Phase 2 Identifier Naming (Skin): Generate human-readable source code with meaningful identifiers 🤗 [HF Link](https://huggingface.co/LLM4Binary/sk2decompile-ident-6.7)
|
| 11 |
|
| 12 |
Usage:
|
| 13 |
-
```
|
| 14 |
-
pip install vllm
|
| 15 |
-
apt install clang-format
|
| 16 |
-
#translate the data into reverse_sample.json format
|
| 17 |
-
python normalize_pseudo.py --input_json reverse_sample.json --output_json reverse_sample.json
|
| 18 |
-
python sk2decompile.py --dataset_path reverse_sample.json --model_path LLM4Binary/sk2decompile-struct-6.7b --recover_model_path LLM4Binary/sk2decompile-ident-6.7b
|
| 19 |
-
```
|
| 20 |
|
| 21 |
0. Install `vllm` and `transformers` via `pip`; install `clang-format` via `apt`.
|
| 22 |
1. Prepare a Linux-x64 executable file (ELF).
|
| 23 |
2. Use IDA to decompile it (you can also simply use this website: [https://dogbolt.org/](https://dogbolt.org/)).
|
| 24 |
3. Convert the data into the corresponding format
|
| 25 |
([https://huggingface.co/LLM4Binary/sk2decompile-struct-6.7b/blob/main/reverse_sample.json](https://huggingface.co/LLM4Binary/sk2decompile-struct-6.7b/blob/main/reverse_sample.json))
|
|
|
|
|
|
|
|
|
|
| 26 |
4. Run inference:
|
| 27 |
|
| 28 |
```bash
|
| 29 |
-
python normalize_pseudo.py --input_json reverse_sample.json --output_json reverse_sample.json
|
| 30 |
python sk2decompile.py --dataset_path reverse_sample.json \
|
| 31 |
--model_path LLM4Binary/sk2decompile-struct-6.7b \
|
| 32 |
--recover_model_path LLM4Binary/sk2decompile-ident-6.7b
|
| 33 |
```
|
| 34 |
|
| 35 |
-
**Model page:**
|
| 36 |
-
[https://huggingface.co/LLM4Binary/sk2decompile-struct-6.7b](https://huggingface.co/LLM4Binary/sk2decompile-struct-6.7b)
|
| 37 |
-
|
| 38 |
**Project overview:**
|
| 39 |
[https://github.com/albertan017/LLM4Decompile/tree/main/sk2decompile](https://github.com/albertan017/LLM4Decompile/tree/main/sk2decompile)
|
| 40 |
|
|
|
|
| 10 |
Phase 2 Identifier Naming (Skin): Generate human-readable source code with meaningful identifiers 🤗 [HF Link](https://huggingface.co/LLM4Binary/sk2decompile-ident-6.7)
|
| 11 |
|
| 12 |
Usage:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
0. Install `vllm` and `transformers` via `pip`; install `clang-format` via `apt`.
|
| 15 |
1. Prepare a Linux-x64 executable file (ELF).
|
| 16 |
2. Use IDA to decompile it (you can also simply use this website: [https://dogbolt.org/](https://dogbolt.org/)).
|
| 17 |
3. Convert the data into the corresponding format
|
| 18 |
([https://huggingface.co/LLM4Binary/sk2decompile-struct-6.7b/blob/main/reverse_sample.json](https://huggingface.co/LLM4Binary/sk2decompile-struct-6.7b/blob/main/reverse_sample.json))
|
| 19 |
+
```bash
|
| 20 |
+
python normalize_pseudo.py --input_json reverse_sample.json --output_json reverse_sample.json
|
| 21 |
+
```
|
| 22 |
4. Run inference:
|
| 23 |
|
| 24 |
```bash
|
|
|
|
| 25 |
python sk2decompile.py --dataset_path reverse_sample.json \
|
| 26 |
--model_path LLM4Binary/sk2decompile-struct-6.7b \
|
| 27 |
--recover_model_path LLM4Binary/sk2decompile-ident-6.7b
|
| 28 |
```
|
| 29 |
|
|
|
|
|
|
|
|
|
|
| 30 |
**Project overview:**
|
| 31 |
[https://github.com/albertan017/LLM4Decompile/tree/main/sk2decompile](https://github.com/albertan017/LLM4Decompile/tree/main/sk2decompile)
|
| 32 |
|