Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1426 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [CRC - Matlab] Problème de CRC après génération DLL via matlab

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[CRC - Matlab] Problème de CRC après génération DLL via matlab

n°2250674
haaawaaax
Posté le 12-02-2015 à 10:45:50  profilanswer
 

Bonjour à tous,
 
Je bloque sur un problème depuis 2 jours, concernant le CRC de 2 fichiers "identiques".
 
Explication :
Je génère ma DLL avec matlab par exemple à 15h05.
A 15h06, je regénère cette même DLL (les sources n'ont pas changé d'un poil).  
Les deux DLL générées ont un poid identique (à l'octet près).
 
Lorsque je compare les CRC de ces 2 DLL, ils sont différents.
Ma question, comment éviter d'avoir le CRC impacté par la date de génération ?  
Ou comment faire en sorte que l'outil CRC ne tienne pas compte de la date de génération ?
 
Si quelqu'un à été confronté au même problème ou si il a une petite idée, qu'il n'hésites pas à se manifester ! :)
Bonne journée et d'avance merci !

mood
Publicité
Posté le 12-02-2015 à 10:45:50  profilanswer
 

n°2250709
haaawaaax
Posté le 12-02-2015 à 14:10:21  profilanswer
 

Du moins est ce que vous pensez que c'est possible ? ou est-ce qu'un CRC prends en compte obligatoirement la date de création ?  
Merci.

n°2250740
bjone
Insert booze to continue
Posté le 12-02-2015 à 18:21:49  profilanswer
 

A priori la date de link est dans le header de la DLL, donc elles sont différentes au niveau binaire.  
 
Qu'est-ce que tu veux faire avec ton CRC ?

n°2250769
haaawaaax
Posté le 13-02-2015 à 10:11:46  profilanswer
 

Merci de ta réponse.
Le but est de prouver que mes deux DLL sont les mêmes, hormis la date de création (même code). je pensais pouvoir avoir les deux même CRC mais la date fait varier le tout.
 
Lorsque je compare les deux DLL avec Beyond Compare il me trouve une différence sur la deuxième ligne (qui doit correspondre a la date du header) et aussi une différence en plein milieu des data (ligne 400).
 
Cette deuxième différence me fait peur car je vois pas ce qu'une date viendrait faire au milieux des datas.  
 
Mais plus j'y pense, plus je me dit que ce n'est pas possible d'avoir un CRC égale avec 2 fichiers générés à des moments différents.

n°2250788
bjone
Insert booze to continue
Posté le 13-02-2015 à 13:36:05  profilanswer
 

La date du filesystem n'est pas prise en compte, ce n'est que le contenu qui joue.
 
A plus haut niveau, pourquoi tu veux prouver que deux DLLs sont identiques ?
Car là vu que tu patauges, c'est que c'est plus un moyen que tu penses pertinent pour atteindre un objectif, mais pas la solution.

n°2250799
dardanelle​s
Posté le 13-02-2015 à 14:51:19  profilanswer
 

c'est l'inconvenient de la compil sous windows : le compilateur ajoute des infos locales (date, chemins des fichiers...).
Je ne sais pas si en changeant de compilo ou d'options de linkage, ca peut marcher

n°2250814
haaawaaax
Posté le 13-02-2015 à 16:44:09  profilanswer
 

Et bien j'ai l'impression que la date du filesystem est prise en compte !
Mes datas sont identiques mais pas le CRC, obligé que la date soit impliquée.
 
C'est pour le boulot, on a besoin de prouver que nos DLL sont identiques, même générées à des heures différentes (tant que les sources ne changent pas). Je suis parti sur l'idée du CRC, mais visiblement ça ne correspond pas totalement à notre besoin.  
Je vais continuer à chercher.
 
Je te remercie pour tes réponses.

n°2250815
haaawaaax
Posté le 13-02-2015 à 16:49:40  profilanswer
 

Oui Dardanelles, peut être qu'un autre compilo pourrait changer la done, le problème est que nous générons nos DLL avec matlab et qu'il est compliqué de changer notre chaine de génération.
Je vais quand même investiguer sur les options de compilation.
Merci !

n°2250915
bjone
Insert booze to continue
Posté le 16-02-2015 à 10:07:46  profilanswer
 

haaawaaax a écrit :

Et bien j'ai l'impression que la date du filesystem est prise en compte !
Mes datas sont identiques mais pas le CRC, obligé que la date soit impliquée.


T'as fait une comparaison binaire des DLLs ?
 

Citation :

C'est pour le boulot, on a besoin de prouver que nos DLL sont identiques, même générées à des heures différentes (tant que les sources ne changent pas).


 
Ç'est quoi l'objectif ? Ça ressemble à vouloir signer vos binaires sans savoir que c'est ce que vous voulez :D


Message édité par bjone le 17-02-2015 à 16:28:12
n°2251034
haaawaaax
Posté le 17-02-2015 à 14:20:59  profilanswer
 

Oui j'ai fait une comparaison binaire des DLLs.
Après concernant l'objectif, le but est de prouver les DLLs sont identiques.
 
Du coup je vais plutot prouver que mes sources sont identiques, ce sera moins contraignant.
 
Merci de vos remarques !
Bonne journée.

mood
Publicité
Posté le 17-02-2015 à 14:20:59  profilanswer
 

n°2251145
_MoebiuS_
Paranoïd Androïd
Posté le 18-02-2015 à 14:46:09  profilanswer
 

Plop. C'est avec quel compilateur ?


---------------
The Magic Words are Squeamish Ossifrage.
n°2251265
haaawaaax
Posté le 20-02-2015 à 11:32:21  profilanswer
 

Bonjour,
J'utilise Visual Studio 2008 Version 9.0  Professional Edition.
Des idées sur comment lui dire de ne pas prendre en compte la date lors de la génération ?  
Car prouver que mes sources sont identiques ne me permet pas de prouver que mes DLL générées sont identiques.
 
Merci et bonne journée.

n°2251267
haaawaaax
Posté le 20-02-2015 à 11:33:38  profilanswer
 

Bonjour,
J'utilise Visual Studio 2008 Version 9.0  Professional Edition.
Des idées sur comment lui dire de ne pas prendre en compte la date lors de la génération ?  
Car prouver que mes sources sont identiques ne me permet pas de prouver que mes DLL générées sont identiques.
 
Merci et bonne journée.

n°2251277
gilou
Modérateur
Modzilla
Posté le 20-02-2015 à 12:18:17  profilanswer
 

haaawaaax a écrit :

Bonjour,
J'utilise Visual Studio 2008 Version 9.0  Professional Edition.
Des idées sur comment lui dire de ne pas prendre en compte la date lors de la génération ?

Tu ne peux pas, il y a un champ TimeDateStamp qui apparait à plusieurs reprises dans la structure du format des exécutables ou dll: http://en.wikibooks.org/wiki/X86_D [...] able_Files et tu n'as pas de contrôle cette génération. Quand je dis à plusieurs reprises, cf cet article: http://waleedassar.blogspot.fr/201 [...] iewer.html  
Vu que tu fais de la cross compilation, il te faudra déterminer quels emplacements sont effectivement écrits par ton compilo.
Tout au plus, à postériori, tu peux aller modifier ces champs avec un programme qui va modifier "en place": http://stackoverflow.com/questions [...] s-any-tool

haaawaaax a écrit :

Car prouver que mes sources sont identiques ne me permet pas de prouver que mes DLL générées sont identiques.
 
Merci et bonne journée.

Et c'est bien normal, car rien ne dit qu'avec les mêmes sources, tu utilises les mêmes options de compilation, voire le même compilo.
A+,


Message édité par gilou le 20-02-2015 à 12:21:42

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2251468
haaawaaax
Posté le 23-02-2015 à 10:51:43  profilanswer
 

Merci beaucoup Gilou pour ces informations !
je vais regarder les emplacements écrits par mon compilo.
Bonne journée à toi.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [CRC - Matlab] Problème de CRC après génération DLL via matlab

 

Sujets relatifs
[Res]Problème d'encodage sous fvwm des pages de manuels Gnu/Linux.Probleme preg_replace_callback
HTML/CSS Probleme de format Besoin d'aide !!![Curl] problème d'interprétation des quotes
[Résolu] Problème Index.html quand hébergéProbleme connexion yahoo CSS
[PHP] [Curl] Problème avec les espacesProblème police d'écriture PC/téléphone
Génération impossible de PDF sur call Ajax.Jeu de plateforme AS3 (problème de passage de niveau)
Plus de sujets relatifs à : [CRC - Matlab] Problème de CRC après génération DLL via matlab


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR