rizinorg / rz-silhouette

Rizin client plugin for the Rizin Silhouette Server
8 stars 2 forks source link

any issue with a BN plugin? #7

Closed psifertex closed 1 year ago

psifertex commented 1 year ago

I noticed the server has pre-shared key access. I'm curious if that's just to prevent potential abuse or if there is a desire to only limit it to rizin/cutter clients? In other words, is there any issue if I were to write a compatible Binary Ninja plugin? Related: if I were to write a compatible plugin, would you be interested/willing to have it be merged into this repo as a shared codebase or would you prefer I keep the code separate?

Related: I haven't looked at the source yet, just the documentation describing the architecture as I don't see a license on this repo. Obviously I can only view the source during my plugin creation and use that knowledge if it will be released under an open source license. Can you clarify what license this repo is available under?

XVilka commented 1 year ago

Personally, I am fine with having the plugin in the same repository. The PSK is used to prevent abuses. In the future, we should think about how to ensure the quality and relevance of the shared content and avoid spam in a more meaningful way. Any ideas for this are welcome.

We might need to restructure the repository though for this, to move Rizin, BN-specific code in separate directories.

wargio commented 1 year ago

I noticed the server has pre-shared key access. I'm curious if that's just to prevent potential abuse or if there is a desire to only limit it to rizin/cutter clients? In other words, is there any issue if I were to write a compatible Binary Ninja plugin? Related: if I were to write a compatible plugin, would you be interested/willing to have it be merged into this repo as a shared codebase or would you prefer I keep the code separate?

No, you can definitively use that. it's FOSS and yes, you can implement a client for BN or Ghidra or IDA. Yes, we can merge it!

Beware that if the plan is to use the same repo as rizin, you might find yourself with some issues regarding signatures. The signature for symbols is the hash of a masked pattern, so unless you generate the same mask, the hash will likely differ.

If instead you want to use deploy your server for BN, then yes, just write the client for BN and reuse the server as is, since it is not rizin/cutter specific.

Related: I haven't looked at the source yet, just the documentation describing the architecture as I don't see a license on this repo. Obviously I can only view the source during my plugin creation and use that knowledge if it will be released under an open source license. Can you clarify what license this repo is available under?

Sorry, i forgot to push the licenses, but each thing we normally publish is under LGPL. You can easily notice it from the comments at the begin of each file.

psifertex commented 1 year ago

Thanks to both of you for the feedback. No promises on the timeline, but it's a great idea. We've even been internally playing around with the idea of a similar system with open source plugins for all RE tools. Would be happy to collaborate but for now I figure just implementing a plugin for this would be a good place to start and see if any ideas come from it.

Thanks @wargio -- I was just afraid to look into the source specifically just in case they weren't intended to be OSS and I didn't want to be tainted (I mean, knowing the team behind it I figured that was probably the intention but I just wanted to be careful).

Thanks.