Sneaky Sneaky

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sneaky Sneaky

    We have a -government- customer that wants to buy our code so they can run the program themselves. We are using some code that we consider proprietary in nature (I.E. we developed internally how to obtain results that they seek) We want to hide that or lock their ability to understand what we do, as to retain other programs with said company - but out of good grace sell a program that is obsoleting so they may run it at their pleasure.

    What sort of sneaky sneaky tricks do you guys have to bury code deep?
    I was thinking of a pulling the code from a text file (have never done this). But I'm also not sure how robust that can be.

  • #2
    Well, at the end of the day, if they are good at what they do, there probably isn't a way for you to completely hide the code.

    If you pulled the data from a .txt file, their IT department (if they're worth their weight in salt) would be able to access it pretty easily.
    If you put it into a .exe file, they might not be able to access it, but I've got no idea how you would do that.

    Otherwise, you could obfuscate the code and make all of the names and such really hard to understand, which would only slow them down, if they decided to break it apart piece by piece...

    Why not upcharge the crap out of it with a bunch of copyright and such notices, saying that "we don't care what you do with this code, but don't reverse engineer it or we'll sue"?
    AFAIK that's why a lot of companies request this sort of thing, to cover their butts

    Comment


    • Kp61dude!
      Kp61dude! commented
      Editing a comment
      Where there's a will there's a way!

  • #3
    Originally posted by KyleB View Post
    We have a -government- customer that wants to buy our code so they can run the program themselves. We are using some code that we consider proprietary in nature (I.E. we developed internally how to obtain results that they seek) We want to hide that or lock their ability to understand what we do, as to retain other programs with said company - but out of good grace sell a program that is obsoleting so they may run it at their pleasure.

    What sort of sneaky sneaky tricks do you guys have to bury code deep?
    I was thinking of a pulling the code from a text file (have never done this). But I'm also not sure how robust that can be.
    They're probably just trying to buy the time savings by buying the work instead of developing it themselves. If you allow time to go you'd probably be out of a potential buy. Certainly something to think about but your creation is YOUR creation do as you wish with it.
    PcDmis 2015.1 SP10 CAD++
    Global 7-10-7 DC800S

    Comment


    • #4
      I don't think there's any way you can hide your code/algorithm - if PC-DMIS can run it, a human being can decode it. Period. All you can do is obscure, and that will not make any friends of that customer…

      Set the price tag to what you believe it (idea + programming + testing + verifying + profit?) is worth, and see if they'll pay.
      AndersI
      SW support - Hexagon Metrology Nordic AB

      Comment


      • KyleB
        KyleB commented
        Editing a comment
        Yeah, there's no doubt there. They will be made aware of the code being hidden if we do 'hide' it for that reason. On that note it has been a sensitive subject as we originally proposed a price for what you speak and we were scoffed at. I think the better route for next time would have just been that that program is not for sale, but we were afraid of that consequence... go figure.

      • AndersI
        AndersI commented
        Editing a comment
        Well, you always have to balance with "How much is that customer worth to us (in the long run)?". It may be you *need* that customer, in that case their price tag is the right one...

    • #5
      because posting about this on the internet is great idea!
      Ex-Hex

      Comment


      • KyleB
        KyleB commented
        Editing a comment
        Its a rabbit hole.

    • #6
      In my experience, if a customer wants the method of measurement to accept your product... I'd do whatever it takes to keep that customer, especially if it promotes consistent product acceptance and drawing interpretation.

      Aerospace is pushing Net-Inspect down everyone's throats for AS9102 FAIR's. This isn't a far stretch, to start demanding the measurement routine to be added to those net-inspect fairs submittals!

      You can call subs, use external alignments, use groups... implement difficult to attain or utilize probes or sensors (unique star probes or use custom-order probes)... But no matter how you skin the cat, DMIS is open-source code, that anyone with equivalent knowledge as you will be able to reverse engineer.
      Last edited by louisd; 04-09-2019, 03:22 PM.

      Comment


      • #7
        What do you consider "proprietary in nature"? I've had customers ask for the program in the past, but there are lines of code that useless to them (CMM logs for calculating run time, File Writes for importing to our check sheet system, DataPage code, etc), so I axe those out and leave the main code intact. IMHO, if you're trying to hide something from the customer because you're taking a shortcut to "make parts in spec", you are setting yourself up for failure and potentially a lawsuit if the component fails and causes an injury or fatality.
        Whatever a man sows, he shall reap.

        Comment


        • Kp61dude!
          Kp61dude! commented
          Editing a comment
          Ewwww that's no good!

        • KyleB
          KyleB commented
          Editing a comment
          bfire85, Absolutely not. I'm part of an accredited body and that would be a huge risk with minimal reward and completely conflict with the nature of our business. The answer is actually very simple. Radii with very minimal arc length inspect more repeatable as a profile. The data is 100% raw and real, we are calculating the radii as a deviation of profile from the fix radii center to make it repeatable (Small deviations on small arc length = huge calculation ranges for circles ). There is no shortcut, and IMHO it's actually a better way of defining the feature. They just don't know how to do it and don't do research. That's why I don't care that it's posted on the internet.. Just thought it was a fair ask.

        • bfire85
          bfire85 commented
          Editing a comment
          I get it. I do small radii in the same fashion. I was gearing towards "cheating the standard" to get a part to show in spec.

      • #8
        KyleB.

        This method you speak of isn't really proprietary in nature it's a fairly widely accepted method in the CMM world.

        The problem is described here



        Your solution (or in effect the same thing) is described here...

        Hexagon Manufacturing Intelligence’s online support centre, offering a range of services including access to our knowledge base, articles on tips & tricks, software downloads and much more.



        I believe the issue you have is that although yours is a more reliable method you've not actually have this okayed with your customer.
        Applications Engineer
        Hexagon UK

        Comment


        • KyleB
          KyleB commented
          Editing a comment
          No doubt, but to them it's proprietary. Our QM has the acceptance of methods that are reliable/repeatable as the standard. I.E. it's written into our standard that the customer accepts the methods we utilize under the assumption due diligence was utilized to ensure it's accuracy. This allows 'proprietary' information to be kept confidential. Whether proprietary in nature or not, I don't have to share my methods unless otherwise agreed upon - therefore everything is 'proprietary'.

          No doubt, otherwise. It's no real big secret.

      • #9
        Is it possible to have the "secret code" perform outside of PC-DMIS, ie. create an executable in Visual Basic that performs whatever stuff you want to hide and call that from within PC-DMIS??
        PC-DMIS CAD++ 2o22.2 SP3

        Comment


        • AndersI
          AndersI commented
          Editing a comment
          If you do it in VB.Net it's a piece of cake to transform the .exe back to source code and work out the algorithm.

          In general: If the computer can execute it, a human can see what instructions are executed and, with enough time spent, the algorithms used can be re-constructed. If it's worth the time is a completely different question...

        • vpt.se
          vpt.se commented
          Editing a comment
          Does VB.net have obfuscators? I know there are obfuscators for Java and .NET C, but if they exist for the VB flavour is unknown to me. I was thinking maybe apply obfuscation when compiling and perhaps pack/crypt it using an EXE packer/crypter...

        • InspectorJester
          InspectorJester commented
          Editing a comment
          If you can't auto-obfuscate the code, you could at least scramble a bunch of variable names and use some wonky construction & formatting to accomplish the same goal.
          There's no way to make it impenetrable, but you can certainly make it not worth the time

      Related Topics

      Collapse

      • Joe Zastrow
        CODE
        by Joe Zastrow
        Its not often that I get much time to try new methods of programming and if it wasn’t for the people on this site sharing methods they have learned...
        07-14-2006, 11:59 AM
      • John Kingston
        PC-DMIS to LK-DMIS
        by John Kingston
        Anyone here know how difficult this is? I know someone whose company uses LK-DMIS. Their customer sent them a PC-DMIS program. Is it possible to use any...
        01-22-2007, 12:34 PM
      • kinko
        Locking out Calibration
        by kinko
        Hey there. We have several CMMs that run 2010 MR3 and 2013 MR1. Five of our CMMs are all together and our sixth one, a Global Advantage, sits off by...
        07-23-2018, 01:33 PM
      Working...
      X