Reworking Rizin's binary loading
- Mentors
- Florian Märkl, Anton Kochkov
- Organization
- Rizin
Currently, Rizin is able to load segments and sections as well as fetch all symbols and relocations and extract everything we need to analyse the binary. However, those features are biased. Indeed, during the loading of the new binary, Rizin uses various information that aren't relevant as default loading data. For example, Rizin loads sections information at the start. But it is common knowledge that section information can be manipulated without modifying the program execution. With this issue comes the fact that Rizin uses section information to deduct imported functions, strings and for other various analyses. Therefore, we need to make the section loading optional. The second problem is how Rizin loads PLT data. Currently, the PLT is linked to the GOT using hard coded values, which should be replaced by a dynamic analysis like in Ghidra.