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

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

    That wouldn't really work, unless you have Reflexil and deobfuscate first. Also try some stand-alone deobfuscators. If the decompiled code still sucks after that, then ok. If not, then any script kiddie can undo the obfuscation that you hopefully didn't pay too much for.

    S 1 Reply Last reply
    0
    • L Lost User

      That wouldn't really work, unless you have Reflexil and deobfuscate first. Also try some stand-alone deobfuscators. If the decompiled code still sucks after that, then ok. If not, then any script kiddie can undo the obfuscation that you hopefully didn't pay too much for.

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

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

      diligent hands rule....

      S N 2 Replies Last reply
      0
      • S Southmountain

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

        diligent hands rule....

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

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

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

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