www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Dongle selber bauen


Autor: Dere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo suche einen USB Controller, der sämtliche USB Hardware (Pullups,
Pegelwandler...) besitzt und auch einen integrierten EEPROM Haben soll.
Er sollte ein möglichst kleines Gehäuse haben (4 Pin wäre am besten). Er
sollte leicht lötbar sein (DIP)

Kennt jemand solche Teile, bzw wo kann ich solche erwerben??

Autor: SIGINT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dere,
  du meinst wahrscheinlich 8pin - DIP... 4pin wirds wahrscheinlich
nicht geben (oder irre ich mich da).
Vielleicht solltest du erstmal sagen, welche Controller-Familie du
meinst: PCI, AVR, MCS51, etc.... in den meisten Familien gibt es
mittlerweile Controller mit USB, die aber fast immer viele IOs haben
und in relativ großen Gehäusen daher kommen. Vielleicht kannst du ja
lernen SMD zu löten und nimmst dann ein SMD-Bauteil.

Gruß,
  SIGINT

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4 Pin?! Beknackte Idee, sowas gibt es zu 99.9999999% nicht. Damit kann
man doch im echten Leben nix anfangen. Normalerweise nutzt ein µC IO,
deswegen hat er welche...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, mit nur 8 Pins gibt es ja durchaus µCs ...

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber 4 (sic!), willste VCC/GND und D+/D- multiplexen? So ein Ding
kann dann absolut nichts ausser Funktionen gegenüber dem Bus
darstellen. Wann braucht man sowas (ausser als Dongle). Ich denke
nicht, dass er sowas auf dem Markt findet, weil dafür im Prinzip kein
Markt da ist.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, das wäre dann ein Prozessor mit viel Potential zur
Introvertiertheit ... gewissermaßen ein digitaler Autist.

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein 8 pin AVR (muss aber einen interrupt pin haben, kA ob es das gibt)
und darauf die obdev usb firmware laufen lassen ist wohl das kleinste
usb fähige IC was man bekommen kann. Ob die paar bytes eeprom aber für
ein FAT dateisystem ausreichen ist zweifelhaft :)

Sonst musst du noch ein 8 pin serielles flash dahinter hängen... aber
dann wird es mit den pins vom AVR wieder knapp.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird nicht funktionieren; für den Software-USB-Stack sind 12 MHz
Takt erforderlich, und die sind AFAIK nur mit einem Quarz
hinzubekommen, der interne RC-Oszillator dürfte da schon versagen. Und
dann wird es auch mit 8 Pins schon knapp.
Auch haben 8polige AVRs wohl kaum die für den Software-USB-Stack
erforderlichen Resourcen (Flash- und RAM-Größe) ...

Wozu aber ein (FAT-)Dateisystem? Das braucht ein Dongle ja nun wirklich
nicht.

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%...

Er hat ein USB-Device mit einem AVR realisiert, vielleicht hilft dir
das weiter.

Gruss Thomas

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die obdev firmware ist 100 mal besser :)

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schau mal bei Microchip vorbei. Dort kannst Du Dir alle MCU's mit USB
(Clients) anzeigen lassen. Beispielsweise den PIC18F2550. PDIP, 28
PIN's. Zum Löten so ziemlich das einfachste.
Application Notes mit kompletten Code gibt noch dazu :)

Grüße
Mario

Autor: Andreas Häusler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Für eine Controller Lösung würde ich Dir auch Microchip empfehlen.
Dort kriegs für reletiv wenig Geld auch ein Eval-Board inkl. Sourcecode
und USB Treiber für die PC-Seite.

Als alternative schau mal bei Cypress vorbei, ist auch sehr beliebt.

Falls Du nur eine USB- Anbindung an einen x-beliebigen Controller
suchst, kann ich Dir die USB Devices von FTDI empfehlen:

http://www.ftdichip.com/Documents/DataSheets.htm

Der FT232R hat sogar das EEPROM integriert, da brauchst Du nicht mehr
viel drum rum zu basteln. Hab damit eigendlich nur gute Erfahrungen
gemacht. Damit kannst Du auch einen 8-pin uC "USB fähig" machen.

Hier ein weiterer Vertreter dieser Chips:

http://www.prolific.com.tw/eng/Products.asp?ID=59

Kriegst bei http://www.glyn.de dazu auch ein Evaluation Board für wenig
Geld.

Gruss Andy

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie liest keiner, was der Kollege am Anfang eigentlich wollte,
kein FAT und auch kein USB-Fähigmachen eines 8 Pinners. Er will einen
möglichst kleinen USB-fähigen µC, aber in DIP... Deswegen ja auch der
Ansatz mit DIP-4, was es aber, wie Rufus schon so schön sagte, aufgrund
der dann nötigen Introvertiertheit des µC kaum geben wird. Wenn's klein
sein soll, musses SMD sein. SOIC 28 hat etwa die Fläche von DIP-8. Warum
also alle Pins weglassen und das Pferd von Hinten aufzäumen?

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal auf www.silabs.com

Im LQFP32 Gehäuse, kann man noch gut löten. USB 2.0 integriert und mit
USBXpress einen einfachen USB-Stack inkl. PC-Treiber etc ... ist nur
nicht ganz billig die MCU

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stromspannung:
> Irgendwie liest keiner, was der Kollege am Anfang eigentlich wollte,
> kein FAT und auch kein USB-Fähigmachen eines 8 Pinners. Er will
einen
> möglichst kleinen USB-fähigen µC, aber in DIP...

Wenn er einen 8 Pinner USB-Fähig macht, dann hat er doch einen
USB-Fähigen uC, oder sehe ich das falsch? ;o)
Zudem wäre es eine günstige Lösung, auch für kleine Stückzahlen.

Gruss Thomas

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast recht, aber wenn man "möglichst klein" will, dann hat es wenig
Sinn einen FTDI zu empfehlen, an den dann ein 8-Pinner dran kommt ;-)
Normale USB Controller, SOIC oder TQFP, braucht nicht (viel) mehr Platz
als die angestrebte DIP (4/8) Lösung und gibt es dafür aber auch... Wer
klein will, muss klein nehmen. So einfach ist das.

Autor: dere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HAbe mir die obdev firmware angesehen. Gefällt mir. Leider kenne ich
mich mit Atmels nicht mehr so gut aus (schon eine Zeit her). Welchen
Atmel mit am wenigsten Pins könnt ihr mir empfehlen, wo die Firmware
läuft???

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibts doch alles fertig bei www.alladin.de....
weit verbreitet und funzt hervorragend...zB Datev, NLB etc.pp.

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viele Leute verstehen den Sinn vom SELBER BAUEN nicht... ;o)

Autor: Jörn-h. G. (joern_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selber bauen ist, wenn man tausend Leute um Rat fragt und deren Zeit in
Anspruch nimmt, weil man sich selber eine Herausforderung stellen
möchte, etwas zu bauen, was es bei ibäh für 4,99 gibt (mit Kabel und
Stecker dran, wofür man 0 Geschick benötigt und was hundertausend
andere auch schon getan haben...???

Nun aber mal im Ernst:

Nimm einfach den FT232R (nicht die älteren, sondern den mit R!), der
hat alles drin. Von seinen 28 Beinchen schneidest du 24 einfach ab
(Teppichcutter!) lötest an die verbleibenden 4 den USB Stecker dran
(Vcc, GND, USBDM, USBDP) und dein USB-Autist ist fertig!

Naja, eigentlich fehlt noch als fünftes Beinchen VCCIO. Mist, musst
deinen USB-Autisten dann doch selber bauen.
Ich empfehle Silizium als Grundlage, dass hat sich bewährt!

Schönes WE allen,
cu joern

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
95% der Bastelprojekte in diesem Forum gibt es bereits und kann man auch
kaufen...

Das Forum hier ist freiwillig. Wer nicht helfen will, muss seine Zeit
nicht verschwenden. ;o)

Gruss Thomas

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaub, keiner hat so recht das Anliegen vom Autor begriffen. Er will
 nix steuern, messen oder sonstwie ansprechen über USB. Er will nur
einen Dongle haben, eventuell um eine selbstgeschriebene PC-Software zu
schützen. Das wäre dann zwar bloß ein lächerlicher Schutz, wenn nur eine
Nummer ausgelesen wird oder so, aber immerhin...

Autor: Thomas Berger (tomb)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Chris:
Ich denke, er will einen Dongle für den Kopierschutz einer Software
bauen. Es gibt auch komplexere Lösungen, als nur eine Nummer auslesen.

Das wäre schon ein interessantes Projekt, einen "sicheren"
Kopierschutz auf der Basis eines USB-Dongles zu entwerfen. Hätten
sicher einge hier im Forum grosses Interesse daran.

Gruss Thomas

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann sollte er einen FTDI FT245R / 232R nehmen.

Der hat schon eine feste Seriennummer "eingebrannt".

Gruß, Marcus

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was aber Schwachsinn ist als Softwareschutz!

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, nur kurz die SerienNr. vergleichen wird nicht viel bringen, das
könnte wohl sogar ich noch knacken. ;o)

Zudem müsste man jedes Programm für den spezielen Dongle vorbereiten,
das ist sicher auch nicht die Idee der Sache. Und die SerienNr. in
einem externen File auslagern wäre die ganze Arbeit auch für die
Katz...

Dere:
Hast du schon eine passende Lösung für dein Problem gefunden?

Gruss Thomas

Autor: Jörn-h. G. (joern_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas Berger:

es mag zwar die meisten Projekte schon geben, aber (zum Glück) fangen
die meisten trotzdem ersteinmal an zu basteln und zu bauen und fragen
erst, wenn sie ein Problem haben und nicht schon vorher, ohne irgendwas
selber gemacht zu haben.
zudem glaube ich deine angabe auch nicht wirklich - eine
tempretaurregulung z.B. gibt es natürlich im Prinzip - trotzdem haben
all die tausende Anwendungen davon eine Daseinsberechtigung.
Zudem könnnten sie natürlich rebenfalls mit einem 200,- EUR
Industrieregler erschlagen werden, aber nicht mit einem 5,- EUR Teil
von ebay.
cu joern

Autor: Dere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie richtig angenommen will ich den Dongle als Kopierschutzsystem
benutzen. Nur Seriennummer abfragen halte ich für sinnlos. Es sollte
schon auch ein EEProm integriert sein, den ich immer lese / beschreibe.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> auch ein EEProm integriert sein, den ich immer lese / beschreibe.

Die Lebensdauer (Anzahl Schreibzyklen) ist aber nicht unbegrenzt...

...

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörn-H:
Wo gibt es solche Dongle für Kopierschutz für 5Euro???

Dere:
HanneS hat recht, Eeprom schreiben und lesen wird nicht lange halten.

Ich denke ein solcher Dongle müsste eine Verschlüsselung auf der Basis
eines Public-Key Systems beinhalten plus einer Block-Cypher wie AES.
So könnte man einen Sitzungschlüssel bei jedem Start des Programms
zufällig generieren und an den Dongle senden, der weitere Datentransfer
kann dann relativ schnell mit AES verschlüsselt werden. Dies hätte zudem
den Vorteil, dass nie die selben Datenpakete übertragen werden, da der
Schlüssel jedesmal ändert. Ein aushorchen der Informationen wird so
fast unmöglich.
Wenn man zudem genug unnötigen Traffic mit dem Dongle erzeugt, hat der
Cracker/Hacker soviel Datenmüll, dass er die wichtigen Infos nicht
finden kann. wenn er diese doch findet, muss er erst den AES Schlüssel
finden um später den Private-Key zu knacken, erst dann kann man den
Dongle nachbauen.

Um eine Manipulation am Programm zu verhindern, könnte man einen
MD5-Hash der EXE-Datei verschlüsselt auf dem Dongle hinterlegn. Wenn
jemand am Programm herumfummelt, wird sich die Checksumme ändern und
nicht mehr zum Dongle passen.

Wichtig ist, eine richtige Verschlüsselung zu verwenden, nicht ein
selber gebasteltes Xor gefrickel, die bringen nix.
Mit einer Kombination dieser Methoden sollte man einen sicheren
Kopierschutz erstellen können, oder sieht jemand eine Schwachstelle?

Gruss Thomas

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm disassemblieren und die Abfragen entfernen...
Dann ist auch deine Checksumme ausgehebelt.

Wirksamer ist es, Funktionen, die fuer den Ablauf des Programms
unverzichtbar sind auf das Dongle auszulagern.

gruss, bjoern.

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bjoern:
Hmmm... ist das so einfach zu machen? Wie schwierig ist es, nach dem
disassemblieren die richtigen Funktionen zu finden?

Wie würde das auslagern von Funktionen in der Praxis aussehen? Eine DLL
auf dem Dongle speichern und zur Laufzeit wieder laden?

Gruss Thomas

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt DIP4 Bausteine z.b. Einfachoptokoppler und Brückengleichrichter
zugegeben meistens sind DIP6 oder DIP8 Gehäuse wo nur 4 Beinchen dran
sind.

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie einfach oder schwer das ist, keine Ahnung. Aber genau so werden  zb
No-CD-Cracks erstellt. Und da es sowas Stunden oder Tage spaeter fuer
aktuelle Spiele gibt, scheint es machbar zu sein.

Ob jemand diesen Aufwand betreibt, ist allerdings die andere Frage.
Kommt sicher auf die Anzahl der Kunden, und den Preis der Software an.

Wollte eigentlich nur sagen: Warum den Dongle nachbauen, wenn man ihn
auch viel eleganter umgehen kann...

Was man da genau auslagern sollte, keine Ahnung. Irgendne Berechnung
wuerde sich anbieten. Aber ich bin da kein Experte. Meine Software ist
Open-Source. Da hat man solche Sorgen nicht.

gruss, bjoern.

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Methode, die Software zu disassemblieren, steht uebrigens auch in
dem oben angehaengten "hardwarebasierter_softwareschutz.pdf", wie ich
grad erst gelesen hab...

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bjoern:
Den Abschnitt habe ich auch gelesen, praktisch aber noch nie gemacht,
daher dachte/hoffte ich, du sprichst aus Erfahrung (Schwachstellen,
Zeitaufwand, usw). ;o)

