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. General Programming
  3. C#
  4. C# dependencies and security

C# dependencies and security

Scheduled Pinned Locked Moved C#
csharpc++delphisecuritytutorial
5 Posts 3 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.
  • D Offline
    D Offline
    Dirso
    wrote on last edited by
    #1

    Hi If I develop a dll that deals with most of my data security in C++ or Delphi for example, a malicious user could replace it with a bad copy and this way it would void my security. Is it the same in C#? When I add a dependency it may run with malicious copies (with the same metadata)? In other Windows Application I would just check the dll CRC before using it... Would that be enough in C#? Thanks, Dirso.

    L T 2 Replies Last reply
    0
    • D Dirso

      Hi If I develop a dll that deals with most of my data security in C++ or Delphi for example, a malicious user could replace it with a bad copy and this way it would void my security. Is it the same in C#? When I add a dependency it may run with malicious copies (with the same metadata)? In other Windows Application I would just check the dll CRC before using it... Would that be enough in C#? Thanks, Dirso.

      L Offline
      L Offline
      leppie
      wrote on last edited by
      #2

      .NET assemblies can be signed, that prevents tampering like this.

      xacc.ide - now with TabsToSpaces support
      IronScheme - 1.0 beta 1 - out now!
      ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

      D 1 Reply Last reply
      0
      • D Dirso

        Hi If I develop a dll that deals with most of my data security in C++ or Delphi for example, a malicious user could replace it with a bad copy and this way it would void my security. Is it the same in C#? When I add a dependency it may run with malicious copies (with the same metadata)? In other Windows Application I would just check the dll CRC before using it... Would that be enough in C#? Thanks, Dirso.

        T Offline
        T Offline
        Thomas Stockwell
        wrote on last edited by
        #3

        Other than the signing that was mentioned in the other post to your question, you can use an obfuscator. With an obfuscator you can scramble an assembly so that it cannot be decompiled and obfuscation also allows you to embed watermarks that you can check when an application starts. (All of this, of course, depends upon the obfuscator you use). I happen to use Spices Obfuscator from 9rays.net, but the company seems to be dying so I wouldn't look into getting that particular obfuscator.

        Regards, Thomas Stockwell Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Visit my Blog

        D 1 Reply Last reply
        0
        • T Thomas Stockwell

          Other than the signing that was mentioned in the other post to your question, you can use an obfuscator. With an obfuscator you can scramble an assembly so that it cannot be decompiled and obfuscation also allows you to embed watermarks that you can check when an application starts. (All of this, of course, depends upon the obfuscator you use). I happen to use Spices Obfuscator from 9rays.net, but the company seems to be dying so I wouldn't look into getting that particular obfuscator.

          Regards, Thomas Stockwell Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Visit my Blog

          D Offline
          D Offline
          Dirso
          wrote on last edited by
          #4

          That would be nice. I hope to find something cheap... I use Aspack for years and it was always a good product, but sadly it works with native windows applications only. Thanks, Dirso.

          1 Reply Last reply
          0
          • L leppie

            .NET assemblies can be signed, that prevents tampering like this.

            xacc.ide - now with TabsToSpaces support
            IronScheme - 1.0 beta 1 - out now!
            ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))

            D Offline
            D Offline
            Dirso
            wrote on last edited by
            #5

            Looks like a nice solution... Let me see if I can work it out ;) Thank you so much!!! Dirso

            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