I would like to ask you if you could elaborate a little bit how a C program can work with plugins. One application that I am aware of that does something like that is adripper, where you can add binaries as plugins and then new features are implemented. I bet there are more applications doing something like that.
I guess the main program needs to have some kind of API, which the plugins are using. I am thinking that as soon as the app starts, scans the available plugins, and tries to execute some specific methods (hooks?) and based on the returned information the main app changes the way it works. But I might be totally wrong as well.
Do you guys have any documentation to point me to, so I can check how this is working? What is the best way to develop something like that? Any book to propose on these stuff?
Thank you all for your help.