Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/07/2007, à 00:10

zizitop

reverse engeneering (dll windows-> Linux)

Bonjour,
Je vien d'acheté un oscilloscope numérique pour PC (USB) pas trop cher, sauf que pour l'utiliser j'ai besoin du programme fournit par le fabricant, ou bien je peux programmer le tout à l'aide d'une dll. J'aimerai pouvoir  refaire cette dll pour faire tourner le tout sous Linux. ( biensur avec toutes les techniques plus ou moins légal pour y parvenir...), des idées? 
je pense fair comme ceci:
1) casser la dll
2) refaire la dll sous windows
3) singer la dll refaite sous windows pour en faire une sous Linux

#2 Le 18/07/2007, à 01:06

Link31

Re : reverse engeneering (dll windows-> Linux)

Bon courage, tu vas en avoir besoin.

Hors ligne

#3 Le 18/07/2007, à 04:41

rlb29

Re : reverse engeneering (dll windows-> Linux)

Et le programme fourni par le fabricant de ton oscillo ne tournerait pas sous Wine ?


Debian-sid  - kernel  2.6.30-5-amd64 - gestionnaire de fenêtres : xmonad

Hors ligne

#4 Le 18/07/2007, à 10:21

Link31

Re : reverse engeneering (dll windows-> Linux)

rlb29 a écrit :

Et le programme fourni par le fabricant de ton oscillo ne tournerait pas sous Wine ?

Je vien d'acheté un oscilloscope numérique pour PC (USB)

Si tous les drivers USB pouvaient fonctionner sous Wine, ça serait tellement plus simple...

Hors ligne

#5 Le 18/07/2007, à 17:37

pef

Re : reverse engeneering (dll windows-> Linux)

Peut-être regarder les trames usb avec des outils comme usbsnoop pour comprendre le protocole ?

Hors ligne

#6 Le 18/07/2007, à 17:55

Link31

Re : reverse engeneering (dll windows-> Linux)

Le comble, c'est que pour faire du reverse-engineering sur du hardware, on a souvent besoin... d'un oscilloscope hmm

Hors ligne

#7 Le 18/07/2007, à 21:08

zizitop

Re : reverse engeneering (dll windows-> Linux)

Oui je suis d'accord que le problème se mord la queue...
merci pef pour "usbsnoop", je vais étudier cette possibilité qui est un bon début, connais-tu d'autres logiciel de ce type?
Bon ce projet semble infqiseble, mqis bon je me disais la même chose en stage avec les dll bugger où il fallait contourner les problème...  pour info l'oscillo est un  PCSU1000 de chez Velleman (http://www.velleman.fr/fr/fr/product/view/?id=362986#), au cas où quelqu'un ai une idée...

merci à tous

#8 Le 19/07/2007, à 08:31

Freddy

Re : reverse engeneering (dll windows-> Linux)

Une bonne idée serait aussi d'en parler au constructeur, avant d'essayer d'écrire un pilote. Même si il ne te fournira probablement pas un pilote pour Linux, ça aura au moins l'intérêt de lui faire prendre conscience qu'il existe des gens qui utilisent son matériel sous Linux. Essaie d'enrober un peu la chose en lui disant que ça lui ferait des clients en plus, que tu ferais la pub' de cet oscillo...


There is no system but GNU, and Linux is one of its kernels.

Hors ligne

#9 Le 19/07/2007, à 20:10

YokoUno

Re : reverse engeneering (dll windows-> Linux)

Si Velleman USA fait la sourde oreille :

Dans cette archive il y a un pdf qui documente les fonctions exportées par la dll.
Ce que tu pourrais faire c'est un programme delphi (ou bcb, ou vb) qui invoque à tour de rôle les fonctions de la dll, avec divers paramètres, et dans chacun des cas espionner le traffic usb ainsi que le suggère pef.

Bon courage, faire du reverse prend beaucoup de temps hmm

#10 Le 20/07/2007, à 22:30

slapierre

Re : reverse engeneering (dll windows-> Linux)