Open-Source ist gut, können oder wollen viele aber nicht so einfach
realisieren. Die Produkte in unserer Firma haben den Vorteil, dass die
Software ohne die eigene Hardware nichts bringt, d.h kopieren kann man
die Programme, benutzen aber nicht wirklich.

Reine Software-Entwickler sind halt darauf angewiesen, dass Ihre
Produkte gekauft und nicht kopiert werden. Daher wäre für alle, die
Interesse an einem brauchbaren und sicheren Dongle hätten, das sicher
ein Interessantes Projekt.

Obwohl sich ein Open-Source-Dongle Projekt doch etwas seltsam anhört...
:o)

Gruss Thomas

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte Dongles auch nicht ihre Daseinsberechtigung absprechen.
Wollte nur sagen, dass ich mir noch keine Gedanken drueber gemacht hab,
wie man sowas letztendlich umsetzt.
Das mit dem "Funktionen auslagern" hab ich irgendwo im Forum mal
aufgeschnappt und behalten, da es absolut logisch klang. Im gleichen
Zug wurde auch erwaeht, dass der beste Kopierschutz ein ansprechendes
gedrucktes Handbuch, guter Service und ein ein attraktiver Preis sei.
Aber gut, die Argumente ziehen bei teurer Spezialsoftware nicht.
Andererseits ist der Kreis der potentiellen Cracker bei Spezialsoftware
auch denkbar klein.
Koennte mal jemand die "Hosen runterlassen" und Zahlen zu
angestrebter Anzahl verkaufter Lizenzen und Preis nennen, damit man
sich ne Vorstellung machen kann, wie reizvoll ein Kopieren waere? 30 x
200Euro waere es nicht, 300 x 2000Euro schon eher.

