67 Replies Latest reply on Oct 10, 2018 8:04 AM by ömür tokman

    Leaving Your Mark.........

    Dave Bear

      Hi Folks

       

      Since I can't say that I've ever seen this, I'm going to presume that the answer to this discussion is no. But me being me, I'm going to throw this out there anyway.

       

      Is it at all possible to leave (as the creator) a defining and obvious mark on a part. A mark, that if tampered with or deleted renders the part as useless.

      Yes, I know that most, if not all things in SolidWorks can be undone in some way or fashion. But I was wondering if there was something that could be implemented at the top of the feature tree that displays by default (no matter how big or small) and all lower features are thereby dependent on it. Then, if the initial feature (mark) is changed, it'll throw the model into chaos.

       

      Has anyone ever tried playing with anything like this?

       

      Dave.

        • Re: Leaving Your Mark.........
          Rubén Rodolfo Balderrama

          No I don't, but it seem like a copywright function, don't ya?

          • Re: Leaving Your Mark.........
            Wojciech Paterski

            So basically something like a watermark, i think something like that is in the student version of SW.

            But it's actually a good question.

            • Re: Leaving Your Mark.........
              John Stoltzfus

              Are you hearing any weird noises or gears slipping, if you are, it's from my end... 

               

              You got me thinking on this and I think there is a possibility.  Just off the top - Prior to starting a project you could add a sketch to the Assembly and have a sketch line or circle that could be a crucial link to the rest of the parts, change something and that sketch blows up. That link could be tied to a custom property that gets information for a macro that is running on your computer, or your custom property is connected to an excel file... 

               

              The Land of Fantasy is being looked at, could be awhile till discoveries are made, we need the experts of this, Macro writers and Thinkers......

                • Re: Leaving Your Mark.........
                  Dave Bear

                  John Stoltzfus wrote:

                   

                  Are you hearing any weird noises or gears slipping, if you are, it's from my end...

                   

                  You got me thinking on this and I think there is a possibility. Just off the top - Prior to starting a project you could add a sketch to the Assembly and have a sketch line or circle that could be a crucial link to the rest of the parts, change something and that sketch blows up. That link could be tied to a custom property that gets information for a macro that is running on your computer, or your custom property is connected to an excel file...

                   

                  The Land of Fantasy is being looked at, could be awhile till discoveries are made, we need the experts of this, Macro writers and Thinkers......

                   

                  Yeah, the gears need greasing this end I think.

                   

                  Dave.

                  • Re: Leaving Your Mark.........
                    John Wayman

                    John Stoltzfus wrote:

                     

                    Are you hearing any weird noises or gears slipping, if you are, it's from my end...

                     

                    You got me thinking on this and I think there is a possibility. Just off the top - Prior to starting a project you could add a sketch to the Assembly and have a sketch line or circle that could be a crucial link to the rest of the parts, change something and that sketch blows up. That link could be tied to a custom property that gets information for a macro that is running on your computer, or your custom property is connected to an excel file...

                     

                    The Land of Fantasy is being looked at, could be awhile till discoveries are made, we need the experts of this, Macro writers and Thinkers......

                     

                    I've worked with plenty of people who make models that blow up the instant you change anything! The difference is, it wasn't intentional...

                     

                     

                    John

                  • Re: Leaving Your Mark.........
                    Deepak Gupta

                    The feature creator name can not be changed (may be using some windows API but no direct way).

                    • Re: Leaving Your Mark.........
                      James Riddell

                      Dave Bear, I like the way you think. I read through Dan Pihlaja's link and that would at least be one way to force the tacit agreement. However, at the other end, they could always just remodel anyway I suppose.

                        • Re: Leaving Your Mark.........
                          James Riddell

                          Dave Bear, as Josh Brady implies, anything that can be done can be undone. If you are sending parasolid, step, etc. there isn't much you can do except maybe alter the header in the text file, IDK if that'd work. In SWX you could do a couple different things to 'pee on it' as it were, rename all the primary planes to 'Bear1, Bear2, & Bear3' then you'd see right off if someone modified it - or - create 3 new planes and use those for your sketches. Any modification should delete the constraint on the sketch, at least you'd know.

                        • Re: Leaving Your Mark.........
                          Josh Brady

                          I don't know of anything that can't be undone other than the Student mark.  I don't think you could effectively use standard SW functions to do this, because sorta the goal of the software development is to be able to fix unintentionally FUBAR'd models.  Even if you start with some kind of sketch or something, all the user has to do is delete the sketch.  Any relations will just break, but it's not going to destroy the model or alter geometry.  Everything will stay where it was, it'll just go underdefined.

                           

                          So basically, if you're looking for a way to put a "public" visible mark on your model that's indelible, I'm pretty sure there's absolutely no way.  You may be stuck with hiding your mark somewhere that only you know where it is.  That way people are unlikely to delete it, but you can find it later and say, "Aha!" (for all the good that will do)

                           

                          (Parenthetical remark regarding the effectiveness of saying "Aha!".... I really had to wrack my brain to remember where that came from, but I finally remembered... Chapter 7 of Milne's Winnie the Pooh, In Which Kanga and Baby Roo Come to the Forest, and Piglet Has a Bath.  Incidentally, and tangentially-relevant to discussion, is that I can't link to the story because it's still under Copyright...)

                           

                          You can create hidden custom properties that nobody can see using the DocumentManager API.  That would hide your "mark" such that people would be unlikely to find it unless they were really looking for it.  Still deletable if it's found.

                           

                          You can use API to hide a feature from visibility in the tree, but again, deletable if found.

                           

                          Another caveat... If you hide your mark (or even start the tree with it), anyone can say they just used your file as a template or something but all the work is theirs.  Your identifying mark would have to be at the end of the tree, sort of "sealing" it as saying "I did everything before this point"...

                          • Re: Leaving Your Mark.........
                            Jim Steinmeyer

                            Hum... a Bear wanting to leave his mark. Reach as high as you can and dig your finger nails in as you drag down.

                             

                             

                            • Re: Leaving Your Mark.........
                              David Matula

                              ok so we got this model that we downloaded that was close.  so to make a change to it to make it work you want it to blow up?

                               

                              that or you are trying to make models that you can share with others but don't trust that they will follow the NDS? So if they try and do anything to it boom it initiates the command for the computer that tells it to HALT AND CATCH FIRE.

                               

                              It has become so easy to reverse eng anything out there that people are betting on being able to make $$$ before they get found out.  Why they want to do that I don't know.

                              There are ways to protect your work for a while but once it goes international and someone in a country that does not care about any of the laws copy writes, trademarks, ect.

                              • Re: Leaving Your Mark.........
                                Kelvin Lamport

                                Dave Bear, can you expand on the reason for wanting this?
                                Are you sending parts out for machining, or just viewing, or ????

                                Would eDrawing files work for you ?

                                  • Re: Leaving Your Mark.........
                                    Dave Bear

                                    Kelvin Lamport wrote:

                                     

                                    Dave Bear, can you expand on the reason for wanting this?
                                    Are you sending parts out for machining, or just viewing, or ????

                                    Would eDrawing files work for you ?

                                     

                                    Hi Kelvin,

                                    Okay, so the original idea came to me because sometimes here in the forum we get people that ask for assistance and in certain cases they have indeed made attempts to resolve their own issues but I get the sense that even when you give them step-by-step guidance and they still insist that you attach your model that these are students who are less than enthusiastic about putting in some decent effort. Now where I can I like to help people in the forum, I received more than my fare share of it, but I believe in helping those that are willing to help themselves. It's not always easy to pick who's a slack student and who's not. So.... I was thinking that worse case scenario, if you gave them a resolved model but it was 'marked' they would have to at the very least go through your feature tree and reproduce what you have done. They could not just submit your model. I mean how many lecturer's/teacher's would (time permitting) check the properties of a students submission to see if they really created it?

                                     

                                    Dave.

                                      • Re: Leaving Your Mark.........
                                        Neville Williams

                                        ... "but I get the sense that even when you give them step-by-step guidance and they still insist that you attach your model that these are students who are less than enthusiastic about putting in some decent effort"

                                         

                                        I dunno Dave. I think anyway you slice it, by giving away the file, it's open season.

                                        Some of these "less than enthusiastic" people might surprise you on their enthusiastic ability to crack any protection !! Someone who really wants to copy can step thru FM and recreate the model as well.

                                        I think the best way to play it, is do what Paul Salvador and many others here do (btw offering their time and knowledge freely) - by giving them a screen shot or 2 and a brief description of the approach taken to achieve a result with a few hints thrown in.

                                    • Re: Leaving Your Mark.........
                                      Artem Taturevych

                                      Hi Dave,

                                       

                                      See if attached model works for you. Please see the video demonstration in the attachment. Let me know if that suits you and I will explain how to do this.

                                       

                                      Thanks,

                                      Artem

                                      • Re: Leaving Your Mark.........
                                        Ned Hutchinson

                                        Damm

                                        cant change dave's model watermark,

                                        2018-10-09 09_42_55-SOLIDWORKS 2018 x64 Edition - [water_mark.SLDPRT].png

                                        If you delete all the features you could have this as template

                                         

                                        2018-10-09 09_47_43-SOLIDWORKS 2018 x64 Edition - [water_mark.SLDPRT _].png

                                        • Re: Leaving Your Mark.........
                                          ömür tokman

                                          interesting idea Dave ...

                                          The benefits of retirement.

                                          there is a lot of time to think.

                                           

                                          Yes it is very nice.

                                          2018-10-09_13-04-40.png

                                          but I prefer a flipagram.

                                          I have never had a mokro experience for SW, but I use a lot of macro in excel.

                                          Because of you I started to wonder about the macro.

                                          I want to start the macro trials after today.

                                          thank you so much Master DAVE.....

                                          • Re: Leaving Your Mark.........
                                            Artem Taturevych

                                            Hi,

                                             

                                            Here I have published the detailed instruction of how to add this watermark feature: Add Watermark Feature

                                             

                                            I did some testing (not too extensive) trying to break it and I was only able to corrupt it (so it doesn't show the specified message and can be renamed) but it still cannot be deleted. Furthermore this has required some deliberate actions to corrupt the feature which for me in some cases yields to crash, rebuild error - or sometimes no errors, but still feature cannot be deleted. So still model will have a 'footprint'.

                                             

                                            We might want another SWPUC by Alin Vargatu to see if we can 'bulletproof' the solution or someone can find a way to hack it :-)

                                             

                                            Please let me know if you have any questions. I will record the video tomorrow or so showing the steps and update the article.

                                             

                                            Thanks,
                                            Artem

                                              • Re: Leaving Your Mark.........
                                                Rubén Rodolfo Balderrama

                                                Good to ear that buddy!

                                                • Re: Leaving Your Mark.........
                                                  ömür tokman

                                                  This is very good.

                                                  Artem Taturevych wrote:

                                                   

                                                  Hi,

                                                   

                                                  Here I have published the detailed instruction of how to add this watermark feature: Add Watermark Feature

                                                   

                                                   

                                                  Thank you so much Mr. Artem Taturevych

                                                  I have a lot to learn from you.

                                                  • Re: Leaving Your Mark.........
                                                    John Stoltzfus

                                                    Artem Taturevych -  I usually "think" I can modify a macro, but I got stuck here...

                                                     

                                                    • Re: Leaving Your Mark.........
                                                      Josh Brady

                                                      Artem Taturevych wrote:

                                                       

                                                      Hi,

                                                       

                                                      Here I have published the detailed instruction of how to add this watermark feature: Add Watermark Feature

                                                       

                                                      I did some testing (not too extensive) trying to break it and I was only able to corrupt it (so it doesn't show the specified message and can be renamed) but it still cannot be deleted. Furthermore this has required some deliberate actions to corrupt the feature which for me in some cases yields to crash, rebuild error - or sometimes no errors, but still feature cannot be deleted. So still model will have a 'footprint'.

                                                       

                                                      We might want another SWPUC by Alin Vargatu to see if we can 'bulletproof' the solution or someone can find a way to hack it :-)

                                                       

                                                      Please let me know if you have any questions. I will record the video tomorrow or so showing the steps and update the article.

                                                       

                                                      Thanks,
                                                      Artem

                                                      As far as hacking it goes.... Supa simple.  Here it is with watermark removed.

                                                       

                                                      NVM... I missed the "fixed" version...

                                                        • Re: Leaving Your Mark.........
                                                          Dave Bear

                                                          Josh Brady wrote:

                                                           

                                                          Artem Taturevych wrote:

                                                           

                                                          Hi,

                                                           

                                                          Here I have published the detailed instruction of how to add this watermark feature: Add Watermark Feature

                                                           

                                                          I did some testing (not too extensive) trying to break it and I was only able to corrupt it (so it doesn't show the specified message and can be renamed) but it still cannot be deleted. Furthermore this has required some deliberate actions to corrupt the feature which for me in some cases yields to crash, rebuild error - or sometimes no errors, but still feature cannot be deleted. So still model will have a 'footprint'.

                                                           

                                                          We might want another SWPUC by Alin Vargatu to see if we can 'bulletproof' the solution or someone can find a way to hack it :-)

                                                           

                                                          Please let me know if you have any questions. I will record the video tomorrow or so showing the steps and update the article.

                                                           

                                                          Thanks,
                                                          Artem

                                                          As far as hacking it goes.... Supa simple. Here it is with watermark removed.

                                                           

                                                          NVM... I missed the "fixed" version...

                                                           

                                                          Are you now trying to destroy the "fixed" version Josh? Let me know if you find any weaknesses please.

                                                           

                                                          Dave.

                                                            • Re: Leaving Your Mark.........
                                                              Josh Brady

                                                              Fixed version is pretty tough.

                                                               

                                                              As far as I can tell, when you open the file it dumps a copy of the macro feature code into the Temp folder of your AppData.  It then reads the code from there into memory and runs it.

                                                               

                                                              You can't delete the temporary .swp file because it's locked by SW.  You can edit it and save it with a hex editor, but that doesn't do any good because SW has already read the code into memory and runs it from there.  I can't find a way to make it go back and read the temp file again.

                                                               

                                                              If you disable VBA by renaming folder in Microsoft Shared and then open the file, you just get a message that the .swp can't be read, and you can't modify the file in any way.  If you fix the VBA folder name while SW is still open, it doesn't work.  Probably because SW does some initializing of VBA at startup, and if it failed at startup it just gives up.

                                                               

                                                              Can't disable VBA by renaming the folder while SW is running - sharing violation.

                                                               

                                                              Remaining possible approaches (as I see it):

                                                              Figure out some way to disable VBA mid-program (maybe fiddling with the registry?  Kinda risky...)

                                                              Figure out how to intercept the temporary macro as it's being written to the temp file and replace it before VBA reads it in. (no idea how to do that though)

                                                          • Re: Leaving Your Mark.........
                                                            Dave Bear

                                                            Artem Taturevych wrote:

                                                             

                                                            Hi,

                                                             

                                                            Here I have published the detailed instruction of how to add this watermark feature: Add Watermark Feature

                                                             

                                                            I did some testing (not too extensive) trying to break it and I was only able to corrupt it (so it doesn't show the specified message and can be renamed) but it still cannot be deleted. Furthermore this has required some deliberate actions to corrupt the feature which for me in some cases yields to crash, rebuild error - or sometimes no errors, but still feature cannot be deleted. So still model will have a 'footprint'.

                                                             

                                                            We might want another SWPUC by Alin Vargatu to see if we can 'bulletproof' the solution or someone can find a way to hack it :-)

                                                             

                                                            Please let me know if you have any questions. I will record the video tomorrow or so showing the steps and update the article.

                                                             

                                                            Thanks,
                                                            Artem

                                                             

                                                            Hi Artem,

                                                            Thank you so much for doing this. I'm sure this wouldn't have been high on your agenda so I appreciate the time and effort you've put into creating it.

                                                             

                                                            Dave.

                                                          • Re: Leaving Your Mark.........
                                                            Glenn Schroeder

                                                            Dave,

                                                             

                                                            I can understand, and agree with, your concern that students turn in models they were given here, but in general I think we're pretty good about showing them how to do something instead of doing it for them.  In any case, as I believe was mentioned here earlier, when you right-click on a feature and choose "Feature Properties" it shows who created the feature.  As far as I know that can't be edited, so it should work if the instructor checks.  If they delete all features in a model and re-create them, at least they've learned something, even if they didn't figure out how to do it themselves.

                                                             

                                                            • Re: Leaving Your Mark.........
                                                              Roland Schwarz

                                                              I've seen a lot of work that is halfway there: models that are just plain useless from the start.

                                                              • Re: Leaving Your Mark.........
                                                                Artem Taturevych

                                                                Hi All,

                                                                 

                                                                The latest update. I was finally able to crack this macro. It is thought not that straightforward but still possible (as pretty much with any software). This is possible due to a specific workflow SOLIDWORKS follows to work with macro feature which is not possible to workaround from my end. I guess this can be reported as a bug to SOLIDWORKS and might be fixed in future. But to crack it, the knowledge of programming, system and macro feature is required. I still not able to find a way to crack it from the User Interface.

                                                                 

                                                                Thanks,
                                                                Artem

                                                                  • Re: Leaving Your Mark.........
                                                                    Dave Bear

                                                                    Artem Taturevych wrote:

                                                                     

                                                                    Hi All,

                                                                     

                                                                    The latest update. I was finally able to crack this macro. It is thought not that straightforward but still possible (as pretty much with any software). This is possible due to a specific workflow SOLIDWORKS follows to work with macro feature which is not possible to workaround from my end. I guess this can be reported as a bug to SOLIDWORKS and might be fixed in future. But to crack it, the knowledge of programming, system and macro feature is required. I still not able to find a way to crack it from the User Interface.

                                                                     

                                                                    Thanks,
                                                                    Artem

                                                                     

                                                                    Good morning Artem

                                                                    So I'm thinking at this stage that the average user wouldn't have the knowledge to erase/remove the "fixed" version which is what you've supplied the link to, would this be correct?

                                                                    If so, I'll go with that.

                                                                     

                                                                    Dave.

                                                                      • Re: Leaving Your Mark.........
                                                                        Artem Taturevych

                                                                        Hi Dave,

                                                                         

                                                                        It will require the knowledge of SOLIDWORKS API, macro features and some high end language like C# or Windows API. Furthermore the break is possible through the undocumented behaviour - so this information won't be available anywhere and may change. You can make it even more problematic by obfuscating the module name in your Watermark macro (not the one which is inserted, but the one which is embedded).

                                                                        I would say the time required for research of how to break it won't worth the efforts for the person who is doing this - and just reverse engineering of the SOLIDWORKS model or assembly might be an easier and quicker option. unless, of course, the crack will be published somewhere online as the same steps will apply to all watermarks form all users.

                                                                         

                                                                        So as a protection layer for 99% of cases this should be good enough. I would not use this to secure some critical information, but if that is required the only option would be to use eDrawings or an add-in.

                                                                         

                                                                        The add-in would encrypt the model and will require the installation on all target user machines to open this file, but even there - I'm sure there will be a loophole to crack it.

                                                                         

                                                                        Thanks,

                                                                        Artem

                                                                    • Re: Leaving Your Mark.........
                                                                      Artem Taturevych

                                                                      Thank you all for the feedback and time playing with the macro. I have made some improvements to add a non-editable and non-deletable note to be inserted at the origin. I have updated the original article and uploaded a short demonstration video in there.

                                                                       

                                                                      As I have previously mentioned I have managed to break it. I won't share the crack in here by obvious reasons but I'm happy to share it via PM if anyone in this thread is interested. I would appreciate if this is not shared publically though. I believe we might just report this to SW as this should be relatively simple fix from the core - and it cannot be fixed from API unfortunately.