Skip to content

Conversation

@coj337
Copy link
Contributor

@coj337 coj337 commented Jun 15, 2025

Hey friendo, it's been a minute since I broke Snaffler with a PR! We have an internal version of Snaffler that supports .NET Core/9 and gets serious speed and resource buffs.

I updated our version to be PR friendly for you, it supports conditional compilation so .NET Framework keeps working for all you BOFers and the pentesters can use modern .NET with the slightly bigger exe (Compiled to machine code with NativeAoT!). I also replaced NLog because it was sloww with the regexes and inflating the binaries. Finally, there's a batch script to compile them both so nobody needs to remember flags or any jiggery.

I did benchmarks to check the Framework vs 9 speed (on local C:):

Metric .NET Framework .NET 9 Improvement
Duration (s) 374.14 127.71 2.93 × faster
Total CPU time (s) 3 845.47 916.91 4.19 × less CPU time
Average CPU load (% of one core) 31.38 % 21.60 % 1.45 × lower load
Average memory (MB) 513 MB 336 MB 1.53 × lower memory
Total Memory-time (GB·s) 188 GB·s 42 GB·s 4.48 × less RAM

There's a bunch more updates we have internally but I wanted to make it as easy for you to validate as possible, hmu if you have any questions!

@jeffmcjunkin
Copy link

This is pretty compelling!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants