• 0

Free Obfuscation .NET


Question

2 answers to this question

Recommended Posts

  • 0

You'd probably have better luck writing one yourself. Although that's no trivial task, neither is finding a free (and good) .NET obfuscator. The quality of obfuscation programs generally is not so great, and the only truly free one (lots of companies shout "FREE!" and then tell you that that actually meant free-as-in-evaulation) that I've been able to find (Aspose) has enough bugs in it that I would not trust it to obfuscate assemblies I want actual people to use.

As for open source, I've seen one. It was an example in a book about obfuscation called Desaware QND Obfuscator (distributed under MPL 1.1). The last time I tried it, it was VERY limited and didn't do a terribly good job of obfuscation -- it only obfuscates private code and it doesn't do a great job on even that. But both of those things can be changed without really adding any code (except for mapping code if your project spans multiple assemblies), and the result is about the equal of anything you'll find for free (http://www.desaware.com).

  • 0

I do not know to much about this, but have you tried RetroGuard and JODE Modules for Sun ONE Studio Mobile Edition

I do not know if this is what you are looking for but go to Sun's webpage. Perhaps this will help you!

And a small article that may also help!

Code Protection ? Prevent Assembly Decompilation.b>

Description:There are a couple of options to prevent the user from reverse-engineering your assembly. Let us discuss the following techniques.

1. Native Image generation

2. Strong-naming the assembly

3. Hiding the Implementation via a web service

4. Obfuscation.

Native Image Generationb>

One technique you may try is to create a native image of your assembly. This is done via the ngen tool that comes with .NET. This tool doesn't work with CIL source files; rather, it takes a .NET assembly and transforms it into a native assembly. For example, you can create a native image of AI.dll as follows:

ngen AI.dll

The tool creates a native image of the assembly, but it puts the result into the Native Image Cache (NIC). You can see what's in the cache by using the /show argument of ngen:

ngen /show

Unfortunately, the results aren't what you might expect. The problem is that you still need the original assembly for the client code to run properly. ngen essentially creates implementations of your methods, but the metadata is contained in the original assembly. If you try to run an assembly that uses AI.dll after you employed ngen on it and deleted (or renamed) the source AI.dll, the client will throw a FileNotFoundException.

The runtime will always load the CIL-based assembly, but it's smart enough to use the native implementations if they exist in the NIC. Therefore, you can't distribute a native image without the regular assembly. Someone will always be able to reengineer the code like I did before, and if you rename the resulting assembly and target the client to use this new assembly, you can prevent the runtime from using the native implementations.Strong-Naming the assemblyb>

The best you can do with strong-naming your assembly is that you can prevent others from reverse-engineering your code and putting your brand on it. It doesn't prevent others from at least being able to see the underlying code.Hiding the Implementation as Web Servicesb>

If your clients have high-speed Internet access, another option available is to make them Web services. Clients can access the assembly's functionality, but they can't get the physical assembly itself. Also, if a bug did occur in your assembly, fixing the offending code means that all clients get the fix at one time.

Of course, there may be situations where this is not feasible. For example, if you were writing a high-performance graphics engine to compete with DirectX, you probably don't want the method invocations to occur over HTTP. However, if you know that you must protect your resources, then keeping them off the client's machine may the safest way to do so.Obfuscationb>

This is basically a technique in which a tool will take input, like source code or a PE file, and create output that makes it very difficult for reverse-engineering tools to discover what the executable is doing. However, it will not change the expected behavior of the code, and it may make loading times quicker.

Out of all the options available, this one covers all of the bases, and I think it's the best measure you can take to protecting your investment. Remember, though, that obfuscation is not a guarantee. Someone with enough perseverance may figure out ways to get around an obfuscator in the future.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Hmm, I'll give it a go
    • Is Samsung teasing a Galaxy Z Fold7 Ultra? An official press release suggests so by Sagar Naresh Bhavsar We are inching closer to the launch of this year's premium foldables from Samsung: the Galaxy Z Fold7 and the Galaxy Z Flip7. Recently, a certification revealed that the affordable Galaxy Z Flip7 FE, could also debut alongside the other two foldables. The device is expected to take on the standard Moto Razr 2025. While we were getting excited about the trio, Samsung has put out a press release to create some hype around the upcoming foldables. Interestingly, the company has put great emphasis on the "Ultra" branding, which it usually uses for its Galaxy S-series phone and previously for Note-series phones. So, does this mean, we are getting a Galaxy Z Fold7 Ultra? Time will only tell. As for the press release, it is titled "Meet the Next Chapter of Ultra" and the first line highlights how Samsung has been listening to fans that have demanded "bigger screens, better cameras and new ways to connect and create." To churn up up the hype, Samsung added, "That’s why Galaxy’s next chapter is to provide an experience that seamlessly blends artistry and engineering to elevate everyday interactions." The GIF inside the press-release reveals what looks like the Galaxy Z Fold7 (or the Galaxy Z Fold7 Ultra, if that exists). Rumors have indicated that this year's Galaxy Z Fold7 is getting taller and wider than last year's model, thanks to a bigger display. The Z Fold7 could also feature a titanium backplate to not only reduce its thickness and make it stronger but to shed some weight as well. The company then directs the attention to its AI features such as voice controls for finding the perfect eatery or shopping place, using powerful AI-powered camera features, and so on. We will get to know more about the devices in the coming weeks. By that time, let us know your thoughts, on whether you would like an Ultra foldable or want Samsung to tweak the existing model and keep the space less-crowded.
    • A couple of friends of mine have been building Gunpla for years and got me interested, so I asked and they recommended this as a fairly good quality, very affordable, starting point. https://www.amazon.co.uk/dp/B0BGN9K1MV It was fun to build, didn't take too long, and helped me decide if I wanted to go further with the hobby, which I did.  Still only got this one built, but that's only due to time availability!
    • I've had an original, a Lite, and an OLED and I have just one question for you.  How big are your hands? I got rid of all three because, simply put, they're sized for kids hands more than anything, especially the Lite.  The Switch 2 is a fair bit larger but I'm not agreeing to Ninty's new EULA for the thing.
    • Where does he say that he'll give 99% to Africa? I agree that he said that he'll give 99% of his wealth, and you quote him saying that the majority will go to Africa. The majority of 99% does not mean all of the 99%. It could mean that he'll give just above half of that.
  • Recent Achievements

    • Week One Done
      Leonard grant earned a badge
      Week One Done
    • One Month Later
      portacnb1 earned a badge
      One Month Later
    • Week One Done
      portacnb1 earned a badge
      Week One Done
    • First Post
      m10d earned a badge
      First Post
    • Conversation Starter
      DarkShrunken earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      260
    2. 2
      snowy owl
      158
    3. 3
      +FloatingFatMan
      145
    4. 4
      ATLien_0
      140
    5. 5
      Xenon
      131
  • Tell a friend

    Love Neowin? Tell a friend!