rizinorg / rizin

UNIX-like reverse engineering framework and command-line toolset.
https://rizin.re
GNU Lesser General Public License v3.0
2.64k stars 354 forks source link

Documentation - Creating a Rizin plugin #704

Open caribpa opened 3 years ago

caribpa commented 3 years ago

Is your feature request related to a problem? Please describe. In 0.1.1 Newshell Changelog discussion it has come to my attention the fact that there's no documentation in Rizin regarding how to write plugins.

Describe the solution you'd like It would be nice to have, at some point, documentation showing, step by step, how to create a functional plugin. For example, Rizin could be extended with BOF analysis capabilities by wrapping exploit-bad-characters and expdevBadChars for memory comparison (chosen because of this old radare2 issue).

Describe alternatives you've considered Having a dummy plugin creation documentation like radare2 blog post, though not the most inspiring for most Python-dependant hackers 🙂

Additional context 🤷

XVilka commented 3 years ago

See:

caribpa commented 3 years ago

I see there are guides in these links with examples (using mycpu, etc), but I meant a tutorial wrapping, for example, a real Python library/file (like expdevBadChars) per se.

caribpa commented 3 years ago

It would be nice to have a "simple wrapper" tutorial adding expdevBadChars functionality, and (in a distant future) a way more elaborate one, with an intermediary layer, wrapping something not-meant-for-Rizin like mona.