Ich kann mir nicht vorstellen, dass ein Open-Source-Dongle sicher sein
kann. Nicht etwa weil man es einfacher haette, zu durchschauen, wie der
Schutz funktioniert(Verschluesslungen sind auch OpenSource, dennoch und
grade deswegen sind sie sicher bzw kann man ihnen vertrauen), sondern
weil die Einbindung in die Software dann nur generisch stattfinden
kann. Und dann gilt: kennste eins, kennste alle. Also wird frueher oder
spaeter jemand in der Lage sein, einfach die Software zu manipulieren
und den Dongle zu umgehen. Ok, man koennte sich ein tolles Verfahren
ausdenken, dass eine Aenderung der Software erschwert. Aber genau das
versuchen auch die Spielehersteller mit Nachdruck und scheinen damit
nicht sonderlich erfolgreich zu sein.

Wie siehts dann eigentlich mit ElektroG aus? Das wird dann ja auch fuer
die "reinen Software-Entwickler" nen Thema.

gruss, bjoern.

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einer meiner Dozenten hat einmal gesagt, Dass die Sicherheit eines
Kryptosystems nicht von der Geheimhaltung des Algorithmus abhängen
darf, sondern von der Geheimhaltung des Schlüssels.

Wie du schon richtig gesagt hast, viele Algorithmen für die
Kryptographie sind OS. Daher sollte es auch möglich sein, aus einer
Kombination der oben genannten Verfahren (Auslagern von Programmcode in
den Dongle, Verschlüsselte abfragen mit Public/Private-Key, Weiss ich
was noch alles) ein sicheres System zu entwerfen, bei dem jeder wissen
darf, wie es funktioniert.

Die Spielehersteller beschränken sich (aus Kostengründen?) auf reine
Softwarelösungen, ich denke daher ist deren Erfolg auch eher
beschränkt.

Gruss Thomas

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem offenen Algorithmus geht uebrigens noch nen Schritt weiter:
Der "Angreifer" darf aus vorhandenem plaintext und dazugehoerigem
verschluesselten Text nicht in der Lage sein, den Schluessel zu
ermitteln. Insgesamt, wie auch Kryptographie ansich, ein sehr sehr
spannendes Thema:
http://de.wikipedia.org/wiki/Kryptanalyse
http://www.schneier.com

Ok, ich schweife vom Thread ab.

Ich denke, dass es in den meissten Faellen nicht noetig ist, ein
absolut unknackbares Dongle zu entwerfen. Wenn man verhindert, dass es
damit erledigt ist, die CD ins Laufwerk zu legen und auf 1:1 Kopie zu
klicken, ist schon viel getan

gruss, bjoern.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ein Dongle-Schutz ist doch recht schnell ausgehebelt.

Vereinfachte Vorgehensweise:

 1.) Tracer starten, Software mit korrektem Dongle starten
     und wieder beenden.
     Nun hat man ein Trace-Log des korrekten Ablaufs.

 2.) Tracer erneut starten, Software mit falschem Dongel
     oder ohne Dongle starten.
     Nun hat man ein zweites Trace-Log.

 3.) Bei Trace-Logs miteinander vergleichen. An der Stelle
     wo sie sich unterscheiden, war die Dongle-Abfrage und
     diesen Programmteil muss gepatchd werden.

In der Realität muss man diesen Zyklus öfters durchgehen, da ja mehrer
Abfragen enthalten sein können etc. Aber das Schöne daran ist, es gibt
da fertige, sehr mächtige Debugger/Tracer mit denen das schon fast
automatisch geht.

