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....

    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