Author Topic: Plug-in licensing  (Read 427 times)

0 Members and 1 Guest are viewing this topic.

LogicTools

  • Newt
  • Posts: 29
Plug-in licensing
« on: January 13, 2022, 10:07:15 AM »
I have been reading in this forum about licensing and various ways of linking the license to the user's hardware, like hard drive, motherboard, mac address, etc.
There are many examples in the forum of functions, mostly scripting ones, to obtain information of those different computer parts, even Bricscad has built-ins that get serials from hardware.
At the same time, I also read that some people are skeptic if those functions will always return a valid information.
Sharing your experiences on the subject will be greatly appreciated.
Thanks.

   

mhupp

  • Newt
  • Posts: 92
Re: Plug-in licensing
« Reply #1 on: January 13, 2022, 11:00:21 AM »
I wouldn't just rely on just one variable. no reason to combine them for a unique identifier.
mac address + username + LICKEY
So even if one is nil you will have something.

LogicTools

  • Newt
  • Posts: 29
Re: Plug-in licensing
« Reply #2 on: January 13, 2022, 05:33:36 PM »
Thanks mhupp. Sorry I was most of the day out and it took me a while to respond.
Yes I think that using more than one variable could be the way to go.
In your experience, has the mac address been reliable in returning a not nil value most of the times?

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 7238
  • AKA Daniel
Re: Plug-in licensing
« Reply #3 on: January 13, 2022, 07:31:15 PM »
It’s a real pain I tell ya! I’ve been researching the various app stores.

Autodesk has the Entitlement API, which is supercool from a developer’s perspective.
BricsCAD, well I think you need to pre upload keys, so I don’t see how to use hardware info like a MAC address.
Haven’t looked in depth at any of the other stores.

Keep it simple, I had one application that I went ballistic on, people are still using the software after 20 years, which is pretty crazy. I had a request to do an update after 15 years and I could not remember WTF I did, so yeah, I just ripped all the license stuff out.

Now I’m thinking just some encrypted key, like a song verse

Code - C: [Select]
  1. TmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5ldmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91
  2.  

Of course I'll use real encryption..

PS Bonus points if you can crack it
Retired

baitang36

  • Newt
  • Posts: 149
Re: Plug-in licensing
« Reply #4 on: January 13, 2022, 10:01:41 PM »
Itís a real pain I tell ya! Iíve been researching the various app stores.

Autodesk has the Entitlement API, which is supercool from a developerís perspective.
BricsCAD, well I think you need to pre upload keys, so I donít see how to use hardware info like a MAC address.
Havenít looked in depth at any of the other stores.

Keep it simple, I had one application that I went ballistic on, people are still using the software after 20 years, which is pretty crazy. I had a request to do an update after 15 years and I could not remember WTF I did, so yeah, I just ripped all the license stuff out.

Now Iím thinking just some encrypted key, like a song verse

Code - C: [Select]
  1. TmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5ldmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91
  2.  

Of course I'll use real encryption..

PS Bonus points if you can crack it
Code - Auto/Visual Lisp: [Select]
  1. VGhpcyBlbmNyeXB0aW9uIHVzZXMgdGhlIGJhc2U2NCBhbGdvcml0aG0g
« Last Edit: January 14, 2022, 12:05:40 AM by baitang36 »

mhupp

  • Newt
  • Posts: 92
Re: Plug-in licensing
« Reply #5 on: January 13, 2022, 10:11:04 PM »
In your experience, has the mac address been reliable in returning a not nil value most of the times?

I haven made anything for sale yet. only really date lock my programs about 6 months down the road. I think i saw something on here that you could look at a website or something to check if it was still active.

fyi

http://net-informations.com/q/mis/wmic.html
« Last Edit: January 13, 2022, 10:51:20 PM by mhupp »

baitang36

  • Newt
  • Posts: 149
Re: Plug-in licensing
« Reply #6 on: January 13, 2022, 10:17:04 PM »
I have been reading in this forum about licensing and various ways of linking the license to the user's hardware, like hard drive, motherboard, mac address, etc.
There are many examples in the forum of functions, mostly scripting ones, to obtain information of those different computer parts, even Bricscad has built-ins that get serials from hardware.
At the same time, I also read that some people are skeptic if those functions will always return a valid information.
Sharing your experiences on the subject will be greatly appreciated.
Thanks.

 
Read the hardware information and generate the registration code through a complex calculation. This is a very mature technology, and there are many programs in use. However, there is a problem with this method. Enter a false registration code arbitrarily, and the real registration code can be found in memory.

