CPI. A tool that patches compiled programs to catch security problems before they happen.

github.com/topjohnwu/CPI

Vaya's read on this project

Problem, audience, market, and the verdict — sign in to see it.

Updates

December 2018
  • Add control flow tests
  • Add statistics and SQLite3 scripts
  • Update building method
  • Properly support unknown src pointers
  • Better organization code
  • Optimize original address pointers
  • Support unknown pointers
  • Simplify functions
  • Support non-zero first GEP index
  • Support sensitive struct pass by pointer
  • Use commit and restore to support pass by pointer
  • Skip struct on stack that passes reference to functions
  • Rewrite runtime __sm_alloca
  • Optimizations: no more unnecessary loads
  • Fix the case when structs have multiple function pointer members
  • Add test case for multiple function pointers in struct
  • Minor adjustments
  • Test stack maintenance
  • Update runtime alloca
  • Rename function names and cleanups