Author Topic: Protecting some MDG  (Read 1208 times)

adepreter

  • EA User
  • **
  • Posts: 97
  • Karma: +2/-2
    • View Profile
Protecting some MDG
« on: March 09, 2017, 08:47:32 pm »
If we want to make a product out of an MDG, what is the best way to protect it from reverse engineering?
- MDG as part of the database?
- MDG as part of an add-on?
- ...?
Thank you in advance
A.

Uffe

  • EA Practitioner
  • ***
  • Posts: 1274
  • Karma: +93/-8
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Protecting some MDG
« Reply #1 on: March 09, 2017, 09:21:06 pm »
Hello,


It's a question of how protected you want it, and from whom. Absolute protection is impossible.

There is no built-in EA function to reverse-engineer an MDG Technology file, which provides protection against the idly curious.
The file format is undocumented, which provides some additional protection against undetermined tinkerers.
But the format is pretty simple to work out, so there is no protection from someone who is sufficiently knowledgeable and/or determined.

So the highest level of protection you can implement I guess would be to distribute the MDG Technology in encrypted form as part of an Add-In and injecting it into the database directly when a project is opened, bypassing Repository.ImportTechnology() since that requires the MDG Technology to be located in an unencrypted file.

But that's still no protection against those with a detailed knowledge of EA.


/Uffe
My theories are always correct, just apply them to the right reality.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 8384
  • Karma: +202/-25
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Protecting some MDG
« Reply #2 on: March 10, 2017, 02:26:11 am »
The question is whether or not it is even worth protecting.
All of my work is open source, so everyone can use whatever scripts or addins I produce; where's the harm?

Making things open source even yielded more work (and thus profit) then trying to protect it.

Geert

Simon M

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 6418
  • Karma: +55/-6
    • View Profile
Re: Protecting some MDG
« Reply #3 on: March 10, 2017, 03:05:20 pm »
So the highest level of protection you can implement I guess would be to distribute the MDG Technology in encrypted form as part of an Add-In and injecting it into the database directly when a project is opened, bypassing Repository.ImportTechnology() since that requires the MDG Technology to be located in an unencrypted file.
Unencrypt the technology and return the resulting string to EA_OnInitializeTechnologies. The result is that it's never stored in a file, which is protection against everyone not used to debugging without the source code.
Simon

support@sparxsystems.com