I'd say that this has already been at least partially addressed with asahi linux
Reverse engineering means taking the finished product apart to understand how it works. For software, that means getting back to a source code that could be compiled, so you have the architecture and constants and API calls and all that.