Hacker News new | past | comments | ask | show | jobs | submit login

On Windows, though, there's C# compiler out of the box on every OS since Vista. And C# has a bunch of rarely-used syntax for things like raw pointers, that can work on more or less the same level as C, and even look pretty similar. It might be possible to do something with that.



Huh, I never knew this. For anyone else who didn't know, it's in the C:\Windows\Microsoft.NET\Framework64\ folders, it's the CSC.exe file included with each version of the .NET framework.

Edit: Good grief, there's even vbc.exe, which is a command line Visual Basic 2012 compiler. Also JSC.exe for Jscript, aspnet_compiler.exe for ASP and MSBuild. Kinda embarrassed that I didn't know this.


In case you're wondering why - it's because every version of Windows since Vista comes with .NET Framework, and .NET Framework has this API:

https://docs.microsoft.com/en-us/dotnet/api/system.codedom

If you look at the functionality provided there, it includes ability to compile generated code. This is implemented using those command-line compilers.


It’s been my go to toolset for ages. It’s the #1 reason to learn c# as it’s everywhere.

Also if we are talking exploit vectors, uuencode is great for people that let you have a clipboard. Get uudecode in c#, and paste in your arbitrary binaries and you’ll be in business In no time!




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: