Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The simpler way to obtain C from Rust would be to use mrustc https://github.com/thepowersgang/mrustc
Not that the C will be much more readable than the dissassembly, but there's a chance less information will be lost.
I'm surprised nobody has mentioned DIRE[0] yet. They did exactly this and got some very impressive results.
[0]: https://arxiv.org/abs/1909.09029 / J. Lacomis et al., "DIRE: A Neural Approach to Decompiled Identifier Naming," 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2019, pp. 628-639, doi: 10.1109/ASE.2019.00064.
[1]: https://github.com/pcyin/dire