Has there ever been any attempts at utilizing artificial neural networks in decompilation? It would be nice if it was possible to provide the trimmed semantics of source along with the code in to a neural network so it could learn the connection between the two. I assume this would likely lose it's effectiveness when there is optimizations and maybe work better for high level languages too but I'm interested in hearing any attempts anyone has had at this.
A:
I'm assuming you mean decompilation to human readable C/C++ as compared to Assembly then,
Given the input size (optimized/compiled code) and the output size of succinct code, and the multi-line stateful nature of decomplilation process, I would have though this is a larger problem that a ANN could ever handle.
Simeon Pilgrim
2009-06-23 04:37:26
Yes human readble but not necessarily C/C++, if ever such a project was started C/C++ may be the last choice. I did say I would provide trimmed semantics (not original formatted source) and unoptimized code to the ANN.
Tim Matthews
2009-06-23 04:53:07
why not C? it can express everything (mostly) that can be done else where. And therefore re-compiled to functionally equivalent executable. Or are you meaning using some other language as the source, and therefore there you could only decode a sub-set of executables.
Simeon Pilgrim
2009-06-23 08:27:55
Your misunderstanding I don't dislike C. High level languages that are stored in byte codes and vm assembly would be a more suitable choice than machine assembly code.
Tim Matthews
2009-06-25 02:47:08
true, you never mentioned your target binary.
Simeon Pilgrim
2009-06-25 10:19:10