Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Kopierschutz mittels Abfrage der AutoCAD Lizenz

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Kopierschutz mittels Abfrage der AutoCAD Lizenz (3775 mal gelesen)
sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 19. Nov. 2010 16:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ein entwickeltes AutoCAD AddOn soll nur innerhalb der eigenen Firma lauffähig sein, weshalb ich irgendeinen (relativ sicheren, aber nicht zu komplexen) Kopierschutz benötige.

Wir haben hier AutoCAD Floating/Netzwerk Lizenzen. Ist es irgendwie möglich, die Lizenz des laufenden AutoCADs abzufragen und diese dann mit einer Liste aller Unternehmenslizenzen abzugleichen?
Das AddOn kann dann nur auf einem Unternehmensrechner ausgeführt werden.

Das ganze sollte auch 'offline' funktionieren, also wenn man sich eine der Netzwerklizenzen ausgecheckt hat.
(Daher kam auch die Idee mit dem Lizenzabgleich-Kopierschutz, da eine Überprüfung wie "befindet sich der PC aktuell im Firmen-LAN" unterwegs nicht funktionieren würde).

Vielen Dank schon mal für eure Ideen / Ratschläge!

Schönes Wochenende, Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 19. Nov. 2010 16:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

eine einfache Variante ist die AutoCAD-Seriennummer abzufragen und mit eine Liste zu vergleichen.
Vorsicht aber, wenn Du das mit C++ machst OK, wenn Du dies aber mit dotNET machst, ist Dein Code fast frei lesbar, also kein wirklicher Schutz für Programmierer.

Abfrage der Seriennummer geht über die Variable '_PKSER'
In Lisp als Beispiel (getvar "_PKSER")

Alternative Variante kann sein, dass Du aus dem System den Namen des Domain-Controllers ausliest. Das sollte auch gültig sein, wenn Du Dich mal mit dem Laptop ins Gebirge vertschüsst zum 'Arbeiten in der Natur'. 

- alfred -

------------------
www.hollaus.at

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 19. Nov. 2010 16:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Alfred,

hm...ein Seriennummern-Abgleich wäre also machbar, aber zu unsicher (-> .net Code), da somit die gültigen Firmen-Seriennummern nach außen dringen könnten (und das wohl auch trotz code-obfuscation).
Gibt es evtl. eine Art Firmen-Lizenz-ID, die man abgleichen könnte und welche nicht so sicherheitskritisch wie Seriennummern ist?

Was du mit dem Auslesen des "Namen des Domain-Controllers" meinst, müsstest du mir erklären. Da steh ich auf dem Schlauch. 
BTWBy the way (So nebenbei bemerkt): Wäre dieser "Name des Domain-Controllers" dann für Außenstehende leicht zu simulieren, um mein AddOn zum laufen zu bekommen? Den validen Namen könnten sie ja evtl. wieder durch Dekompilieren meines .NET Codes erhalten...

Beste Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Ehrenmitglied V.I.P. h.c.
Maschinenbaukonstrukteur



Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

ACAD 2004DX Mechanical PP

erstellt am: 19. Nov. 2010 16:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sebastian. 10 Unities + Antwort hilfreich