Naja, und Auslagern eines Teil des Programms in den Dongle, ist auch
problematisch. Das Dongle hat nämlich im Vergleich zum PC eine
beschissene Rechenleistung und kaum Resourcesn. Also können nur
triviale und/oder kleine Teile ausgelagert werden. Kleine oder triviale
Routinen können aber wiederum leicht analysiert werden und
nachprogrammiert werden.

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bjoern:
Es ist halt die Frage, wie begehrt diese Software ist. :o)
Je nach dem Treibt man mehr Aufwand. Da aber 40% der in Deutschland
verwendeten Software Raubkopien sind (mal bei heise.de gelesen), mach
ein sicherer Kopierschutz schon Sinn...

Unbekannter:
Klingt ja Kinderleicht... leider... :o(
Aber auch nach einer Herausforderung! :o)

Ich denke, wenn man eine Kombination aus Verschlüsselung und
ausgelagerten Code richtig wählt, wird man auch mit einem
Trace-Programm keine Chance haben. Wenn man einen Teil des Programmes
entschlüsseln muss, damit dieser Funktionstüchtig wird, bringt es dem
Angreifer nichts, wenn er weiss wo der Dongle zum Einsatz kommt.
Oder mache ich wieder einen Überlegungfehler?

Gruss Thomas

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ueberlegungsfehler vielleicht nicht, aber die Frage ist, wie man so was
generisch, sprich fuer mehr als nur ein spezielles Programm, umsetzt.
So ein (relativ) sicheres Dongle muss schon beim Entwurf der Software
mit eingeplant sein. Man kann nicht einfach in vorhandene Software die
dongle.dll einbinden und gut ist.
Trotzdem bleit der Fakt: Knackbar ist alles. Wenn Funktionen
ausgelagert werden, dann bildet man die halt nach. Wie Unbekannter
schon schrieb, koennen nur kleinere, nicht rechenintensive
Programmteile ausgelagert werden.

Evtl noch ne "Homephone"-Funktion einbinden koennte was bringen. Vor
jedem Start erst Server kontaktieren und Seriennummer, MAC, IP und was
weiss ich uebermitteln. Dann ne weitere Uebermittlung, ob der Dongle
dran war oder nicht. Auch das laesst sich natuerlich umgehen, aber die
Chance, dass man den "Angreifer" anhand eines Vergleichs mit der
registrierten Seriennummer wenigstens einmal mit runtergelassenen Hosen
erwischt, steigert sich.

Ich hoers schon "Polizeistaat" aus dem Hintergrund rufen :)
Und das ist auch gut so, denn ehrliche Anwender werden das als Schikane
empfinden und im Zweifelsfall zur Konkurrenz gehen.

Man muss halt wirklich abschaetzen, wieviele Kunden man hat, wieviel
die Software kostet, und damit wie gross der Reiz ist, die Software
illegal zu kopieren. Dem entgegen setzt man angemessenen Aufwand beim
Schutz.

gruss, bjoern.

PS: Willkommen im Digitalen Zeitalter

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, gaengige Praxis ist es, solche "Homephone" Aktionen geschickt
zu verpacken, zb als Auto-Update beim Start. Oder in Form von
Online-Bibliotheken, wie zb bei T*rget. Oder man macht die Funktion
gleich von gestellten Servern abhaengig, wie es bei Online-Spielen
ueblich ist.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich denke, wenn man eine Kombination aus Verschlüsselung und
> ausgelagerten Code richtig wählt, wird man auch mit einem
> Trace-Programm keine Chance haben.

Das macht die Sache natürlich etwas komplizierter, aber nicht viel,
schließlich muss der entschlüsselte Code auch mal irgendwann ausgeführt
werden und in diesem Moment ist er greifbar.

Autor: SUCHER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist eigentlich der billigste USB Microcontroller????

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der einzige weg einen dongle sicher zu machen ist das programm soweit zu
  vermurksen dass man:
1. das prog nicht mehr debuggen kann (gibt dazu recht viele
anleitungen)
2. den asm-code nicht mehr verstehn kann
3. veränderungen am prog sicher detectieren kann
4. keine bösen progs im hintergund zulässt
5. darauch achtet möglichst keine win32-api udgl zu verwenden (damit
sieht man die struktur des progs recht schnell ;)

