Ad

pharos: Automated Binary Analysis Framework

Pharos provides tools for static and dynamic analysis of binary programs. It facilitates automated reverse engineering by leveraging ROSE compiler infrastructure for disassembly and code analysis, supporting API, object, and call analysis.
Screenshot of cmu-sei/pharos homepage

Pharos facilitates automated static analysis of binary programs. It leverages the ROSE compiler infrastructure to perform tasks like disassembly, control flow analysis, and instruction analysis. The framework’s primary objective is to provide transparency into binary code behavior and provide tools for automated reverse engineering tasks. This project aims to reduce manual effort in analyzing binary programs and allows deeper understanding of program functionality.

Pharos offers a suite of tools for API, object, and call analysis, providing valuable insights into binary program behavior. It incorporates research-driven techniques like logic programming for object recovery, showcasing innovative approaches to binary analysis. The framework allows for modular analysis, with standalone tools for specific tasks, fostering flexibility and extensibility. It benefits from ongoing research & development, providing updates and new features.

  • API Analyzer: Identifies sequences of API calls with specified data and control flow relationships to detect common operation patterns.
  • OOAnalyzer: Analyzes and recovers object-oriented constructs from executables, identifying members and methods.
  • CallAnalyzer: Reports static parameters to API calls, offering insights into calling conventions and parameter analysis.
  • FN2Yara: Generates YARA signatures for matching functions in executables, aiding in binary similarity comparison.
  • FN2Hash: Generates hashes and descriptive properties of functions for binary similarity analysis and machine learning.
  • DumpMASM: Dumps disassembly listings from executables using the Pharos framework, though currently not actively maintained.
  • Extensible Architecture: The framework's modular design allows for the addition of custom analysis tools and plugins.

Pharos is an active research project undergoing continuous development. The project has a solid foundation, but some components are not actively maintained. Recent commits indicate ongoing work and feature additions. While documentation exists, certain areas require further elaboration, particularly regarding the portability of the source code. The project's community is primarily composed of researchers.

Pharos benefits researchers and security analysts needing automated binary analysis capabilities. It addresses the challenge of efficiently understanding complex binary programs, offering tools for reverse engineering, malware analysis, and vulnerability research. It provides a valuable alternative to manual disassembly and analysis techniques, significantly enhancing efficiency and depth of understanding.

Summarize:
Share:
Stars
1,711
Forks
210
Issues
53
Created
11 years ago
Commit
21 days ago
License
OTHER
Archived
No
Updated 16 days ago

Similar Repositories