wie wäre es mit (in in Lisp umgesetz) Abfrage von WScript.Network
(setq wscript (vlax-create-object "WScript.Network") 
(setq RETURN (list (vlax-get-property wscript "ComputerName")
                  (vlax-get-property wscript "UserDomain")
                  (vlax-get-property wscript "UserName")
            )  
)
(vlax-release-object wscript)


das Objekt "wbemScripting.SwbemLocator" liefert auch so einiges ...
     

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 19. Nov. 2010 17:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Leider bin ich in Lisp alles andere als fit...wie führe ich deinen Code also aus?

Und welche Informationen bekomme ich damit / wie kann ich das für meine Zwecke nutzen?

Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 19. Nov. 2010 17:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

guck mal in:

My.Computer.Network    ...hier kannst Du Info's über Netzwerk bekommen
My.Computer.Registry    ...hier kannst Du aus der Registry Info's auslesen
My.                    ...ist ein grundsätzlich guter Platz für Infos der App, des Computers, des Users, ...

- alfred -

------------------
www.hollaus.at

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 19. Nov. 2010 17:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Alfred,

diesen Namespace (My) kenne ich. Hatte auch schon mit dem Gedanken gespielt, z.B. die MAC-Adresse, HDD-Id etc. abzugleichen.
Allerdings gibt es hier zwei Nachteile:
- Diese können (angeblich) relativ leicht (mit gültigen Daten) simuliert werden, wodurch der Kopierschutz leicht ausgehebelt werden kann
- Wenn das AddOn auf neuen PCs in der Firma genutzt werden soll, müssen deren Daten in die Liste der gültigen Rechner aufgenommen werden

Daher hatte ich gehofft, ich könnte die Lizenz-ID o.ä. von AutoCAD abfragen.
Mittlerweile habe ich auch herausgefunden, dass es eine solche ID wirklich gibt. Zu finden unter "Info" -> "Produktinformation..." -> "Lizenz-ID"
Wäre es eigentlich kritisch, wenn diese ID nach außen gelangt (ähnlich wie bei der AutoCAD Seriennummer)?

Könntest du nochmal die Idee hinter dem Abfragen des "Namen des Domain Controllers" erläutern (hat aber natürlich auch bis Montag Zeit)?

Danke und Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 19. Nov. 2010 18:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sebastian. 10 Unities + Antwort hilfreich

Hallo,

Die LizenzID ist unkritisch aber vor allem für deine Zwecke wohl ungeeignet, es ist mehr so ein LizenzTyp zB. steht 55800ARCHDESK_2008_0F für ein AutoCAD Architecture 2008 oder 57100REVIT_2008_0F für ein Revit 2008.
Irgenwo auf der Autodesk Site findest du auch die IDs für alle anderen Autodesk Produkte.

Da Du jedoch in .NET machst ist im Grunde alles relative leicht herauszubekommen was Du an Mechanismen implementierst.
Aber auch nur wenn man weiss wie  Und da liegt der Hund begraben. Selbst die ausgeklügelsten Schutzmechanismen können ausgeheblt werden.
Fragt sich nur mit welchem Aufwand.

Also:
"Wenn jemand Schutz sagt, frage Ihn immer: Schutz wovor?"

Man kann Software nicht vor kopieren schützen, da ein Computer seit dem guten Herrn von Neumann per Definition ein System zum kopieren ist.

Definiere doch bitte einmal Deine Schutzbedürfnisse und dann lässt sich auch eine angemessene Lösung finden.

Schönes Wochenende
Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 19. Nov. 2010 18:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> [...] Diese können (angeblich) relativ leicht (mit gültigen Daten) simuliert werden

Wenn wer die Harddisk cloned und Du willst davor geschützt sein, dann darfst Du aber gar nicht erst auf dotNET setzen. Wer Harddisk cloned, AutoCAD-Seriennummer knackt oder gar den Lizenzserver emuliert, sorry, der hat Deine DLL schneller offen als Du es glaubst.

Willst Du soooo sicher sein, musst Du etwas in C++ oder Assembler machen, am besten mit Hardwarelock.

Rechne aber auch: wenn wer soviel kriminelle Energie hineinsteckt, um Deine App zu knacken, dann rechne gegen, wieviel Schaden kann er anrichten kontra wieviel Programmieraufwand steckst Du in Stunden hinein und wird dafür Deine App teurer.

Sorry, - alfred -

------------------
www.hollaus.at

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 22. Nov. 2010 09:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen,

erstmal danke an Holger für die Info mit der LizenzID. Das ist dann wirklich nix für meine Zwecke.

Bzgl. Sinn des Kopierschutzes:
Da es sich bei dem AddOn im Prinzip nur um eine einzige dll Datei handelt, welche z.B. schnell mal per E-Mail verschickt werden könnte, soll sichergestellt sein, dass diese nicht ohne weiteres außerhalb der Firma lauffähig ist.
Es handelt sich dabei (z.Zt.) nicht um ein Verkaufsprodukt.

Hier war schon ein Soft- oder gar Hardware Schutz mittels Aladdin HASP im Gespräch, aber das scheint für unsre Zwecke zu aufwändig/teuer/unflexibel, da wir beispielsweise bei dem Softwareschutz für jede Aktivierung unsres eigenen AddOns ca. 60€ zahlen müssten...irgendwie paradox!


Somit suche ich eine Lösung, die einen grundlegenden Schutz gegen 'Copy&Paste' bietet.

Als Möglichkeiten sehe ich gerade:

a) Abgleich der AutoCAD Seriennummer (wie könnte ich das Ergebnis des Kommandos _PKSER nicht nur in der Konsole ausgeben, sondern in meinem Programmcode verfügbar machen?)

b) Abgleich, ob für diesen PC gerade eine unsrer AutoCAD Netzwerk-Lizenzen läuft bzw. ausgecheckt wurde (falls das funktioniert?!)

c) Abgleich von PC-Daten (z.B. MAC-Adresse & HDD-Id).
Hier bräuchte ich aber einen Art Registrierungsprozess, da ich diese beiden Werte ja beim User (programmmäßig) erfragen müsste. Daraus würde dann ein Lizenzfile für ihn generiert und ihm geschickt und somit wäre das Programm an dessen PC gebunden.

d) Abgleich von Infos, die bei allen Firmen-PCs/Laptops gleich sind. Wäre das die anfangs erwähnte Sache mit dem "Domain Controller" bzw. welche Netzwerk/PC-Infos könnten das sonst sein?


Wäre über eure Meinungen zu den Möglichkeiten sehr dankbar!

Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 22. Nov. 2010 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sebastian. 10 Unities + Antwort hilfreich

Hallo Sebastian,

eine Abfrage von HW Id hat nach meiner Ansicht zu viele Nachteile, im Grunde sind es die gleichen Gründe die auch gegen einen Dongle sprechen. Sowas halte ich nur sinnvoll wenn man es auch mit einer HW verkauft (zB. einen Mediaplayer mit einer TV Karte). Eine "feste" Verdrahtung von Servernamen würde ich nie einprogramieren. Aber wie wäre es mit einer asymetrisch verschlüsselten Lizenz- oder besser noch Konfigurationdatei. Den PuplicKey kannst Du ruhig verteilen und Lizenzdateien selbst erstellen. Wenn es eine Konfigurationsdatei ist mit Infos die Du zur Laufzeit benötigst ist es für einen Angreifer wesentlich aufwendiger dies zu Hacken.

Gruss
Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 22. Nov. 2010 10:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Holger,

ist es bei der PublicKey-Lösung dann aber nicht so, dass der PublicKey/das Lizenzfile einfach zusammen mit der AddOn-DLL weitergegeben werden könnte und das Programm dann auch auf jedem andren PC lauffähig wäre?

Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 22. Nov. 2010 10:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sebastian. 10 Unities + Antwort hilfreich

Klar kann es weitergegeben werden. Das lässt sich ja nicht verhindern.
Die Frage ist aber was in der Lizenzdatei verschlüsselt wird. zB. der Domainname und/oder LokaleNAme IDs oder oder oder. Irgendwas was du dann beim Programmstart abfragst.

Persönlich denke ich das eine vershlüsselte Konfigurationsdatei mit Layerliste, Verzeichnissnamen, Blockname o.ä. deutlich schieriger zu häcken ist.

Die Abfrage nach irgenwas singulärem bzw. statischem lässt sich evtl. noch leicht aushebeln, hauptsache die Abfrage liefert True zurück.
Sind es jedoch werte mit denen Du weiterarbeitest ist es deutlich schwieriger das aus deiner dll "auszubauen".

Der Dieb müsste bei einer verschlüsselten Konifgurationsdatei dann das Tool exact so verwenden wie ihr es auch verwendest. Also die gleiche Layerstruktur, die gleich Ordenerstruktur, die gleiche Block- oder Dateinamen. Und das ist dann sehr unwahrscheinlich das er es dann noch nutzen kann.

Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 22. Nov. 2010 11:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Holger,

danke für deine Ausführungen und Ideen!
Das mit der verschlüsselten Lizenz/Konfigurationsdatei klingt schon mal interessant.

Ich hätte noch ein paar Fragen zu einem möglichen Inhalt einer solchen Lizenzdatei:

Könnte ich nicht auch einfach die Checksumme (md5 / sha-1 / crc32) der gültigen AutoCAD-Firmen-Seriennummer im Quellcode oder einer Lizenz/Konfigurationsdatei hinterlegen? Wenn das Programm gestartet wird, würde diese Checksumme dann mit der Checksumme der aktuellen AutoCAD-User-Seriennummer verglichen...

Sehe ich das richtig, dass sich aus der Checksumme im Quellcode bzw. Lizenzdatei die Firmen-Seriennummer nicht wiederherstellen liese?

Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 22. Nov. 2010 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sebastian. 10 Unities + Antwort hilfreich

Was Du da beschreibst sollte funktionieren, beruht aber auf der Annahme das der Dieb beim lesen der Lizenzdatei nicht erraten kann was für eine verschlüsselung/codierung vorlieget. Prüfsummen sind von ihrem Wesen nach nicht umkehrbar.

Das Problem bei Deiner Idee ist, dass die FirmenSN nach einer Acad installation noch änderbar ist. Dh. ich installiere mein Acad wie gehabt und nach dem ich dann dein Tool installiert habe, ändere ich einfach meine SN auf die eurige und schon läuft es 

Wie gesagt, meiner Meinung nach sind einmalabfrage zu schwach. Für einen "normalen" CAD Anwender könnte es aber reichen. Womit wür wieder beim Aufwand/Nutzen verhältniss sind.

LG
Holger
Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 22. Nov. 2010 12:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Holger,

