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 Offline
    S Offline
    Southmountain
    wrote on last edited by
    #1

    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 Sander RosselS A M F 8 Replies 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....

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