Author Topic: Protect Lisp Using Motherboard Serial key  (Read 2571 times)

0 Members and 1 Guest are viewing this topic.

sandunmadushan

  • Mosquito
  • Posts: 1
Protect Lisp Using Motherboard Serial key
« on: September 14, 2021, 02:59:47 AM »
Hello. i have this lisp for protect lisp by using motherboard serial  key. but have some issue with that. if any one can fix that code.
thank you.

VovKa

  • Water Moccasin
  • Posts: 1626
  • Ukraine
Re: Protect Lisp Using Motherboard Serial key
« Reply #1 on: September 14, 2021, 08:43:13 AM »
it is not clear what are you to trying to protect

BIGAL

  • Swamp Rat
  • Posts: 1398
  • 40 + years of using Autocad
Re: Protect Lisp Using Motherboard Serial key
« Reply #2 on: September 14, 2021, 10:50:08 PM »
I have used this with multiple lisps in old days with protect you now use FAS. It is a simple method of having your getserialnumber and a variable with that number in a small lisp

Code: [Select]
(defun MAINBOARDSERIAL ( /  ITEM METH1 METH2 S SERX WMI) ;MOTHER BORD
(VL-LOAD-COM )
(setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
(setq METH1 (vlax-invoke WMI 'CONNECTSERVER NIL NIL NIL NIL NIL NIL NIL NIL))
(setq METH2 (vlax-invoke METH1 'EXECQUERY "select SerialNumber from Win32_BaseBoard"))
(setq S 
                     (vlax-for ITEM METH2
                        (progn 
                        (setq SERX (LIST (vlax-get ITEM 'SERIALNUMBER)))
                              (LIST (vlax-get ITEM 'SERIALNUMBER))
                           )
   )
)
(vlax-release-object METH1)
(vlax-release-object METH2)
(vlax-release-object WMI)
(if (= "123456789" s)
(princ "all ok")
(progn
(alert "Incorrect serial number please contact Santa Clause for correct number\n will now exit)")(EXIT)
)
)

)

Ok now for the smart part and you have to be old and know dos you can do the following at cmd line

COPY PROTECT.lsp+mylisp1.lsp C:\newlisps\Mylisp1.lsp

so this will add the protect.lsp at the start of the code, then do a lisp compile to FAS.

You can batch run all your lisps
COPY PROTECT.lsp+mylisp1.lsp C:\newlisps\Mylisp1.lsp
COPY PROTECT.lsp+mylisp2.lsp C:\newlisps\Mylisp2.lsp
COPY PROTECT.lsp+mylisp3.lsp C:\newlisps\Mylisp3.lsp

(VL-LOAD-COM)
(setq loads (list "Lisp1" "Lisp2" "Lisp3"))
(setq loc1 "F:\\") ;;change dirs to where ever you want them saved
(setq loc2 "F:\\Compiled Lisp\\")
(foreach lisp loads
(vlisp-compile 'st (strcat loc1 lisp ".lsp") (strcat loc2 lisp ".fas"))
)

A man who never made a mistake never made anything

d2010

  • Bull Frog
  • Posts: 323
Re: Protect Lisp Using Motherboard Serial key
« Reply #3 on: September 22, 2021, 04:02:23 AM »
it is not clear what are you to trying to protect
First problem----- You must export all TEXTs, to external file (hanssan.lng), from Lisp2Lng
Full-automatically
Code: [Select]
001="\nEnd"
002="SNAPANG"
003="\nFirst point of polyline: "
004="\nNext point of polyline"
005="\nEnter nextangle [11.25/22.5/45.0/60.0/90.0/eXit/Red/Magenta/Plinedo]"
006="\nGet-Default.Angle="
007="\n[Clockwise/Anti-clockwise/Viewctr?"
008="USERR1"
009="(1)"
010="ORTHOMODE"
011="[012469XRYMP]"
012="[126]"
013="[CA]"
014=")="
015="[YN]"
016="\nBold.Shx[Yes/No/About]?"
017="STR"
018="REAL"
019="LUPREC"
020="a207errorB<>Str"
021="a207errorA "
022=">:"
023="SETVAR"
024="GETVAR"
025="\nT469error<>Str:"
026="VIEWCTR"
You convert (jc_lda18 to C# and DLL.
You encrypte all indexOf-Texts
--(e.g38=indexofText @jc_cws12 38 24)
--(e.g05-IndexOfText @jc_cws12 05 7)
 and call-names with two-serial- number (e.g. CPuid+hdd) you wtil got TopEncryptor+serial.

Code: [Select]
(Defun nn_vmload( / $rr p_n p_o dyn ang dma lhz ana lpt clock ppo idx item points ogg old love lpt ppt)
 (setq;|a000=I extract all TEXT-s to "pp_cadaschtroumpf_makepline_.ini"|;
ogg (jc_cws12 5 7)
dma (list (jc_cws12 12 27) (jc_cws12 38 24) (jc_cws12 61 70) (jc_cws12 130 20) (jc_cws12 149 36))) (jc_lda18 "24D7" (list 8)) (setq;|a000|;
ana (jc_lda18 "40FE" (list (nth 3 dma) (jc_lda18 "4E37" (list (jc_cws12 184 6)))))) (jc_lda18 "24D7" (list 8)) (setq;|a000|;
p_o (jc_lda18 "A3DF" (list (nth 0 dma)))) (jc_lda18 "24D7" (list 8)) (setq;|a000|;
p_n (jc_lda18 "A3DF" (list p_o (strcat (nth 1 dma) (jc_cws12 190 3))))) (setq;|a000|;
ang (jc_lda18 "EC47" (list p_o p_n))) (setq;|a000|;
lhz (list ana 11.25 22.5 "3" 45.0 "5" 60.0 "7" "8" 90.0)) (setq;|a000|;
love (list ogg (jc_cws12 193 9) (jc_cws12 185 6))
Bold.Shx (jc_lda18 "8C77" (list love (list ang 1 ana)))) (jc_lda18 "898A" (list)) (setq;|a000|;
lpt (list p_n p_o)) (setq;|a000|;
ppo p_n) (setq;|a000|;
dyn "0") (progn (setq;|a000|;
idx 2) (while (/= dyn "X") (progn  (jc_lda18 "5D0D" (list lpt 1)) (setq;|a000|;
clock "") (setq;|a000|;
dyn (jc_lda18 "E6D1" (list (jc_cws12 202 13) (nth 2 dma)))) (if (=  dyn "0") (setq;|a000|;
ang (jc_lda18 "4E37" (list (jc_cws12 185 6)))) (if (=  dyn "1") (setq;|a000|;
ang (nth 1 lhz)))) (if (=  dyn "2") (setq;|a000|;
ang (nth 2 lhz))) (if (=  dyn "4") (setq;|a000|;
ang (nth 4 lhz))) (if (=  dyn "6") (setq;|a000|;
ang (nth 6 lhz))) (if (=  dyn "9") (setq;|a000|;
ang (nth 9 lhz))) (if (=  dyn "R") (jc_lda18 "5D0D" (list lpt "1")) (if (=  dyn "M") (jc_lda18 "5D0D" (list lpt "6")) (if (=  dyn "P") (jc_lda18 "C4A3" (list lpt)) (setq;|a000|;
clock (if (jc_lda18 "46CA" (list dyn (jc_cws12 215 5))) (jc_lda18 "E6D1" (list (jc_cws12 220 4) (nth 4 dma))) "0"))))) (if (/= clock "0") (progn  (if (=  clock "C") (setq;|a000|;
ang (/ (* ang pi) 180.0)) (if (=  clock "A") (setq;|a000|;
ang (/ (* ang (- 0 pi)) 180.0)))))) (jc_lda18 "1C2B" (list (jc_cws12 6 7) (+ (jc_lda18 "4E37" (list (jc_cws12 6 7))) ang))) (setq;|a000|;
ppt (jc_lda18 "A3DF" (list ppo (strcat (jc_lda18 "B118" (list dma)) "(" (itoa idx) (jc_cws12 224 2))))) (setq;|a000|;
lpt (if ppt (jc_lda18 "4DFA" (list ppt lpt)) lpt)
idx (+ idx (if ppt 1 0))) (setq;|a000|;
ppo (if ppt ppt ppo))))) (setq;|a000|;
dyn (jc_lda18 "E6D1" (list (jc_cws12 226 4) (jc_cws12 230 25)))) (if (=  dyn "Y") (jc_lda18 "8C77" (list love Bold.Shx)) (if (=  dyn "A") (jc_lda18 "6E00" (list readme.txtr))))
$rr)


Code - Auto/Visual Lisp: [Select]
  1. (Defun nn_vmload( / $rr p_n p_o dyn ang dma lhz ana lpt clock ppo idx item points ogg old love lpt ppt)
  2.  (setq;|a000=You see same defun in NativeLanguage in VLISP|;
  3.          ogg "SNAPANG"
  4.          dma (list "\nFirst point of polyline: " "\nNext point of polyline" "\nEnter nextangle [11.25/22.5/45.0/60.0/90.0/eXit/Red/Magenta/Plinedo]" "\nGet-Default.Angle=" "\n[Clockwise/Anti-clockwise/Viewctr?")) (initget 8) (setq;|a000|;
  5.          ana (dfn_getx_real (nth 3 dma) (getvar "USERR1"))) (initget 8) (setq;|a000|;
  6.          p_o (getpoint (nth 0 dma))) (initget 8) (setq;|a000|;
  7.          p_n (getpoint p_o (strcat (nth 1 dma) "(1)"))) (setq;|a000|;
  8.          ang (angle p_o p_n)) (setq;|a000|;
  9.          lhz (list ana 11.25 22.5 "3" 45.0 "5" 60.0 "7" "8" 90.0)) (setq;|a000|;
  10.          love (list ogg "ORTHOMODE" "USERR1")
  11.          Bold.Shx (syst_mapvars love (list ang 1 ana))) (vl_load_com) (setq;|a000|;
  12.          lpt (list p_n p_o)) (setq;|a000|;
  13.          ppo p_n) (setq;|a000|;
  14.          dyn "0") (progn (setq;|a000|;
  15.          idx 2) (while (/= dyn "X") (progn  (dfn_grdraw_listpoint lpt 1) (setq;|a000|;
  16.          clock "") (setq;|a000|;
  17.          dyn (dfn_getx_readkey "[012469XRYMP]" (nth 2 dma))) (if (=  dyn "0") (setq;|a000|;
  18.          ang (getvar "USERR1")) (if (=  dyn "1") (setq;|a000|;
  19.          ang (nth 1 lhz)))) (if (=  dyn "2") (setq;|a000|;
  20.          ang (nth 2 lhz))) (if (=  dyn "4") (setq;|a000|;
  21.          ang (nth 4 lhz))) (if (=  dyn "6") (setq;|a000|;
  22.          ang (nth 6 lhz))) (if (=  dyn "9") (setq;|a000|;
  23.          ang (nth 9 lhz))) (if (=  dyn "R") (dfn_grdraw_listpoint lpt "1") (if (=  dyn "M") (dfn_grdraw_listpoint lpt "6") (if (=  dyn "P") (nn_vmcall lpt) (setq;|a000|;
  24.          clock (if (wcmatch dyn "[126]") (dfn_getx_readkey "[CA]" (nth 4 dma)) "0"))))) (if (/= clock "0") (progn  (if (=  clock "C") (setq;|a000|;
  25.          ang (/ (* ang pi) 180.0)) (if (=  clock "A") (setq;|a000|;
  26.          ang (/ (* ang (- 0 pi)) 180.0)))))) (setvar "SNAPANG" (+ (getvar "SNAPANG") ang)) (setq;|a000|;
  27.          ppt (getpoint ppo (strcat (cadr dma) "(" (itoa idx) ")="))) (setq;|a000|;
  28.          lpt (if ppt (cons ppt lpt) lpt)
  29.          idx (+ idx (if ppt 1 0))) (setq;|a000|;
  30.          ppo (if ppt ppt ppo))))) (setq;|a000|;
  31.          dyn (dfn_getx_readkey "[YN]" "\nBold.Shx[Yes/No/About]?")) (if (=  dyn "Y") (syst_mapvars love Bold.Shx) (if (=  dyn "A") (alert readme.txtr)))
  32. $rr)
  33.  
You insert any SErial (cpu, motherboard) ininside(jc_ldc31 "0x24D7") .

Code - Text: [Select]
  1. (Defun nn_vmload( / $rr p_n p_o dyn ang dma lhz ana lpt clock ppo idx item points ogg old love lpt ppt)
  2.  (setq;|a000=You see encrypted DefunNames but with all TEXT-s|;
  3.          ogg "SNAPANG"
  4.          dma (list "\nFirst point of polyline: " "\nNext point of polyline" "\nEnter nextangle [11.25/22.5/45.0/60.0/90.0/eXit/Red/Magenta/Plinedo]" "\nGet-Default.Angle=" "\n[Clockwise/Anti-clockwise/Viewctr?")) (jc_ldc31 "0x24D7:C001" (list 8) (setq;|a000|;
  5.          ana (jc_ldc31 "0x40FE:C002" (list (nth 3 dma) (jc_ldc31 "0x4E37:C003" (list "USERR1"))) (jc_ldc31 "0x24D7:C004" (list 8) (setq;|a000|;
  6.          p_o (jc_ldc31 "0xA3DF:C005" (list (nth 0 dma))) (jc_ldc31 "0x24D7:C006" (list 8) (setq;|a000|;
  7.          p_n (jc_ldc31 "0xA3DF:C007" (list p_o (strcat (nth 1 dma) "(1)"))) (setq;|a000|;
  8.          ang (jc_ldc31 "0xEC47:C008" (list p_o p_n)) (setq;|a000|;
  9.          lhz (list ana 11.25 22.5 "3" 45.0 "5" 60.0 "7" "8" 90.0)) (setq;|a000|;
  10.          love (list ogg "ORTHOMODE" "USERR1")
  11.          Bold.Shx (jc_ldc31 "0x8C77:C009" (list love (list ang 1 ana))) (jc_ldc31 "0x898A:C010" (list) (setq;|a000|;
  12.          lpt (list p_n p_o)) (setq;|a000|;
  13.          ppo p_n) (setq;|a000|;
  14.          dyn "0") (progn (setq;|a000|;
  15.          idx 2) (while (/= dyn "X") (progn  (jc_ldc31 "0x5D0D:C011" (list lpt 1) (setq;|a000|;
  16.          clock "") (setq;|a000|;
  17.          dyn (jc_ldc31 "0xE6D1:C012" (list "[012469XRYMP]" (nth 2 dma))) (if (=  dyn "0") (setq;|a000|;
  18.          ang (jc_ldc31 "0x4E37:C013" (list "USERR1")) (if (=  dyn "1") (setq;|a000|;
  19.          ang (nth 1 lhz)))) (if (=  dyn "2") (setq;|a000|;
  20.          ang (nth 2 lhz))) (if (=  dyn "4") (setq;|a000|;
  21.          ang (nth 4 lhz))) (if (=  dyn "6") (setq;|a000|;
  22.          ang (nth 6 lhz))) (if (=  dyn "9") (setq;|a000|;
  23.          ang (nth 9 lhz))) (if (=  dyn "R") (jc_ldc31 "0x5D0D:C014" (list lpt "1") (if (=  dyn "M") (jc_ldc31 "0x5D0D:C015" (list lpt "6") (if (=  dyn "P") (jc_ldc31 "0xC4A3:C016" (list lpt) (setq;|a000|;
  24.          clock (if (jc_ldc31 "0x46CA:C017" (list dyn "[126]") (jc_ldc31 "0xE6D1:C018" (list "[CA]" (nth 4 dma)) "0"))))) (if (/= clock "0") (progn  (if (=  clock "C") (setq;|a000|;
  25.          ang (/ (* ang pi) 180.0)) (if (=  clock "A") (setq;|a000|;
  26.          ang (/ (* ang (- 0 pi)) 180.0)))))) (jc_ldc31 "0x1C2B:C019" (list "SNAPANG" (+ (jc_ldc31 "0x4E37:C020" (list "SNAPANG") ang)) (setq;|a000|;
  27.          ppt (jc_ldc31 "0xA3DF:C021" (list ppo (strcat (jc_ldc31 "0xB118:C022" (list dma) "(" (itoa idx) ")="))) (setq;|a000|;
  28.          lpt (if ppt (jc_ldc31 "0x4DFA:C023" (list ppt lpt) lpt)
  29.          idx (+ idx (if ppt 1 0))) (setq;|a000|;
  30.          ppo (if ppt ppt ppo))))) (setq;|a000|;
  31.          dyn (jc_ldc31 "0xE6D1:C024" (list "[YN]" "\nBold.Shx[Yes/No/About]?")) (if (=  dyn "Y") (jc_ldc31 "0x8C77:C025" (list love Bold.Shx) (if (=  dyn "A") (jc_ldc31 "0x6E00:C026" (list readme.txtr)))
  32. $rr)
  33.  

Code - Auto/Visual Lisp: [Select]
  1. #region
  2. nn_vmload
  3.  
  4. (defun nn_vmload( / rip $ef $ef $l1 $l3 ac1 ac2 espilon exx loopde nop ada pde ele elc elf ac3 blc cc1 cc3 cec stc)
  5. /*c2s:
  6.        cec=0,
  7.        cc1=1,
  8.        cc3=3,
  9.        dyn="CICLERAD",
  10.        epsilon=dfn_getx_real("\nGet EpsiLon=",getvar(dyn)),
  11.        epsilon=abs(epsilon),
  12.        epison=(epsilon<0.003)?0.780209:epsilon;
  13.        for(ac1=getvar("VIEWCTR");dyn!="N";cec=1-cec)
  14.           { $eg=nil,
  15.             stc=nil,
  16.             nop=nil,
  17.             ac2=nil,
  18.             $l1=0,
  19.             $l3=0,
  20.             ac1=getpoint("\ngetStartPoint:");
  21.             if (ac1==nil)
  22.                 loopde=dfn_ssg_tolistvla(ssget("X")),
  23.                 nop=foreach(pde,car(loopde),vla.put_color(pde,7)),
  24.                 nop=vla.Regen(con_acdoc,acAllViewports);
  25.               else ac2=getpoint(ac1,"\ngetEndPoint:");
  26.             if (ac1!=nil)
  27.                  $ef=dfn_ssgx_blockeatpoint("LINE",10,epsilon,ac1),
  28.                  $l1=dfn_ssg_len($ef);
  29.             if (ac2!=nil)
  30.                       $eg=dfn_ssgx_blockeatpoint("LINE",11,epsilon,ac2),
  31.                       $l3=dfn_ssg_len($eg);
  32.             if (acor(ac1,ac2))
  33.                 { stc=str_princ(list("\n$l1=[",$l1,"]\t$l3=[",$l3,"]"));
  34.                   cc1=(cec==1)?1:3;
  35.                   cc3=(cec==1)?3:1;
  36.                 };
  37.            if ($l3>0)
  38.                 loopde=dfn_ssg_tolistvla($eg),
  39.                 nop=foreach(pde,car(loopde),vla.put_color(pde,cc3));
  40.            if ($l1>0)
  41.                loopde=dfn_ssg_tolistvla($ef),
  42.                nop=foreach(pde,car(loopde),vla.put_color(pde,cc1));
  43.            if (acor($l1>0,$l3>0))
  44.                 vla.Regen(con_acdoc,acAllViewports);
  45.             dyn=dfn_getx_readkey("[YNC]","\nContinue?(y.yes)(n.noexit): "),
  46.             dyn=(dyn=="C")?"Y":dyn;
  47.           };
  48. */
  49. nil)
  50. %include=dfn_ssgx_blockeatpoint
  51. %include=dfn_getx_real
  52. %include=dfn_ssg_tolistvla
  53. %include=dfn_getx_readkey
  54. %include=if_pointdwg
  55. %include=dfn_ssg_len
  56. %include=str_princ
  57. #endregion
  58.  
« Last Edit: October 01, 2021, 02:33:43 PM by d2010 »