GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - OSUSecLab/REBench

BranchesTags
Open more actions menu

Latest commit

 

History

4 Commits
4 Commits

Folders and files

NameName
Last commit message
Last commit date
asm_finetune_script
asm_finetune_script
 
 
conversion
conversion
 
 
finetune_script
finetune_script
 
 
name_eval
name_eval
 
 
real_world_script
real_world_script
 
 
templates
templates
 
 
type_eval
type_eval
 
 
utils
utils
 
 
README.md
README.md
 
 
requirements.txt
requirements.txt
 
 

Repository files navigation

REBench

Experiment Setup

Please follow the command to prepare dependency.

conda create -n rebench python=3.12
conda activate rebench
pip install -r requirements.txt

Data Generation

REBench can be generated via two decmopilers, ghidra and IDA Pro. We utilized Ghidra 11.4.2 and IDA 7.6. Ghidra decompiler requires preprocessing.

/path/to/ghidra/support/analyzeHeadless /proj-dir /proj-name -import ./binary -readOnly -postScript ./ghidra_preprocess_1.py
/path/to/ghidra/support/analyzeHeadless /proj-dir /proj-name -import ./strip_binary -readOnly -postScript ./ghidra_postprocess_1.py

The binary should contain symbols and the second script should execute with stripped binaries.

IDA does not need preprocessing.

/path/to/ida/idat -L"log" -A -S"./ida_process.py" binary

Model Execution

We provide finetuning and running scripts for CodeLlama.

python finetune_codellma.py
python codellama_script.py --arch arch --opt opt

Result Evaluation

To evaluate the name recovery, please follow the execution steps from the name_eval directory.

python parse.py codellama x64 O0
python evaluation.py --evaluation-input evaluation_input_codellama_x64_O0_func.txt
python evaluation.py --evaluation-input evaluation_input_codellama_x64_O0_var.txt

To evaluate the type inference, please follow the execution step from the type_eval directory.

python type_evaluation.py --model model_name --arch arch --opt opt

Datasets

There are binaries and decompiled code in the following link.

https://zenodo.org/records/19899116

About

No description, website, or topics provided.

Resources

Readme
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.