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. how do you check the quality of your obfuscation of a .net assembly?

how do you check the quality of your obfuscation of a .net assembly?

Scheduled Pinned Locked Moved The Lounge
csharpquestion
24 Posts 15 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.
  • S Southmountain

    my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

    diligent hands rule....

    Sander RosselS Offline
    Sander RosselS Offline
    Sander Rossel
    wrote on last edited by
    #5

    Most code I've seen doesn't need to be obfuscated by programs. The original authors obviously did a lot of work to make it as hard to read as possible... :sigh:

    Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

    Regards, Sander

    S K 2 Replies Last reply
    0
    • Sander RosselS Sander Rossel

      Most code I've seen doesn't need to be obfuscated by programs. The original authors obviously did a lot of work to make it as hard to read as possible... :sigh:

      Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

      Regards, Sander

      S Offline
      S Offline
      Sascha Lefevre
      wrote on last edited by
      #6

      :laugh: :laugh: :laugh: :laugh: :thumbsup:

      1 Reply Last reply
      0
      • S Southmountain

        my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

        diligent hands rule....

        A Offline
        A Offline
        Amarnath S
        wrote on last edited by
        #7

        Another example of self-obfuscation I'd seen in a program: There's a variable named distance, signifying distance. A few lines later, this is converted to a 'rate-per-unit-time' entity, and the same distance now represents velocity/speed. Few more lines later, this gets further converted similarly, and it represents acceleration; variable name is still distance. In essence, I need to understand the significance of distance based on the line of code I am currently seeing.

        1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          Most code I've seen doesn't need to be obfuscated by programs. The original authors obviously did a lot of work to make it as hard to read as possible... :sigh:

          Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

          Regards, Sander

          K Offline
          K Offline
          kmoorevs
          wrote on last edited by
          #8

          :laugh: I was thinking the same thing! BTW, a few hours ago I checked in here and found the lounge completely empty! No messages, nothing...no soapbox, no hall of shame weird and wonderful...QA, though was still working though. I had started to wonder if we were just starting over or something. Oh well, good to see all is back to normal. :omg: ...or maybe it was just me? :confused:

          "Go forth into the source" - Neal Morse

          B S Sander RosselS 3 Replies Last reply
          0
          • K kmoorevs

            :laugh: I was thinking the same thing! BTW, a few hours ago I checked in here and found the lounge completely empty! No messages, nothing...no soapbox, no hall of shame weird and wonderful...QA, though was still working though. I had started to wonder if we were just starting over or something. Oh well, good to see all is back to normal. :omg: ...or maybe it was just me? :confused:

            "Go forth into the source" - Neal Morse

            B Offline
            B Offline
            Brisingr Aerowing
            wrote on last edited by
            #9

            The site had a critical system error, causing all sorts of grief for people (I couldn't log in, and the forgot password Captcha didn't work at all. I contacted Chris, and he mentioned the issue).

            What do you get when you cross a joke with a rhetorical question? --- The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism. --- Do questions with multiple question marks annoy you???

            1 Reply Last reply
            0
            • K kmoorevs

              :laugh: I was thinking the same thing! BTW, a few hours ago I checked in here and found the lounge completely empty! No messages, nothing...no soapbox, no hall of shame weird and wonderful...QA, though was still working though. I had started to wonder if we were just starting over or something. Oh well, good to see all is back to normal. :omg: ...or maybe it was just me? :confused:

              "Go forth into the source" - Neal Morse

              S Offline
              S Offline
              Slacker007
              wrote on last edited by
              #10

              kmoorevs wrote:

              BTW, a few hours ago I checked in here and found the lounge completely empty!

              Saturday? A lot of us here don't post during the day on the weekends, I'm guessing.

              1 Reply Last reply
              0
              • S Southmountain

                my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

                diligent hands rule....

                M Offline
                M Offline
                Mark_Wallace
                wrote on last edited by
                #11

                Just use Java. Its objectfuscation makes it impenetrable to even the most valiant code-breakers.

                I wanna be a eunuchs developer! Pass me a bread knife!

                1 Reply Last reply
                0
                • K kmoorevs

                  :laugh: I was thinking the same thing! BTW, a few hours ago I checked in here and found the lounge completely empty! No messages, nothing...no soapbox, no hall of shame weird and wonderful...QA, though was still working though. I had started to wonder if we were just starting over or something. Oh well, good to see all is back to normal. :omg: ...or maybe it was just me? :confused:

                  "Go forth into the source" - Neal Morse

                  Sander RosselS Offline
                  Sander RosselS Offline
                  Sander Rossel
                  wrote on last edited by
                  #12

                  kmoorevs wrote:

                  the lounge completely empty

                  I figure, there is no lounge :laugh:

                  kmoorevs wrote:

                  no soapbox, no hall of shame weird and wonderful...QA

                  What do you mean? They're not real...

                  kmoorevs wrote:

                  good to see all is back to normal

                  Alright, this has gone on long enough. There is no lounge, no QA, no CodeProject... They're all figments of your imagination. What you experienced was one of your brighter moments where you almost realized you live in a fantasy world and was about to snap out of it :sigh: We're increasing your therapy.

                  Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                  Regards, Sander

                  1 Reply Last reply
                  0
                  • S Southmountain

                    my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

                    diligent hands rule....

                    F Offline
                    F Offline
                    Fabio Franco
                    wrote on last edited by
                    #13

                    I once used an obfuscator that prevented both ILDasm and Reflector from even opening the assemblies. It removed the headers. I'm not sure how it got to bind the assemblies without the headers, but I think it would go further on making it harder to unobfuscate the assemblies.

                    To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                    L 1 Reply Last reply
                    0
                    • S Southmountain

                      great info. thanks a million. could you name a few stand-alone deobfuscators?

                      diligent hands rule....

                      N Offline
                      N Offline
                      Nelson Kosta Souto
                      wrote on last edited by
                      #14

                      Try also this... http://ilspy.net/[^]

                      NKS

                      T 1 Reply Last reply
                      0
                      • N Nelson Kosta Souto

                        Try also this... http://ilspy.net/[^]

                        NKS

                        T Offline
                        T Offline
                        thewazz
                        wrote on last edited by
                        #15

                        i think that's a viewer, not a deobfuscator.

                        N 1 Reply Last reply
                        0
                        • S Southmountain

                          my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

                          diligent hands rule....

                          C Offline
                          C Offline
                          Chris Jacobi
                          wrote on last edited by
                          #16

                          It feels funny to me to obfuscate a user control. What is there to keep secret? Usually people obfuscate important algorithms. Admitted, to break an obfuscation, an attacker will try to start fooling around with user controls and see what modifications that does to the execution of the application. People with need for strong obfuscations normally do not obfuscate byte code languages. These have a tendency to be easy to de-obfuscate. Strong obfuscations are done on machine code programs. I'm doing obfuscations for business. Like the original poster I would love to know the quality of obfuscations. I bet my obfuscations are unbreakable by amateurs. But how can you find out security against sophisticated attackers? The solution is to pay a readteam. However,for my startup, I would not have the slightest idea where to take the money from. Maybe somebody might try it as a challenge or a crackme, just for bragging rights. But then. if somebody posts an opinion, how much would you believe it? Chris Chris Jacobi Founder White Hawk Software www.whitehawksoftware.com

                          S 1 Reply Last reply
                          0
                          • S Southmountain

                            my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

                            diligent hands rule....

                            T Offline
                            T Offline
                            thund3rstruck
                            wrote on last edited by
                            #17

                            I open the binaries in ILSpy and if ILSpy doesn't throw an exception then the obfuscation is not good enough

                            1 Reply Last reply
                            0
                            • F Fabio Franco

                              I once used an obfuscator that prevented both ILDasm and Reflector from even opening the assemblies. It removed the headers. I'm not sure how it got to bind the assemblies without the headers, but I think it would go further on making it harder to unobfuscate the assemblies.

                              To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

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

                              Hopefully it really did that and didn't just slap [SuppressIldasmAttribute] on everything..

                              1 Reply Last reply
                              0
                              • T thewazz

                                i think that's a viewer, not a deobfuscator.

                                N Offline
                                N Offline
                                Nelson Kosta Souto
                                wrote on last edited by
                                #19

                                ILSpy is the open-source .NET assembly browser and decompiler. If you have a c# DLL File or EXE, you can save decompiled assembly as .csproj and Assembly as C# Project.

                                NKS

                                S 1 Reply Last reply
                                0
                                • S Sascha Lefevre

                                  From what I've read, de4dot[^] is probably the top dog deobfuscator or at least among them.

                                  S Offline
                                  S Offline
                                  Southmountain
                                  wrote on last edited by
                                  #20

                                  thanks. it is great tool.

                                  diligent hands rule....

                                  S 1 Reply Last reply
                                  0
                                  • N Nelson Kosta Souto

                                    ILSpy is the open-source .NET assembly browser and decompiler. If you have a c# DLL File or EXE, you can save decompiled assembly as .csproj and Assembly as C# Project.

                                    NKS

                                    S Offline
                                    S Offline
                                    Southmountain
                                    wrote on last edited by
                                    #21

                                    I am using it right now besides some others..

                                    diligent hands rule....

                                    1 Reply Last reply
                                    0
                                    • C Chris Jacobi

                                      It feels funny to me to obfuscate a user control. What is there to keep secret? Usually people obfuscate important algorithms. Admitted, to break an obfuscation, an attacker will try to start fooling around with user controls and see what modifications that does to the execution of the application. People with need for strong obfuscations normally do not obfuscate byte code languages. These have a tendency to be easy to de-obfuscate. Strong obfuscations are done on machine code programs. I'm doing obfuscations for business. Like the original poster I would love to know the quality of obfuscations. I bet my obfuscations are unbreakable by amateurs. But how can you find out security against sophisticated attackers? The solution is to pay a readteam. However,for my startup, I would not have the slightest idea where to take the money from. Maybe somebody might try it as a challenge or a crackme, just for bragging rights. But then. if somebody posts an opinion, how much would you believe it? Chris Chris Jacobi Founder White Hawk Software www.whitehawksoftware.com

                                      S Offline
                                      S Offline
                                      Southmountain
                                      wrote on last edited by
                                      #22

                                      inside my user control I do have some algorithms to protect. I checked your website, but not see product yet...

                                      diligent hands rule....

                                      1 Reply Last reply
                                      0
                                      • S Southmountain

                                        thanks. it is great tool.

                                        diligent hands rule....

                                        S Offline
                                        S Offline
                                        Sascha Lefevre
                                        wrote on last edited by
                                        #23

                                        glad I could help!

                                        1 Reply Last reply
                                        0
                                        • S Southmountain

                                          my assembly is .NET user control in C#. after I obfuscate it, I want to check how good is the obfuscation. So I used Red-gate Reflector to check class, method etc. What is your way to check the quality of obfuscation of a .net assembly?

                                          diligent hands rule....

                                          G Offline
                                          G Offline
                                          Ganesh R Rao
                                          wrote on last edited by
                                          #24

                                          See if this tool can de-obfuscate your obfuscation: http://de4dot.com/[^]

                                          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