Skip to content

Latest commit

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

versync

An experimental project for transfering symbols across srtripped binary versions using machine learning and other binary similarity techniques.

Planned Single Function Workflow

# 1. Extract ACFG features# 2. Extract ACFG disassembly# 3. Preprocess ACFG data tuple for embeddingcfg_feature_data=extract_cfg_features("path/to/binary", "func_name")
# 4. Generate embeddingcfg_embedding=generate_embedding(cfg_feature_data)

Planned Full Binary Workflow

# symboled binarybin_1_embeddings= {
addr: extract_embedding(cfg_feature_data) foraddr, cfg_feature_dataincfg_func_features("path/to/binary1").items()
}
# stripped binarybin_2_embeddings= {
addr: extract_embedding(cfg_feature_data) foraddr, cfg_feature_dataincfg_func_features("path/to/binary2").items()
}
recover_symbols(bin_1_embeddings, bin_2_embeddings)
# output:# {addr: (symbol, confidence), addr2: (symbol2, confidence2), ...}

TODO

  • Fix the ACFG extraction for IDA Pro
  • Get the embeddings produced in the test_model function

About

An experimental project for transfering symbols across srtripped binary versions

Resources

Stars

3 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages