panopticon
panopticon copied to clipboard
Decompiler
- [ ] VSA to recover stack variables: http://pages.cs.wisc.edu/~bgogul/Research/Papers/cc04.pdf
- [ ] Structual Analysis to get C control structures: https://net.cs.uni-bonn.de/fileadmin/ag/martini/Staff/yakdan/dream_ndss2015.pdf
- [ ] Type inference https://users.ece.cmu.edu/~dbrumley/pdf/Lee,%20Avgerinos,%20Brumley_2011_TIE%20Principled%20Reverse%20Engineering%20of%20Types%20in%20Binary%20Programs.pdf and https://arxiv.org/pdf/1603.05495v2.pdf
I think it would be great to start with recovering stack variables, but it might require really restructuring some of the code to do it "right" -- It would be hairy to manage a system that recovers stack information whilst only keeping an adjacency matrix in a call graph datastructure -- @flanfly do you have any thoughts on introducing a performant method of keeping track of cconvention between call sites?
The plan is to implement #125 and then VSA to recover the stack variables. This (supposedly) works independent of the calling convention.