und warum das ganze?? ganz einfach.. selbst wenn da eine ganze funktion
aus dem dongle geladen werden sollte (wie auch immer man das mit
verschiedenen builds machen will) dann lass ich das prog laufen, starte
einen debugger und mach einen mem-dump... dann zieh ich den dongle,
patch die "kein dongle"-meldung raus und der mem dump rennt weil der
richtige code ja schon geladen ist ;)

zugegeben soo einfach hauts meist nicht hin aber fast ;)


bei extra hardware seh ich das prob das man sofort sieht wo da was
geholt wird und kann dort schön ansetzen... holt man sich z.b
festplatten-seriennummern,... ist das schon schwieriger zu
bewerkstelligen weil die funktionen meist noch andere infos hergeben
die 90% aller progs sowieso irgendwann mal haben wollen ...

so nach einem kleinen exkurs in die welt der "bösen it-experten"
jetzt zurück zum thema g

mega8 oder mega32 mit der komischen usb firmware sollte reichen... ist
beides recht einfach zu löten, billig und es gibt die sourcen im netz
;)

alles andere an controller-zeugs dürfte teurer sein.... microchip hat
in letzter zeit viele usb-controller rausgebacht.. da würd ich auch mal
nachschaun wie oben bereits erwähnt....

73

Autor: sucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist eigentlich der billigste USB Microcontroller????

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein kostenloses Sample egal von welchem Hersteller?

Autor: sucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat eigentlich schon jemand die Firmware auf einen Tiny (zb Tiny25) zum
laufen bekommen???

Unterstützt WIN-AVR den Tiny 25 ????

Autor: Hartig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tiny 25 gibt es nicht. Software um aus AVR einen USB Controller zu
machen gibt es auch nicht. OBDEV --->Noch nie gehört, wird es
vermutlich auch nicht geben.

Gibt es in diesem Forum keinen Moderator, der derartig falsche und
erlogene "Fakten" einfach löscht ??? Solche Forumseinträge sind doch
umsonst , oder ? Dongel kann man bei Matrixlock, Rainbow, Alladin, ...
fertig kaufen. Ausserdem sind Dongle sowieso schwachsinn

Autor: Die meisten Elche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dich gibt es aber unter Garantie auch nicht. Soll der Moderator Dich
jetzt auch löschen?

Autor: hand sieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da gibt es von ti einen usb controller da ist ein 8051 drin, glaub
tiusb3410 oder so. der zieht wahlweisse seine firmware vom computer
oder aus einem i2c eeprom. da kann man die kompletten descriptoren
selbst einstellen, was für einen kopierschutz schon mal ein schritt
ist.
letztendlich werden das dann auch (neben den enpoint 0) ein
zusätzlicher IN und ein OUT endpoint, der dannn wie eine uart bedient
werden kann.
dann sollte man eine art hash-algorithmus auf dem controller laufen
lassen, dann fliegen nur die hashes zwischen den usb dongle und dem
program hin und her.
da ich aber schon einige erfahrung mit kaputter(hust) software habe und
auch schon ein paar kaputt gemacht habe kann ich nur sagen: investiere
kein geld in einen kopierschutz!!! Mache die Software entsprechend
günstig das sich das jeder leisten kann der das braucht (evtl. rabatt
für studenten/schüler/...).
denn immer noch gilt:
NUR DATEN DIE NICHT EXISTIEREN, SIND WIRKLICH SICHER.
und:
ALLES WAS IRGENDWIE(!) GELESEN WERDEN KANN, KANN KOPIERT WERDEN.

Autor: hand sieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hartig, erst denken (und evtl. mal die augen auf machen und suchen),
dann schreiben

attiny25:
http://www.atmel.com/dyn/products/product_card.asp...

obdev:
http://www.obdev.at/products/avrusb/index.html

igorplug:
http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%...

igor hat übrigens sogar eine appnote bei atmel eingereicht, die kann
man auch runter laden.
gehirn in hartig's kopf? --> gibt es nicht, ich hab jedenfalls nichts
davon gehört

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.