Skip to content

Porting Over Existing C# Tools & Tradecraft

byt3bl33d3r edited this page Oct 21, 2019 · 5 revisions

Porting Over Existing C# Tools & Tradecraft

One of the downsides of using Boo for tasking is that you can't directly take advantage of existing C# tradecraft and tools without first porting them over to Boo-Lang. (Obviously you could use the execute-assembly module but that would be cheating).

This can be extremely time consuming, especially on larger codebases.

However, I have a partial solution for this! SharpDevelop 4.4 , incredibly enough, has a C# to Boo translator and its super easy to use:

  • Download SharpDevelop 4.4 (the most recent versions removed support for Boo so it has to be this specific version)
  • Paste in your C# code
  • Go to Tools -> Convert Code -> Boo
  • Magic! Your code is now 90% ready to be used in SILENTTRINITY!

Now obviously it won't work perfectly with every C# code base cause Boo doesn't support a lot of C#'isms like LINQ syntax etc.. so if you see an error when converting the code, you're gonna have to comment out the line the error occurs on and convert it over manually.

However its a huge time saver! I managed to convert SeatBelt (which was around 6000 lines of C# code) over to Boo in under 20 min as supposed to weeks :)