baitang36

  • Newt
  • Posts: 149
Re: Plug-in licensing
« Reply #7 on: January 13, 2022, 10:21:30 PM »
In your experience, has the mac address been reliable in returning a not nil value most of the times?

I haven made anything for sale yet. only really date lock my programs about 6 months down the road. I think i saw something on here that you could look at a website or something to check if it was still active.
I have developed a FAS encryption tool, which can protect the source code of LSP and prevent it from being decompiled. There is also a tool that can shell Fas files like EXE file encryption, which can package many layers of shells.
This file is shelled     http://www.theswamp.org/index.php?action=dlattach;topic=57309.0;attach=38931

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 7238
  • AKA Daniel
Re: Plug-in licensing
« Reply #8 on: January 13, 2022, 10:32:58 PM »
Itís a real pain I tell ya! Iíve been researching the various app stores.

Autodesk has the Entitlement API, which is supercool from a developerís perspective.
BricsCAD, well I think you need to pre upload keys, so I donít see how to use hardware info like a MAC address.
Havenít looked in depth at any of the other stores.

Keep it simple, I had one application that I went ballistic on, people are still using the software after 20 years, which is pretty crazy. I had a request to do an update after 15 years and I could not remember WTF I did, so yeah, I just ripped all the license stuff out.

Now Iím thinking just some encrypted key, like a song verse

Code - C: [Select]
  1. TmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5ldmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91
  2.  

Of course I'll use real encryption..

PS Bonus points if you can crack it
Code - Auto/Visual Lisp: [Select]
  1. VGhpcyBlbmNyeXB0aW9uIHVzZXMgdGhlIGJhc2U2NCBhbGdvcml0aG0g
Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Youíve been rick rolled buddy!  :-D
Retired

baitang36

  • Newt
  • Posts: 149
Re: Plug-in licensing
« Reply #9 on: January 14, 2022, 12:09:41 AM »
Itís a real pain I tell ya! Iíve been researching the various app stores.

Autodesk has the Entitlement API, which is supercool from a developerís perspective.
BricsCAD, well I think you need to pre upload keys, so I donít see how to use hardware info like a MAC address.
Havenít looked in depth at any of the other stores.

Keep it simple, I had one application that I went ballistic on, people are still using the software after 20 years, which is pretty crazy. I had a request to do an update after 15 years and I could not remember WTF I did, so yeah, I just ripped all the license stuff out.

Now Iím thinking just some encrypted key, like a song verse

Code - C: [Select]
  1. TmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5ldmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91
  2.  

Of course I'll use real encryption..

PS Bonus points if you can crack it
Code - Auto/Visual Lisp: [Select]
  1. VGhpcyBlbmNyeXB0aW9uIHVzZXMgdGhlIGJhc2U2NCBhbGdvcml0aG0g


Youíve been rick rolled buddy!  :-D
U29ycnksIEkgZG9uJ3QgdW5kZXJzdGFuZC4gTXkgRW5nbGlzaCBpcyBwb29yIA==

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 7238
  • AKA Daniel
Re: Plug-in licensing
« Reply #10 on: January 14, 2022, 01:06:17 AM »
Itís a real pain I tell ya! Iíve been researching the various app stores.

Autodesk has the Entitlement API, which is supercool from a developerís perspective.
BricsCAD, well I think you need to pre upload keys, so I donít see how to use hardware info like a MAC address.
Havenít looked in depth at any of the other stores.

Keep it simple, I had one application that I went ballistic on, people are still using the software after 20 years, which is pretty crazy. I had a request to do an update after 15 years and I could not remember WTF I did, so yeah, I just ripped all the license stuff out.

Now Iím thinking just some encrypted key, like a song verse

Code - C: [Select]
  1. TmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5ldmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91
  2.  

Of course I'll use real encryption..

PS Bonus points if you can crack it
Code - Auto/Visual Lisp: [Select]
  1. VGhpcyBlbmNyeXB0aW9uIHVzZXMgdGhlIGJhc2U2NCBhbGdvcml0aG0g


Youíve been rick rolled buddy!  :-D
U29ycnksIEkgZG9uJ3QgdW5kZXJzdGFuZC4gTXkgRW5nbGlzaCBpcyBwb29yIA==

It's just some old joke, no worries
Retired

It's Alive!

  • Retired
  • Needs a day job
  • Posts: 7238
  • AKA Daniel
Re: Plug-in licensing
« Reply #11 on: January 14, 2022, 05:12:14 AM »
so, you can use the entitlement API if you're selling your application on the auto desk store.

