Forum: Mikrocontroller und Digitale Elektronik Wer kennt einen USB Dongle, der einen PIC2550 enthällt?


von DingleDongle (Gast)


Lesenswert?

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?

von Frank (Gast)


Lesenswert?

Fertige Hardware mit exotischen Controllern zu finden wird schwierig 
werden. Da wird nur selbstbau bleiben.

von DingleDongle (Gast)


Lesenswert?

Der PIC18F2550 ist alles andere als ein Exot !

von g457 (Gast)


Lesenswert?

> [..] 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

von H. H. (Gast)


Lesenswert?

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.

von 2550 (Gast)


Lesenswert?

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 ....

von 2550 (Gast)


Lesenswert?

rs-online hat ihn

von H. H. (Gast)


Lesenswert?

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?

von DingleDongle (Gast)


Lesenswert?

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?

von lach (Gast)


Lesenswert?

Meine 2550 wären mit für solchen Unfug zu schade.

von H. H. (Gast)


Lesenswert?

DingleDongle schrieb:
> Was hat DAS mit meiner Frage zu tun?

Es hat was mit deiner Behauptung zu tun.

DingleDongle schrieb:
> Der PIC18F2550 ist alles andere als ein Exot !

von Harald (Gast)


Lesenswert?

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.

von Thomas Z. (usbman)


Lesenswert?

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

von Carsten S. (dg3ycs)


Lesenswert?

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

von Frank K. (fchk)


Lesenswert?


von H. H. (Gast)


Lesenswert?

Frank K. schrieb:
> Ein PIC16F1454 oder PIC16F1455 reicht:
>
> https://hackaday.io/project/6258-two-component-usb-temperature-data-logger


Ein billiges 8051 Derivat reicht, und das gibts komplett als USB-Stick 
für ein paar wenige EUR.

von Carsten S. (dg3ycs)


Lesenswert?

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

von Carsten S. (dg3ycs)


Lesenswert?

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

von H. H. (Gast)


Lesenswert?


von bingo (Gast)


Lesenswert?

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

von Thomas Z. (usbman)


Lesenswert?

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...

von H. H. (Gast)


Lesenswert?

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.

von Thomas Z. (usbman)


Lesenswert?

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.

von Andreas H. (ahz)


Lesenswert?

H. H. schrieb:
> Und die großen Distris?

Mouser hat ihn auch aL, Arrow auch. Wie gross soll der Distri dnn nun 
noch sein?

von H. H. (Gast)


Lesenswert?

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?

von Andreas H. (ahz)


Lesenswert?

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.

von H. H. (Gast)


Lesenswert?

Andreas H. schrieb:
> Aber DU fragst da sicher auch STM & Infineon an, oder?

Nicht mehr.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.