Avec le contenu de l'archive, tu as tout ce qu'il faut comme informations pour créer le module ("driver") de gestion de l'oscilloscope ainsi que le programme utilisateur.

Regarde le chapitre sur l'USB dans le classique "Linux Device Drivers v3"  : http://www.oreilly.com/catalog/linuxdrive3/book/index.csp

Simon


"Le spectre de la folie nous empêchera-t-il de hisser l'étendard de l'imagination?" - André Breton

Hors ligne

#11 Le 04/01/2008, à 17:47

pef

Re : reverse engeneering (dll windows-> Linux)

slapierre a écrit :

Avec le contenu de l'archive, tu as tout ce qu'il faut comme informations pour créer le module ("driver") de gestion de l'oscilloscope ainsi que le programme utilisateur.

Regarde le chapitre sur l'USB dans le classique "Linux Device Drivers v3"  : http://www.oreilly.com/catalog/linuxdrive3/book/index.csp

Simon

(désolé pour le déterrage)

O๠est-ce que tu trouve dans l'archive la doc ? Je ne trouve que des infos sur l'utilisation des fonctions exportées par la dll, en basic et en pascal.

Sinon conseiller un tel ouvrage, c'est foutre en l'air les soirées et week-end de notre ami lol (sans compter que c'est sacrément costaud, et demande un bagage en programmation système)

Hors ligne

#12 Le 04/01/2008, à 20:00

slapierre

Re : reverse engeneering (dll windows-> Linux)

pef a écrit :

Je ne trouve que des infos sur l'utilisation des fonctions exportées par la dll, en basic et en pascal.

Comme tu l'as mentionné dans un post précédent, le mieux serait d'appeler toutes les fonctions de la DLL avec un USB sniffer pour comprendre le format des trames. à‰tant donné que la documentation fournit toutes les infos sur les appels pouvant être passés à  la librairie, tu as tout ce qu'il te faut pour faire du reverse!

pef a écrit :

Sinon conseiller un tel ouvrage, c'est foutre en l'air les soirées et week-end de notre ami lol (sans compter que c'est sacrément costaud, et demande un bagage en programmation système)

Je ne trouve pas que c'est une lecture trop lourde, certes ça demande un investissement, mais ce n'est pas impossible pour quelqu'un de motivé. De toute façon, je n'était pas pour conseillé un livre de oui-oui...

Simon


"Le spectre de la folie nous empêchera-t-il de hisser l'étendard de l'imagination?" - André Breton

Hors ligne

#13 Le 04/01/2008, à 20:15

pef

Re : reverse engeneering (dll windows-> Linux)

slapierre a écrit :

Comme tu l'as mentionné dans un post précédent, le mieux serait d'appeler toutes les fonctions de la DLL avec un USB sniffer pour comprendre le format des trames. à‰tant donné que la documentation fournit toutes les infos sur les appels pouvant être passés à  la librairie, tu as tout ce qu'il te faut pour faire du reverse!

Ok, j'avais cru comprendre quand tu disais "Avec le contenu de l'archive, tu as tout ce qu'il faut comme informations pour créer le module ("driver") de gestion de l'oscilloscope ainsi que le programme utilisateur. qu'il s'agissait d'informations sur le fonctionnement matériel permettant d'écrire directement un pilote Linux.

Ne l'ayant pas trouvé, je me suis donc posé la question smile


Je ne trouve pas que c'est une lecture trop lourde, certes ça demande un investissement, mais ce n'est pas impossible pour quelqu'un de motivé. De toute façon, je n'était pas pour conseillé un livre de oui-oui...

Simon

J'ai lu ce livre il y a quelques temps, et j'ai trouvé qu'il va trop vite au coeur du code. D'un cà´té c'est bien, il est possible d'écrire très rapidement du code et d'avoir des résultats, mais plus tard, en faisant du code plus élaboré, je me suis aperçu que je manquais de concepts plus globaux sur le noyau, tels que la différence entre un thread entre espace utilisateur et noyau, quand privilégier un spinlock par rapport à  un sémaphore, et d'autres choses encore.

C'est mon avis personnel évidemment.

Hors ligne