example
Code - Lisp: [Select]
  1. (defun c:doit ( / appid errobj msg res stat userid webobj)
  2.   (vl-load-com)
  3.   (setq appid (getstring T "\nEnter AppId To Test CheckEntitlement: "))
  4.   (setq userid (getvar "ONLINEUSERID"))
  5.   (setq msg (strcat "https://apps.exchange.autodesk.com/webservices/checkentitlement?userid=" userid "&appid=" userid))
  6.   (setq webObj nil stat nil res nil)
  7.   (setq webObj (vlax-invoke-method (vlax-get-acad-object) 'GetInterfaceObject "WinHttp.WinHttpRequest.5.1"))
  8.   (vlax-invoke-method webObj 'Open "GET" msg :vlax-false)
  9.   (setq errobj (vl-catch-all-apply 'vlax-invoke-method (list webObj 'Send)))
  10.   (if (null (vl-catch-all-error-p errobj))
  11.     (progn
  12.       (setq stat (vlax-get-property webObj 'Status))
  13.       (if (= stat 200)
  14.         (progn
  15.           (setq res (vlax-get-property webObj 'ResponseText))
  16.         )
  17.         (princ (strcat "\n!!! WEB server error: " (vlax-get-property webObj 'StatusText) "!!!"))
  18.       )
  19.     )
  20.     (princ (strcat "\n!!! WEB server error:\n" (vl-catch-all-error-message errobj)))
  21.   )
  22.   res
  23. )
  24.  

Code - C: [Select]
  1. Enter AppId To Test CheckEntitlement: appstore.exchange.autodesk.com:autodesk360:en
  2. "{\"UserId\":\"XXXXXXXXX\",\"AppId\":\"XXXXXXXXX\",\"IsValid\":false,\"Message\":\"Ok\"}"
  3.  

if I would have paid for autodesk360 on the Autodesk store, is valid would be true. pretty neato
Retired

fkyourmather

  • Mosquito
  • Posts: 1
Re: Plug-in licensing
« Reply #12 on: January 14, 2022, 07:41:32 AM »
hi buddy peace "R29kIGxvdmUgdSBhbGw="

Lee Mac

  • Seagull
  • Posts: 12599
  • London, England
Re: Plug-in licensing
« Reply #13 on: January 14, 2022, 08:23:38 AM »
Code - C: [Select]
  1. TmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAKTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duCk5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UKTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5Ck5ldmVyIGdvbm5hIHNheSBnb29kYnllCk5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91
  2.  
PS Bonus points if you can crack it

Code: [Select]
TVAgd291bGQgYmUgcHJvdWQ=

domenicomaria

  • Bull Frog
  • Posts: 302
Re: Plug-in licensing
« Reply #14 on: January 14, 2022, 08:43:30 AM »
Quote
VGhpcyBlbmNyeXB0aW9uIHVzZXMgdGhlIGJhc2U2NCBhbGdvcml0aG0g
Quote
R29kIGxvdmUgdSBhbGw=
Quote
TVAgd291bGQgYmUgcHJvdWQ=

I apologize for my great ignorance,
but ...

how do you calculate this code ?

and then how is it used to decrypt ?

is there no relation to what vl-string-translate does?

LogicTools

  • Newt
  • Posts: 29
Re: Plug-in licensing
« Reply #15 on: January 14, 2022, 09:03:25 AM »
Thank you guys!!
Since I check up yesterday I've seen that it has been a very lively conversation.
Quote
Autodesk has the Entitlement API, which is supercool from a developerís perspective.
BricsCAD, well I think you need to pre upload keys, so I donít see how to use hardware info like a MAC address.
Thank you Daniel. I had no idea that the Entitlement API existed!!
For what I read it allows you to also manage a subscription, so I suppose you can publish and let test free for a month and then manage an annual subscription.
Also thanks for your code.
That corroborates my idea of accessing the method with the "WinHttp.WinHttpRequest.5.1" object in lisp.
About the decryptions, absolutely not idea.
Thank you all guys, again.

VovKa

  • Swamp Rat
  • Posts: 1412
  • Ukraine
Re: Plug-in licensing
« Reply #16 on: January 14, 2022, 03:21:07 PM »
I apologize for my great ignorance,
but ...

how do you calculate this code ?

and then how is it used to decrypt ?

is there no relation to what vl-string-translate does?
it's base64

BIGAL

  • Swamp Rat
  • Posts: 891
  • 30 + years of using Autocad
Re: Plug-in licensing
« Reply #17 on: January 14, 2022, 11:16:31 PM »
Just a bit of old fashioned help we had a application with multiple lisps, testing was done un locked so you can use old fashioned DOS bat file to add a users key etc to all files then say make a fas.

copy serial.lsp+lisp1.lsp d:\\Serial\\lisp1.lsp
copy serial.lsp+lisp2.lsp d:\\Serial\\lisp2.lsp
and so on

so the serial.lsp would be edited for each user changing their key. All required files now have the serial key in them.
A man who never made a mistake never made anything

domenicomaria

  • Bull Frog
  • Posts: 302
Re: Plug-in licensing
« Reply #18 on: January 14, 2022, 11:26:55 PM »
Quote
it's base64

yes

i have seen

thank you

d2010

  • Bull Frog
  • Posts: 239
Re: Plug-in licensing
« Reply #19 on: January 15, 2022, 05:14:58 AM »
First problem. How to increase the sell  anything related to C.A.D on eBay.com (Dwg, LIn, Shx, LISP or Brx or ARX, Pat, Exe, Des, or Pdf)
Second problem, in my mind.  How to block the Hacker/s, for BAD-cracking the vlx?
Quote
it's base64
yes
How to transform this source into Dynamically-Integers with CPUCode-Of-Buyer-Lisp?
How to transform this source into Dynamically-Integers with CPUCode-Of-Buyer-Lisp?>!
How to transform this source into Dynamically-Integers with CPUCode-Of-Buyer-Lisp?>!
If you good good, ,good mathematician, then you help me
Code: [Select]
(defun dfn_enamk_circle(cen7 raza l97a color lt98 / $rr x y z ol lv isla l243 w ga el)
 (setq;;; If you need I attach original source of same routine inside the=Document.rtf
 ga nil
 ol (jc_lda28 (list "0x6C98:9760"  )
 w) (setq;|a000|;
 color (if (=  color nil) 256 color)) (setq;|a000|;
 lt98 (if (>  lt98 "") lt98 w)) (setq;|a000|;
 el (jc_lda28 (list "0x6C98:9821"  )) (setq;|a000|;
 l97a (if (>  l97a "") l97a (jc_lda28 (list "0x4E37:9846"  (Jc_cws02 393225)))
 isla (jc_lda28 (list "0x428D:9864"  "LAYER" l97a) (setq;|a000|;
 l97a (if (=  nil isla) "0" (jc_lda28 (list "0x624B:9891"  l97a T))) (setq;|a020|;
 x (car cen7)
 y (if x (jc_lda28 (list "0xB118:9931"  cen7) nil)
 z (if y (jc_lda28 (list "0x0DAC:9950"  cen7) nil)
 z (if (=  z nil) 0.0 z)) (if (and  x y z) (progn  (setq;|a67118177|;
 l243 (list (jc_lda28 (list "0x4DFA:10011"  0 "CIRCLE") (jc_lda28 (list "0x4DFA:10021"  6 lt98) (jc_lda28 (list "0x4DFA:10031"  8 (jc_lda28 (list "0x624B:10039"  l97a)) (list 10 x y z) (jc_lda28 (list "0x4DFA:10063"  40 raza))) (if (<  color 257) (setq;|a67118217|;
 l243 (jc_lda28 (list "0x2ABB:10088"  l243 (list (jc_lda28 (list "0x4DFA:10100"  62 color))))) (setq;|a000|;
 ga (jc_lda28 (list "0x2338:10117"  l243)) (princ ))) (setq;|a68289636|;
 $rr (if (=  ol (jc_lda28 (list "0x6C98:10142"  )) ga nil)))
$rr)
« Last Edit: January 15, 2022, 05:27:25 AM by d2010 »

baitang36

  • Newt
  • Posts: 149
Re: Plug-in licensing
« Reply #20 on: January 15, 2022, 09:49:36 AM »
copy serial.lsp+lisp1.lsp d:\\Serial\\lisp1.lsp
copy serial.lsp+lisp2.lsp d:\\Serial\\lisp2.lsp
and so on
copy /b serial.fas + lisp1.fas d:\\Serial\\lisp1.fas
This is also true

LogicTools

  • Newt
  • Posts: 29
Re: Plug-in licensing
« Reply #21 on: January 15, 2022, 10:19:00 AM »
Thanks BIGAL, baitang36.
That's is a nice strategy to protect lisp files.
In my case I will be using a VLX obviously exposed to bad-cracking as suggested by d2010.