radareorg / r2pipe.rs

Rust crate for r2pipe
Other
45 stars 19 forks source link

spawn is a lie #52

Open RHL120 opened 1 year ago

RHL120 commented 1 year ago

In r2pipe.rs line 176, the spawn function is described to be a function that returns a new R2PipeSpawn. This doc comment is a lie because on line 178 you will see a return R2Pipe::open(); which returns an R2PipeLang. The reason why I am complaining about this is because I am trying to remove the R2Pipe struct (because it is just a wrapper around Pipe and to get rid of the dyn). Doing that is hard when there is a method that returns two types. I propose erroring out when the arguments are empty.

meme commented 1 year ago

I think this makes sense - we can change the behaviour of spawn so that it cannot accept an existing session as the input, only arguments. Then, users who want to attach to existing sessions can use a separate API.

gogo2464 commented 1 year ago

I can only agree with @RHL120 ! The error is so critical that my tutorial for my tool requires to use @RHL120 branch!!!

I did: r2pipe = { git = "https://github.com/RHL120/r2pipe.rs", branch = "windows_bad" }

https://github.com/gogo2464/cryptatools-rs/blob/master/TUTORIAL.md#31-caesar-statistical-analysis-try-when-the-shellcode-size-is-too-little

RHL120 commented 1 year ago

rror is so critical that my tutorial for my tool requ

This issue is unrelated to the windows issue. The windows issue has been solved in the new release 0.7.0: https://github.com/radareorg/r2pipe.rs/commit/89db8759cec4f19a6596a8dfe98d5046a6217432