Guten Tag,
Es gibt ein USB-HID-Gerät names CronusMax.
Wie kann ich das Gerät vom Programm erkennen lassen und dann Skript/s darauf installieren?
Mit freundlichen Grüßen,
xXSkyWalkerXx1 ^^
Zugang zu USB-HID-Geräten verschaffen?
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@xXSkyWalkerXx1: Hast Du denn eine Beschreibung des Protokolls über das man mit dem Gerät kommunizieren muss?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Das kann dir hier keiner sagen. Prinzipiell kannst du https://github.com/trezor/cython-hidapi benutzen, um mit dem Ding zu reden. Nur musst du deine Skripte ja kompilieren, und dann auf das Ding bekommen. Das geht mit deren IDE, aber generisch ist da nix. Entweder hartes reverse engineering von allem, oder du hast Glueck und die haben zB einen compiler, den du einfach benutzen kannst. Und dann ist es "nur" das HID device ansprechen um das Skript draufzukriegen. Aber auch das ist kein Standardweg.
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Habe mal nachgeschaut und nichts gefunden.__blackjack__ hat geschrieben: ↑Montag 2. Juli 2018, 16:52 @xXSkyWalkerXx1: Hast Du denn eine Beschreibung des Protokolls über das man mit dem Gerät kommunizieren muss?
Und ich selbst kenne mich da noch nicht aus.
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Warte mal, ich glaube die haben ne API hochgeladen - da müsste doch was stehen oder?__deets__ hat geschrieben: ↑Montag 2. Juli 2018, 17:01 Das kann dir hier keiner sagen. Prinzipiell kannst du https://github.com/trezor/cython-hidapi benutzen, um mit dem Ding zu reden. Nur musst du deine Skripte ja kompilieren, und dann auf das Ding bekommen. Das geht mit deren IDE, aber generisch ist da nix. Entweder hartes reverse engineering von allem, oder du hast Glueck und die haben zB einen compiler, den du einfach benutzen kannst. Und dann ist es "nur" das HID device ansprechen um das Skript draufzukriegen. Aber auch das ist kein Standardweg.
Denn CronusPro enthält ein Compiler.
Was heisst "CronusPro enthaelt einen Compiler"? Das USB-Geraet selbst? Ganz bestimmt nicht, das ist ein popeliger AVR-Kern mit 16MHz. Da laeuft kein Compiler drauf. Sondern nur ein Interpreter fuer deine Skripte. Das die Software fuer den CronusPro die Skript compiliert ist klar. Das meinte ich mit "IDE". Ob *du* die Skripte von deinem Python-Programm aus selbst uebersetzen kannst, ohne die IDE benutzen zu muessen, das kann ich so nicht sagen. Wenn die eine Api "hochgeladen" haben, dann steht da vielleicht was dazu, ja. Ich hab' da nix gefunden.
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
CronusPro ist ja das Programm, nicht das Gerät.__deets__ hat geschrieben: ↑Montag 2. Juli 2018, 17:20 Was heisst "CronusPro enthaelt einen Compiler"? Das USB-Geraet selbst? Ganz bestimmt nicht, das ist ein popeliger AVR-Kern mit 16MHz. Da laeuft kein Compiler drauf. Sondern nur ein Interpreter fuer deine Skripte. Das die Software fuer den CronusPro die Skript compiliert ist klar. Das meinte ich mit "IDE". Ob *du* die Skripte von deinem Python-Programm aus selbst uebersetzen kannst, ohne die IDE benutzen zu muessen, das kann ich so nicht sagen. Wenn die eine Api "hochgeladen" haben, dann steht da vielleicht was dazu, ja. Ich hab' da nix gefunden.
Das Gerät ist der CronusMax.
Kurz:
CronusMax = Gerät
CronusPro = Compiler mit weiteren Features
Achso. Wie kann man denn sowas übersetzen?
Was müsste das Programm machen?
Wo/Was hast nichts gefunden - die API oder nützliche Infos aus der API?
Kann ja die API hier hochladen wenn du sie nicht haben solltest.
Es muss ein Programm geben wie zb cl.exe bei VisualStudio, das dort C++ nach Maschinensprache uebersetzt. Nur eben fuer dein GDC. Ob es das gibt, oder ob die den eingebaut haben in CronusPro so das man ohne die komplette IDE nix machen kann, kann ich dir nicht sagen. Dazu muesstest du mal deine Installation durchforsten, was da so drin is, und mit Task-Manager und Debugger schauen, was die Anwendung macht, wenn du auf den compile-Button drueckst.
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
In der API Datei sind 3 "interessante" Datein, die wie das Herz des Programmes aussehen - sind aber auch leider verschlüsselt.__deets__ hat geschrieben: ↑Montag 2. Juli 2018, 17:46 Es muss ein Programm geben wie zb cl.exe bei VisualStudio, das dort C++ nach Maschinensprache uebersetzt. Nur eben fuer dein GDC. Ob es das gibt, oder ob die den eingebaut haben in CronusPro so das man ohne die komplette IDE nix machen kann, kann ich dir nicht sagen. Dazu muesstest du mal deine Installation durchforsten, was da so drin is, und mit Task-Manager und Debugger schauen, was die Anwendung macht, wenn du auf den compile-Button drueckst.
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@xXSkyWalkerXx1: API meint für Programmierer das es da eine Dokumentation gibt die einem sagt wie die Schnittstelle für den Programmierer aussieht. Das können per Definition keine ”interessanten” verschlüsselten Dateien sein. Ich bin mir auch nicht sicher ob Du den Begriff „verschlüsselt“ hier richtig verwendest. Wahrscheinlich sind es Kompilate. Nur weil Du etwas nicht lesen kannst, ist es ja nicht verschlüsselt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Achsu, die ... aber ne, die 3 Dateien sind wirklich verschlüsselt - zeigte mir mein RasPi an, beim Versuch es zu öffnen.
Sowas eben lerne ich noch - die Begriffe und so...
EDIT: In der API lässt sich allerdings nichts über die Compilierung finden.
Sowas eben lerne ich noch - die Begriffe und so...
EDIT: In der API lässt sich allerdings nichts über die Compilierung finden.
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@xXSkyWalkerXx1: Was zeigte Dir Dein RasPi an, und wie hast Du versucht die Dateien zu öffnen?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Momentmal, ich glaube sie ist garnicht verschlüsselt.
Habe wahrscheinlich gerade mein Fehler erkannt!
Aber wie kann ich dann ne ".dll" öffnen?
Habe wahrscheinlich gerade mein Fehler erkannt!
Aber wie kann ich dann ne ".dll" öffnen?
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Achsu. Und wie könnte ich sie über Windows öffnen?
Hab ja auch nen Windows PC... ^^
Hab ja auch nen Windows PC... ^^
Ich hab' nicht oeffnen geschrieben. Ich habe ausfuehren geschrieben. Das ist Programmcode.
Den du so ohne weiteres nicht ausfuehren kannst. Theoretisch kannst du die DLLs in Python laden mit ctypes, und die darin enthaltenen Funktionen aufrufen. Praktisch kann das sehr schwer werden, weil es davon abhaengt, was genau in den DLLs ist, und ob das verstaendlich genug ist, um das ohne API-Dokumentation zu nutzen. Und wenn es sich dabei um C++ handelt, das darin enthalten ist, wuerde ich sogar so weit gehen zu sagen, dass es praktisch nicht machbar ist.
Vor allem aber stellt sich mir die Frage: warum? Da du noch nicht mal weisst, was eine DLL *ist*, ist es doch fraglich, ob du die ueberhaupt *brachst* fuer dein Vorhaben? Woher weisst du das denn?
Den du so ohne weiteres nicht ausfuehren kannst. Theoretisch kannst du die DLLs in Python laden mit ctypes, und die darin enthaltenen Funktionen aufrufen. Praktisch kann das sehr schwer werden, weil es davon abhaengt, was genau in den DLLs ist, und ob das verstaendlich genug ist, um das ohne API-Dokumentation zu nutzen. Und wenn es sich dabei um C++ handelt, das darin enthalten ist, wuerde ich sogar so weit gehen zu sagen, dass es praktisch nicht machbar ist.
Vor allem aber stellt sich mir die Frage: warum? Da du noch nicht mal weisst, was eine DLL *ist*, ist es doch fraglich, ob du die ueberhaupt *brachst* fuer dein Vorhaben? Woher weisst du das denn?
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@xXSkyWalkerXx1: Was meinst Du mit ”öffnen”? Da ist Maschinensprache drin die Dein Prozessor ausführen kann, und eventuell auch Daten. Wobei es heutzutage auch möglich wäre das .NET-Bytecode für die .NET-VM enthalten ist. Dann könnte man den Code *vielleicht* auch auf einem Raspi verwenden. Auf jeden Fall bräuchte man eine API-Beschreibung, denn an den exportierten Symbolen alleine wird man wohl nur in seltenen/einfachen Fällen raten können wie man die API benutzt.
Werkzeug für native DLLs wäre beispielsweise Dependency Walker. Für .NET gibt's sicher auch irgendwas was da ein wenig Reflection betreibt.
Werkzeug für native DLLs wäre beispielsweise Dependency Walker. Für .NET gibt's sicher auch irgendwas was da ein wenig Reflection betreibt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Naja, ob ich die brauch, weiß ich nicht 100%, allerdings habe ich alle anderen Datein durchforstet - nichts was zur Übertragung der Daten zum CronusMax ist enthalten.__deets__ hat geschrieben: ↑Montag 2. Juli 2018, 21:36 Ich hab' nicht oeffnen geschrieben. Ich habe ausfuehren geschrieben. Das ist Programmcode.
Den du so ohne weiteres nicht ausfuehren kannst. Theoretisch kannst du die DLLs in Python laden mit ctypes, und die darin enthaltenen Funktionen aufrufen. Praktisch kann das sehr schwer werden, weil es davon abhaengt, was genau in den DLLs ist, und ob das verstaendlich genug ist, um das ohne API-Dokumentation zu nutzen. Und wenn es sich dabei um C++ handelt, das darin enthalten ist, wuerde ich sogar so weit gehen zu sagen, dass es praktisch nicht machbar ist.
Vor allem aber stellt sich mir die Frage: warum? Da du noch nicht mal weisst, was eine DLL *ist*, ist es doch fraglich, ob du die ueberhaupt *brachst* fuer dein Vorhaben? Woher weisst du das denn?
Und da ist es sehr wahrscheinlich, dass dann nur noch in der DLL was stehen kann.
Und ich weiß in etwa was ne DLL ist.