Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .Net obfuscator suggestions

.Net obfuscator suggestions

Scheduled Pinned Locked Moved The Lounge
csharpc++databasesql-serverdotnet
18 Posts 12 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    Harvey Saayman
    wrote on last edited by
    #1

    Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

    Key Benefits

    \* Protects .NET code against decompilation and reverse engineering
    \* Converts .NET applications to native binaries that run without the .NET Framework
    \* Embeds SQL Server Express databases directly into the application binary
    \* Eliminates compatibility errors by linking all application components into a single EXE
    \* Optimizes application performance with metadata reduction and code pruning
    

    More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

    Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

    N R realJSOPR L D 6 Replies Last reply
    0
    • H Harvey Saayman

      Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

      Key Benefits

      \* Protects .NET code against decompilation and reverse engineering
      \* Converts .NET applications to native binaries that run without the .NET Framework
      \* Embeds SQL Server Express databases directly into the application binary
      \* Eliminates compatibility errors by linking all application components into a single EXE
      \* Optimizes application performance with metadata reduction and code pruning
      

      More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

      Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

      N Offline
      N Offline
      N a v a n e e t h
      wrote on last edited by
      #2

      Why are you obfuscating your code? Do you thing obfuscation can stop reverse engineering? IMO, .NET obfuscators are all crap and there is no point in obfuscating your code. You could have written the piece of code that needs to be secured as an un-managed component. Probably with C++. If you have code that is insecure on client machine, you can execute that on your own server by providing a web service/WCF interface rather than providing an obfuscated assembly. I believe obfuscation will also makes reflection tough. :)

      Navaneeth How to use google | Ask smart questions

      H 1 Reply Last reply
      0
      • N N a v a n e e t h

        Why are you obfuscating your code? Do you thing obfuscation can stop reverse engineering? IMO, .NET obfuscators are all crap and there is no point in obfuscating your code. You could have written the piece of code that needs to be secured as an un-managed component. Probably with C++. If you have code that is insecure on client machine, you can execute that on your own server by providing a web service/WCF interface rather than providing an obfuscated assembly. I believe obfuscation will also makes reflection tough. :)

        Navaneeth How to use google | Ask smart questions

        H Offline
        H Offline
        hairy_hats
        wrote on last edited by
        #3

        The "need" to obfuscate (or rather desirability of obfuscation) is IMO a major flaw in the design of .NET. I can understand that reflection requires that function calls be available but the source code of the contents of those functions, no. Making it necessary to write another component in another language in order to get a secured component is just stupid. Of course all code can be reverse engineered given enough resources but .NET hands you code on a plate. They could surely have included a

        secure { }

        keyword that prevented reflection on the code it brackets.

        S 1 Reply Last reply
        0
        • H Harvey Saayman

          Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

          Key Benefits

          \* Protects .NET code against decompilation and reverse engineering
          \* Converts .NET applications to native binaries that run without the .NET Framework
          \* Embeds SQL Server Express databases directly into the application binary
          \* Eliminates compatibility errors by linking all application components into a single EXE
          \* Optimizes application performance with metadata reduction and code pruning
          

          More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

          Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

          R Offline
          R Offline
          Rajesh R Subramanian
          wrote on last edited by
          #4

          Hello, I (the peers working on .NET) will recommend SmartAssembly[^]. They're very happy with it. :)

          It is a crappy thing, but it's life -^ Carlo Pallini

          H W 2 Replies Last reply
          0
          • R Rajesh R Subramanian

            Hello, I (the peers working on .NET) will recommend SmartAssembly[^]. They're very happy with it. :)

            It is a crappy thing, but it's life -^ Carlo Pallini

            H Offline
            H Offline
            Harvey Saayman
            wrote on last edited by
            #5

            Thanks Rajesh :) Downloading trail...

            Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

            R J 2 Replies Last reply
            0
            • H Harvey Saayman

              Thanks Rajesh :) Downloading trail...

              Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

              R Offline
              R Offline
              Rajesh R Subramanian
              wrote on last edited by
              #6

              Harvey Saayman wrote:

              Downloading trail...

              I hate it when there's a trail of the stuff that I download... ;)

              It is a crappy thing, but it's life -^ Carlo Pallini

              1 Reply Last reply
              0
              • H Harvey Saayman

                Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

                Key Benefits

                \* Protects .NET code against decompilation and reverse engineering
                \* Converts .NET applications to native binaries that run without the .NET Framework
                \* Embeds SQL Server Express databases directly into the application binary
                \* Eliminates compatibility errors by linking all application components into a single EXE
                \* Optimizes application performance with metadata reduction and code pruning
                

                More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

                Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                realJSOPR Offline
                realJSOPR Offline
                realJSOP
                wrote on last edited by
                #7

                You can't entirely obfuscate WPF apps. I can hardly wait until my boss realizes that...

                "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                -----
                "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                R O 2 Replies Last reply
                0
                • realJSOPR realJSOP

                  You can't entirely obfuscate WPF apps. I can hardly wait until my boss realizes that...

                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                  -----
                  "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                  R Offline
                  R Offline
                  Rajesh R Subramanian
                  wrote on last edited by
                  #8

                  So, you'll propose VB .NET to him instead? :)

                  It is a crappy thing, but it's life -^ Carlo Pallini

                  1 Reply Last reply
                  0
                  • H Harvey Saayman

                    Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

                    Key Benefits

                    \* Protects .NET code against decompilation and reverse engineering
                    \* Converts .NET applications to native binaries that run without the .NET Framework
                    \* Embeds SQL Server Express databases directly into the application binary
                    \* Eliminates compatibility errors by linking all application components into a single EXE
                    \* Optimizes application performance with metadata reduction and code pruning
                    

                    More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

                    Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #9

                    Harvey Saayman wrote:

                    I need to obfuscate my binaries

                    Why? If it's required by your boss, well, ok.. but otherwise, honestly why? What is it going to do? It might deter some wannabe hacker - who wouldn't be a real danger anyway..

                    xenocode wrote:

                    * Protects .NET code against decompilation and reverse engineering

                    This is guaranteed to be a lie. Sure they can make .NET decompilers choke on it, but it won't protect against reverse engineering (nothing truly can)

                    1 Reply Last reply
                    0
                    • H hairy_hats

                      The "need" to obfuscate (or rather desirability of obfuscation) is IMO a major flaw in the design of .NET. I can understand that reflection requires that function calls be available but the source code of the contents of those functions, no. Making it necessary to write another component in another language in order to get a secured component is just stupid. Of course all code can be reverse engineered given enough resources but .NET hands you code on a plate. They could surely have included a

                      secure { }

                      keyword that prevented reflection on the code it brackets.

                      S Offline
                      S Offline
                      Simon P Stevens
                      wrote on last edited by
                      #10

                      I disagree. Ultimately everything has to be compiled to binary. Binary isn't encrypted or protected. What's the point of obfuscating some arbitrary middle layer. native code is just as easily reversible, except less people know how to do it because these isn't a simple tool like reflector. Just look at the number of cracked applications there are out there, that just proves that native code can easily be reversed and modified. If you have anything that you consider to be valuable, you need to take steps to protect it, even if you wrote it in a native language. The fact that .net code is so easily reversible doesn't make any difference. If anything it improves the situation because now people are aware that they mustn't put valuable IP unprotected in source code.

                      Simon

                      H 1 Reply Last reply
                      0
                      • S Simon P Stevens

                        I disagree. Ultimately everything has to be compiled to binary. Binary isn't encrypted or protected. What's the point of obfuscating some arbitrary middle layer. native code is just as easily reversible, except less people know how to do it because these isn't a simple tool like reflector. Just look at the number of cracked applications there are out there, that just proves that native code can easily be reversed and modified. If you have anything that you consider to be valuable, you need to take steps to protect it, even if you wrote it in a native language. The fact that .net code is so easily reversible doesn't make any difference. If anything it improves the situation because now people are aware that they mustn't put valuable IP unprotected in source code.

                        Simon

                        H Offline
                        H Offline
                        hairy_hats
                        wrote on last edited by
                        #11

                        Simon Stevens wrote:

                        What's the point of obfuscating some arbitrary middle layer.

                        To make it harder to copy. Would you send out a copy of your source code with a closed-source app? I doubt it. .NET isn't much different. Compiled native code makes it much harder to reproduce your IP. Cracked apps are usually just a small patch to get around the protection, not a recompilation of a program with the protection removed. .NET allows you to effectively see the source code which makes it much easier to copy your IP.

                        S 1 Reply Last reply
                        0
                        • R Rajesh R Subramanian

                          Hello, I (the peers working on .NET) will recommend SmartAssembly[^]. They're very happy with it. :)

                          It is a crappy thing, but it's life -^ Carlo Pallini

                          W Offline
                          W Offline
                          wout de zeeuw
                          wrote on last edited by
                          #12

                          I second smartassembly, I've been using it for a couple of years. Very good product.

                          Wout

                          1 Reply Last reply
                          0
                          • H hairy_hats

                            Simon Stevens wrote:

                            What's the point of obfuscating some arbitrary middle layer.

                            To make it harder to copy. Would you send out a copy of your source code with a closed-source app? I doubt it. .NET isn't much different. Compiled native code makes it much harder to reproduce your IP. Cracked apps are usually just a small patch to get around the protection, not a recompilation of a program with the protection removed. .NET allows you to effectively see the source code which makes it much easier to copy your IP.

                            S Offline
                            S Offline
                            Simon P Stevens
                            wrote on last edited by
                            #13

                            Steve_Harris wrote:

                            Compiled native code makes it much harder to reproduce your IP.

                            No, that's my point. I don't think it does, at least not significantly. There are plenty of native debuggers and reverse tools out there. Ok, some inexperienced kid might not be able to do it, but it's still possible. Which to me makes things worse. A lot of people seem to think that compiling c++ code means it is protected and it really isn't. This false belief is more dangerous as they won't do anything to protect something that is genuinely important.

                            Steve_Harris wrote:

                            Would you send out a copy of your source code with a closed-source app?

                            I don't see why not. (I've never written a closed source app) Like I say, to someone who wants it, I don't really think the source is that hidden from then anyway.

                            Simon

                            1 Reply Last reply
                            0
                            • H Harvey Saayman

                              Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

                              Key Benefits

                              \* Protects .NET code against decompilation and reverse engineering
                              \* Converts .NET applications to native binaries that run without the .NET Framework
                              \* Embeds SQL Server Express databases directly into the application binary
                              \* Eliminates compatibility errors by linking all application components into a single EXE
                              \* Optimizes application performance with metadata reduction and code pruning
                              

                              More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

                              Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                              D Offline
                              D Offline
                              Dan Neely
                              wrote on last edited by
                              #14

                              From testing with reflector a few months ago, SmartAssembly was the only one to mess stuff up until it couldn't load at all. XHEO CodeVeil, pvLog.net, and DOtfuscator Pro both messed things up to the point that method contents weren't displayable. To make our customer happy (all the other components of the system they were selling were written in C++), we ended up buying Salamander[^] which compiled everything into native code.

                              It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies

                              1 Reply Last reply
                              0
                              • realJSOPR realJSOP

                                You can't entirely obfuscate WPF apps. I can hardly wait until my boss realizes that...

                                "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                -----
                                "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                O Offline
                                O Offline
                                Obliterator
                                wrote on last edited by
                                #15

                                really? why not?

                                -- The Obliterator

                                realJSOPR 1 Reply Last reply
                                0
                                • O Obliterator

                                  really? why not?

                                  -- The Obliterator

                                  realJSOPR Offline
                                  realJSOPR Offline
                                  realJSOP
                                  wrote on last edited by
                                  #16

                                  I don't know for sure, but the XAML/BAML has something to do with it.

                                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                  -----
                                  "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                  1 Reply Last reply
                                  0
                                  • H Harvey Saayman

                                    Thanks Rajesh :) Downloading trail...

                                    Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                                    J Offline
                                    J Offline
                                    jmcc2k
                                    wrote on last edited by
                                    #17

                                    A good (and cheaper) alternative is Crypto Obfuscator

                                    1 Reply Last reply
                                    0
                                    • H Harvey Saayman

                                      Hey guys The system I've been developing for the past two years will be going into a live beta phase in a few weeks time, I cant wait to see it out there doing its thing :) I'm very excited! But before this can happen I need to obfuscate my binaries, I've had a look at xenocode's postbuild and dotfuscator so far. Can anyone please recommend and share experiences? It need not be free. Thanks <edit> Looks like the chaps at xenocode have been busy since I last evaluated their product postbuild two years ago.

                                      Key Benefits

                                      \* Protects .NET code against decompilation and reverse engineering
                                      \* Converts .NET applications to native binaries that run without the .NET Framework
                                      \* Embeds SQL Server Express databases directly into the application binary
                                      \* Eliminates compatibility errors by linking all application components into a single EXE
                                      \* Optimizes application performance with metadata reduction and code pruning
                                      

                                      More info here[^] I'd really like to hear from someone else who uses this, especially about the Converts .NET applications to native binaries that run without the .NET Framework feature. </edit>

                                      Harvey Saayman - South Africa Software Developer .Net, C#, SQL you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming) 1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111

                                      R Offline
                                      R Offline
                                      rogerht
                                      wrote on last edited by
                                      #18

                                      We've evaluated several obfuscation tools and ended up purchasing CliSecure by SecureTeam. Their tool implements advanced obfuscation techniques such as control flow obfuscation & cross assembly obfuscation, however their real competitive edge is their code protection solution. After protecting your assemblies all method bodies appears empty, I've been told that the code is handed to the JIT compiler on a per method basis just when needed. This was the perfect solution for us since we didn't have to go through additional QA cycle once protecting our app due to inconsistencies that are normally introduced when using an obfuscator. Last but not least their support is superb. We got immediate response for any question asked and were satisfied with the quality on feedback we've got.

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups