Hallo Leute,
Habe mir einen kleinen USB Kopierschutz auf Basis eines PIC18F2550
erstellt.
Nun möchte ich gerne "fertige" hardware in einem schönen Gehäuse dafür
verwenden. Einige PS3 Jailbrak USB Sticks enthielten damals z.Bsp. den
AVR AT90USB Mikro, welche man billig kaufen konnte. Seit diese verboten
sind, bekommt sie nur noch schwer.
Also: Kennt jemand einen billigen USB Dongle, welcher einen PIC18F2550
enthält?
> [..] USB Kopierschutz [..] "fertige" hardware in einem schönen Gehäuse> [..] Kennt jemand einen billigen USB Dongle [..]
Vorschlag 1:
- ein x-beliebiges billiges
USB-Mikrocontroller-DevBoard-im-USB-Stick-Format in einem schönen
Gehäuse besorgen
- Code adäquat anpassen
Vorschlag 2:
- einen passenden USB-Seriell-Adapter-im-USB-Stick-Format in einem
schönen Gehäuse besorgen
- Seriennummer adäquat programmieren und als Kopierschutzmerkmal nutzen
- Hostcode adäquat anpassen
Vorschlag 3:
- DIY-Softwaredongle weglassen
Vorschlag 1 ist der Kopierschutzimplementierung auf dem PIC ebenbürtig.
Vorschlag 2 ebenso, hat dabei aber den Vorteil, dass der Dongle auch
noch etwas Sinnvolles macht. Vorschlag 3 verzichtet zwar auf die
sinnvolle Funktionalität von Vorschlag 2, ist aber bei der
"Kopierschutz"-Umsetzung wesentlich effizienter, und belastet außerdem
Geldbörse und Umwelt nicht unnötig.
HTH
DingleDongle schrieb:> Der PIC18F2550 ist alles andere als ein Exot !
Deshalb ist er ja bei großen Distris nicht auf Lager...
Und wenn er auf Lager ist, dann zu stolzen Preisen.
2550 schrieb:> H. H. schrieb:>> Deshal ist er ja bei großen Distris nicht auf Lager...>> reichelt hat ihn, tme hat ihn als I/SO, darisus hat ihn ....2550 schrieb:> rs-online hat ihn
Und die großen Distris?
H. H. schrieb:> Und wenn er auf Lager ist, dann zu stolzen Preisen.
Es ist schön, dass DU dier Sorgen machst, welche nicht meine sind.
ABER:
Was hat DAS mit meiner Frage zu tun?
Gehäuse gibt es lt. Google und Aliexpress in Hülle und Fülle, fehlt nur
das Innenleben. Da ich vermute, dass es einen fertigen Dongle kaum geben
wird würde ich eine fertig bestückte PCB von z.B. PCBWAY vorschlagen.
Die machen auch gerne kleine Stückzahlen zum absoluten Kampfpreis.
Besonders günstig wird es, wenn man alles in SMD realisieren kann.
JLCPCB wäre nochmals deutlich günstiger und schneller, die haben aber
den 2550 aber nicht im Portfolio. Evtl. geht ein anderes Derivat, kenne
mich nicht aus.
https://jlcpcb.com/parts/componentSearch?isSearch=true&searchTxt=pic18f
Weiterer Vorteil bei JLCPCB ist DDP-Shipping, da gibt es keinen Stress
mit dem Zoll/DHL.
Meine Schätzung wäre, dass Du für eine angenommene Stückzahl von 25
Stück für PCB, Bauteile und Bestückung bei <10€ pro Platine liegen
dürftest.
Harald schrieb:> Meine Schätzung wäre, dass Du für eine angenommene Stückzahl von 25> Stück für PCB, Bauteile und Bestückung bei <10€ pro Platine liegen> dürftest.
bei 10 Euro ohne Gehäuse kann man schon fast nach einem kommerziellen
Dongle suchen. Die Frage stellt sich warum überhaupt eine Dongle
Funktion gebraucht wird.
Dongles sind per se umständlich in der Anwendung und machen in vielen
Fällen überhaupt keinen Sinn. Ich würde Dongles nur bei sehr
hochpreisiger Software überhaupt in Betracht ziehen, und dort spielt der
EK eines richtig guten Dongles keine Rolle.
Eine einfache Selbstbaulösung muss ja ohne extra Treiber auskommen,
weshab dann nur HID oder WinUsb übrig bleibt.
Bastellösungen die auf die USB Seriennummer oder VID/PID setzen kann man
sich sparen, sowas ist in einer halben Stunde aus der Anwendung
rausgepatcht.
Ich habe in der Vergangenheit selbst schon Dongle Lösungen erarbeitet.
Es ist den Aufwand nicht Wert. Insbesondere wenn man noch den
Verwaltungsaufwand und den Support der dazu notwendig ist einrechnet
Hi,
H. H. schrieb:> DingleDongle schrieb:>> Der PIC18F2550 ist alles andere als ein Exot !> Deshalb ist er ja bei großen Distris nicht auf Lager...> Und wenn er auf Lager ist, dann zu stolzen Preisen.
Das kommt daher das der 18f2550 ein "Alter Opa" ist.
Da gibt es jetzt schon seit gut 10 Jahren (weitgehend) kompatible
Nachfolger mit besserer Ausstattung.
Ist wie mit dem UrOpa der wiederbeschreibbaren Pics, dem 16F84.
(Noch als 16C84 geboren)
Wird immer noch hergestellt, ist auch offiziell nicht geplant den
Abzukündigen, daher auch nicht NRND, aber jeder Microchip´ler (Im Sinne
von deren Vertrieb und FE) wird sofort darauf hinweisen das man den nur
noch nehmen sollte wenn man genau diesen braucht.
Die Stückzahl die produziert und nachgefragt wird, die wird immer
kleiner und daher steigen die Preise. Das ist ja einer der Vorteile von
Microchip. Ganz zu Anfang in der grauen Vorzeit hatten die mal eine
Abkündigungswelle und viel "Haue" dafür bezogen.
Seit dem gibt es bei den Pics praktisch keine Abkündigungen mehr. Und
wenn doch, dann I.d.R. solche wo es mit langer Vorankündigung und
Übergangszeit einen quasiidentischen Nachfolger gibt der als Plug-in
Replace eingesetzt werden. Selbst den Uralten simple PIC 16C54 mit OTP
Speicher kann man noch bekommen... Wobei auch da für alles was aus
funktionsgründen diesen µC braucht jedoch keine erforderliche
Neuzertifizierung o.ä. einen Wechsel unwirtschaftlich macht der Umstieg
auf den 16F54 empfohlen wird.
(Und für Neuentwicklungen sowieso gleich etwas ganz anderes)
DingleDongle schrieb:> Also: Kennt jemand einen billigen USB Dongle, welcher einen PIC18F2550> enthält?
Billig und 18F2550 schließen sich aus.
Der ist wie oben geschrieben ja schon ein älteres Semester, aber mit für
die damalige Zeit durchaus reichlich Ausstattung. Der war nie "billig"
Das ist die Pinreduzierte Variante des damals bei den 8Bit Pics mit USB
Top of the Line Models "18f4550"
Den setzt man nicht für "nur ein Dongle" ein.
Und schon gar nicht heute, wo es viel günstigere Nachfolgetypen gibt.
Dazu kommt das die "alten" USB-Pics für die USB Funktion alle noch einen
externen Quarz benötigen. Das kostet im Einkauf und bei der Bestückung
und benötigt Platz auf der Platine. Die neuen brauchen keinen externen
Quarz mehr.
Der aktuelle Nachfolgetyp für den 18f2550 wäre dabei der 18f25J50
Der kann mehr, braucht für USB keinen Quarz mehr und kostet nur ein
Drittel (~3 Euro), ist aber im Moment bei vielen Distris "Im Rückstand",
also "Ausverkauft".
Für einen Einfachen Kopierschutzdongle ist aber auch dieser viel zu
überdimensioniert.
Da reicht ein einfacher PIC16F1459.
Der kostet etwa 1,50 Euro als Einzelstück, ist derzeit verfügbar und
braucht ausser dem USB Stecker, zwei Widerständen und den
Stützkondensatoren keine Beschaltung um als Dongle zu arbeiten.
Ein der USB Beispiele (je nachdem wie das Treibermäßig eingebunden
werden soll das passende Beispiel auswählen) etwas umändern mit einem
TEA ergänzen und fertig.
Kleine Platine fertigen lassen und die ML version drauf, dann kannst du
je nach Dienstleister (wenn es ganz billig sein soll halt aus China)
schon bei Zweistelliger Stückzahl auf einen Stückpreis von unter 5 Euro
für die fertig bestückte PCB kommen. Je mehr, um so billiger.
Brauchst du nur eine Handvoll, dann lötest du den halt selber auf.
Gehäuse gibt es reichlich und Billigst...
Gruß
Carsten
Thomas Z. schrieb:> Ich habe in der Vergangenheit selbst schon Dongle Lösungen erarbeitet.> Es ist den Aufwand nicht Wert. Insbesondere wenn man noch den> Verwaltungsaufwand und den Support der dazu notwendig ist einrechnet
Naja, es kommt schon etwas darauf an wie man es Umsetzt und wie
"Bulletproof" es sein soll.
Im einfachsten Fall den auch ein reiner Hobbyist mit mäßiger
Programmiererfahrung problemlos hinbekommen sollte hat man halt einen
TEA auf einem als CDC Device angebundenen USB Controller. PC Seitig ist
das von der Programmierung dann nur noch eine kleine Routine beim
Programmstart. Und eine Com Schnittstelle über USB ist jetzt im PC
Bereich auch für Anwender nichts ungewöhnliches so das die meisten da
auch wenn es mal hakt das Problem alleine lösen können.
Damit ist ohne Crack schon jede Kopie verhindert.
Und natürlich ist das zwar für jemanden der sich auskennt kein Problem
eine solche Abfrage einfach "zu Überspringen", aber ich habe das Gefühl
das diejenigen, selbst unter beruflichen Programmierern, eher weniger
als mehr werden die so etwas "mal eben" hinbekommen.
Dazu müsste man sich ja mit so etwas "altbackenen" wie Assembler
beschäftigen. Und nicht den schönen Menschengeschriebenen mit sinnvollen
Sprungmarken, schönen Makros mit sprechenden Namen und das ganze
Kommentiert, sondern dem was ein Disassembler aus dem Maschinencode
gemacht.
Natürlich kann man den Aufwand nach oben treiben, Im Dongle, ggf. an
mehreren Stellen, etwas berechnen lassen was das Programm für den Ablauf
benötigt oder ähnliche Spielereien.
Aber dann muss man für den Dongle selbst ebenfalls wieder mehr
Hardwareaufwand treiben, den richtigen Controller auswählen der dann
auch gegen beinahe jegliche Angriffsmethoden, invasiv und nichtinvasiv,
geschützt ist.
Ansonsten hat man einen Wahnsinsaufwand in eine durch
Softwaremanipulation nicht Sinnvoll umgehbare Kopierschutzmaßnahme
gesteckt, die dann dadurch umgangen wird das der RaubMordFolterkopierer
sich den Dongle bei einem Dienstleister für 300 USD auslesen lässt und
die Donglekopie dann einfach mitliefert.
Das macht das Geschäft für diesen dann noch lukrativer, schließlich muss
er nicht damit rechnen das die von ihm mühsam gecrackte Kopie von einem
seiner eigenen Kunden dann wiederum auf einem der typischen
Tauschportale kostenlos für alle hochgeladen wird wie es eigentlich
sonst immer passiert.
Dongle lohnen eigentlich nur für teure, hochspezielle, Anwendungen. Wo
die einzelne Lizenz sehr sehr teuer ist, aber es insgesamt nur wenige
Interessenten gibt so das sich ein Crack nicht lohnt.
Wo es dann darum geht das z.B. im Ingenieurbüro mit zwei Lizenzen für
ein spezielles Planungsprogramm nicht plötzlich für den neuen dritten
Kollegen das Programm einfach kopiert wird sondern sichergestellt werden
soll das auch für diesen artig eine Lizenz gekauft wird.
Es kann natürlich hier durchaus eine Anwendung sein die diesen Aufwand
rechtfertigt. Aber die Erfahrung lehrt da etwas anderes.
Erlebt man, gerade in der Elektronik, ja oft genug. Da bastelt jemand
etwas um es zu verkaufen, steckt mehr Geld und Aufwand in Maßnahmen den
Nachbau zu verhindern/erschweren (Abschleifen, Vergießen, Secure-µC usw)
als für die Entwicklung und Produktion der reinen Funktionsteils selbst
nötig war, und am Ende nimmt es jemand mit Ahnung in die Hand, schaut
sich von außen an was das Ding macht und baut ohne jeden Aufwand etwas
funktionsidentisches auf ohne auch nur einmal eine Schraube am Gehäuse
gelöst zu haben.
So ist es mit vielen "ach so toll" Geschützten Programmen ja auch.
Da ist der Aufwand selbst einen einfachen Kopierschutz zu umgehen oft
größer als das einfach neuzuschreiben.
Das soll jetzt natürlich nicht heißen das man immer auf jede Art von
Kopierschutz verzichten soll. Aber man sollte sich schon gut überlegen
wie viel Aufwand will und muss ich wirklich treiben.
Bei Hardware ist der grundlegende Schutz ja schon einmal das es jemand
anderes einmal nachbauen muss. Ist dann noch der Controller (Einfach)
Auslesegeschützt ist das schon eine Barriere.
Aber bei allem weiteren sollte man schon gut überlegen ob nicht
irgendwann der Punkt weit überschritten ist wo ein Nachbauer das schon
lange mit viel weniger Aufwand selbst hinbekommen kann.
Bei reiner Software mit der man Geld verdienen will und wo man nicht auf
andere Weise eine feste Kundenbindung (z.B. Support) erreichen kann ist
natürlich ein Grundlegender Kopierschutz essentiell. Sonst wird, wenn es
einen Interessentenkreis gibt, auf jeden Fall kopiert.
Aber auch hier sollte spätestens dann aufhören wenn man die grenze
Erreicht hat an dem der Aufwand an ein Neuschreiben herankommt. Dennoch
treiben es manche deutlich weiter und handeln sich damit dann eine Menge
unnötiger Probleme ein...
Gruß
Carsten
Frank K. schrieb:> Ein PIC16F1454 oder PIC16F1455 reicht:>> https://hackaday.io/project/6258-two-component-usb-temperature-data-logger>> fchk
Stimmt...
Der Bringt nur bei überschaubaren Stückzahlen keine nennenswerte
Ersparnis gegenüber dem gängigeren 1459 mehr, deshalb hatte ich den
jetzt gerade nicht auf den Schirm.
Aber mit ZWEI Bauteilen, wie in dem Artikel geschrieben, würde ich das
trotzdem nicht machen. Das ist zu viel des guten an Einsparung für einen
sicheren Betrieb.
Die 16F145x PICs brauchten tatsächlich keine Längswiderstände, daher
kann man darauf verzichten. Aber auf die beiden Stützkondensatoren
(Vusb3V3 und VDD) sollte man nicht verzichten. Das kann zwar unter
bestimmten Umständen funktionieren, muss aber nicht.
Das wurde hier wohl auch nur deshalb bewusst gemacht um einen niedrigen
PArt-Count hinzubekommen.
Gruß
Carsten
Mann kann ein PCB so gestalten, dass 4 Anschlüsse einen USB-A-Stecker
ergeben, die 4 Anschlüsse kann sogar vergolden lassen. Das sieht man oft
bei Speichersticks.
Dazu einen PIC16F1454 im kleinsten Gehäuse (QFN oder UQFN), ggf. noch
eine LED, das ganze bei JLCPCB oder sonstwo bestücken lassen, evtl noch
5 Bohrungen, in die man eine 5-pol Steckerleiste mit Pitch 1,27mm für
die Programmierung reinstecken kann. Aussenrum dann transparenten
Schrumpfschlauch
Thomas Z. schrieb:> H. H. schrieb:>> https://www.electrodragon.com/product/ch552-ch554-mini-dev-board-ch55x-series/>> genau diese Controller würde ich für einen Dongle nicht so ohne weiteres> verwenden, da diese je nach Bootloader viel zu einfach auszulesen sind.> Dann ist der Dongleschutz am A...
Es gibt solcherlei auch mit anderen µC, aber nicht mit dem vom TE
gewünschten Exoten.
Carsten S. schrieb:> Damit ist ohne Crack schon jede Kopie verhindert.> Und natürlich ist das zwar für jemanden der sich auskennt kein Problem> eine solche Abfrage einfach "zu Überspringen", aber ich habe das Gefühl> das diejenigen, selbst unter beruflichen Programmierern, eher weniger> als mehr werden die so etwas "mal eben" hinbekommen.> Dazu müsste man sich ja mit so etwas "altbackenen" wie Assembler> beschäftigen. Und nicht den schönen Menschengeschriebenen mit sinnvollen> Sprungmarken, schönen Makros mit sprechenden Namen und das ganze> Kommentiert, sondern dem was ein Disassembler aus dem Maschinencode> gemacht.
Was du schreibst ist alles richtig du unterschätzt aber die
Leistungsfähigkeit moderner Disassember und anderer entsprechender
Tools.
Eine Dongle Abfrage (oder auch mehrere) ist nur die halbe Miete. Die exe
muss auch gepackt werden und mit Debugger Schutz versehen werden damit
das ein efektiver Schutz wird. Dann kann man die Lizenzierung auch
gleich ganz in Software machen.
Sehr oft fehlt auch bei den Leuten die einen Kopierschutz implementieren
wollen das KnowHow was alles möglich ist.
Andreas H. schrieb:> H. H. schrieb:>> Und die großen Distris?>> Mouser hat ihn auch aL, Arrow auch. Wie gross soll der Distri dnn nun> noch sein?
Arrow? EBV? Microchip-direct?
H. H. schrieb:> Andreas H. schrieb:>> H. H. schrieb:>>> Und die großen Distris?>>>> Mouser hat ihn auch aL, Arrow auch. Wie gross soll der Distri dnn nun>> noch sein?>> Arrow? EBV? Microchip-direct?
Leseschwäche?
>> Mouser hat ihn auch aL, Arrow auch. Wie gross soll der Distri dnn nun
^^^^^
Microchip-direct ist übrigens, wie der Name schon vermuten lässt, der
Kleinmengenvertrieb des Herstellers. Kein klassischer Distri.
Aber DU fragst da sicher auch STM & Infineon an, oder?
Ich geh jetzt Wochenenden bb.