wie gesagt, geht es mir im Grunde um einen Schutz vor 'Copy&Paste'. Der normale CAD User soll davon abgehalten werden, das Programm einfach weiterzugeben.

Bzgl. späterem Ändern der Seriennummer. Da müsstest du aber ja auch erstmal wissen, auf welche Seriennummer du dein AutoCAD ändern musst.
Laut deiner Aussage, könntest du unsre Seriennummer aus dem Hash/Checksum im Code ja nicht wiederherstellen?!
Somit müsste ein Unternehmensmitarbeiter bei uns nicht nur das Programm, sondern auch unsre AutoCAD Seriennummer rausgeben...was doch eher unwahrscheinlich wäre.
Außerdem müssten die Firmenmitarbeiter auch noch wissen, dass der Kopierschutz auf einer Seriennummer-Überprüfung basiert und sie zum Umgehen des Kopierschutzes die Firmenseriennummer mit nach außen geben müssten.

Oder man müsste den Hash aus dem Quellcode nehmen und mit den Hash-Werten aller möglichen AutoCAD Seriennummern vergleichen. Dann könnte man auch auf die gültige Seriennummer kommen. Ein entsprechendes Programm wäre wohl relativ einfach geschrieben, da die AutoCAD Seriennummer ja ein festes Format hat?!
Das ganze könnte man aber deutlich erschweren, wenn man z.B. noch eine PC/Netzwerk-Information (welche keine fest Stellenanzahl besitzt) an die Seriennummer hängt und daraus den Hash generiert. Bei einer Freigabe für einen einzelnen User z.B. den Windows-Usernamen oder oder oder...

Trotzdem weiß ich noch nicht, wie ich mittels VB.Net die aktuelle AutoCAD Seriennummer auslese (ähnlich dem _PKSER Kommando).

Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 22. Nov. 2010 13:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für sebastian. 10 Unities + Antwort hilfreich

Bei mir funktioniert folgendes:
Code:

Debug.Print(My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R17.1\ACAD-6004:409", "SerialNumber", Nothing))

For Each DC As DirectoryServices.ActiveDirectory.DomainController In _ DirectoryServices.ActiveDirectory.Domain.GetCurrentDomain.DomainControllers
        Debug.Print(DC.Name)
Next


An der Stelle der Registry findest Du auch anderes was du vieleicht verwenden möchtest, zB. Firmenamen o.ä.

LG
Holger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 22. Nov. 2010 17:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ich bin gespannt, denn ich sehe, dass sehr tief mit Verschlüsselung etc. gearbeitet werden soll. Aber irgendwo aussen um die Prüfroutine herum gibt's nun mal ein IF ELSE ENDIF und das zu finden, wird imho nicht sooo schwierig sein, solange es alles in dotNET geschrieben ist.

Wenn Du möchtest, dann lass mir eine EXE zukommen, die geschützt ist (sollte es eine LIC-Datei oder andere Dinge zum Schutz geben, brauch ich nicht) und gib mir ein wenig Zeit (sollte aber dann per PM geschehen, ist nicht öffentlich zu machen ).

- alfred -

------------------
www.hollaus.at

sebastian.
Mitglied



Sehen Sie sich das Profil von sebastian. an!   Senden Sie eine Private Message an sebastian.  Schreiben Sie einen Gästebucheintrag für sebastian.

Beiträge: 90
Registriert: 03.09.2009

Windows XP Prof. SP3
AutoCAD 2010
Visual Studio 2008 / 2010 Prof.

erstellt am: 22. Nov. 2010 17:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Alfred,

du liegst richtig, dass der Schutz auszuhebeln ist, wenn man die If-Abfrage manipuliert (wenn ich dich richtig verstehe).
Aus dem Stegreif könnte ich das jetzt selbst zwar nicht, aber man kann sich da bestimmt einlesen und es sollte nicht zu schwierig sein.

Ich werde jetzt vorerst die Checksummen/Hashes der Seriennummern vergleichen, d.h. Hash der gültigen Seriennummer ist hinterlegt und wird mit dem Hash der Seriennummer der aktuellen AutoCAD Installation verglichen.
Diesen Abgleich möchte ich immer wieder mal bei mehrere Aktionen während des Programmablaufs (z.B. Buttonklick) durchführen.
Hierzu sollte ich dann wohl nicht immer auf genau die selbe "Check-Funktion" zurückgreifen?!

Meiner Ansicht nach ist das ganze ein sehr einfach zu implementierender und für den Laien doch schwierig zu umgehender Kopierschutz, welcher eine Beschränkung auf die interne Firmennutzung erlaubt und dazu nicht Rechner-, sondern AutoCAD-Lizenz gebunden ist.

Weitere Anregungen gerne erwünscht!

Grüße, Sebastian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz