[C# .net] Binaire généré par VS

Le
Zainal
Bonjour à tous,

J'ai une question peut être un peu bizarre. Voila, j'ai comparé deux exe
généré par VS à partir de mes sources en C# et bien que les source et le
projet soit identique, les exe n'ont rien à voir entre eux. Les zones de type
string par exemple sont mélangées etc. Est ce une "sorte" d'obsfucateur
que VS intègre ou bien est ce le linker qui fait ça ? De plus il est très
important pour l'entreprise ou je travaille de pouvoir regénérer le MEME exe
à partir des mêmes sources. Est ce possible ? Et si oui comment ? (options du
linker ou autre)

PS : Je travaille sous Visual C# Express mais si ce n'est possible qu'avec
VS donnez moi la solution quand même ^^

Bonne journée
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Simon Mourier [SoftFluent]
Le #12202061
Globalement, ce n'est pas vraiment possible de garantir une telle chose.
A priori, de toutes façons, ce n'est pas une bonne idée de bâtir quoi que ce
soit qui serait fonction du pur contenu binaire d'un exécutable. Il vaut
mieux utiliser les systèmes de version Win32 ou .NET, les signatures
numériques, etc...

Que cherchez vous à faire au départ?

Simon.
www.softfluent.com

"Zainal"
Bonjour à tous,

J'ai une question peut être un peu bizarre. Voila, j'ai comparé deux exe
généré par VS à partir de mes sources en C# et bien que les source et le
projet soit identique, les exe n'ont rien à voir entre eux. Les zones de
type
string par exemple sont mélangées etc.... Est ce une "sorte" d'obsfucateur
que VS intègre ou bien est ce le linker qui fait ça ? De plus il est très
important pour l'entreprise ou je travaille de pouvoir regénérer le MEME
exe
à partir des mêmes sources. Est ce possible ? Et si oui comment ? (options
du
linker ou autre)

PS : Je travaille sous Visual C# Express mais si ce n'est possible qu'avec
VS donnez moi la solution quand même ^^

Bonne journée


Zainal
Le #12202051
Je ne comprend pas pourquoi ce n'est pas une chose qui peut être garantie. En
C ou en C++ par exemple, les même sources générent toujours le même exe !
Pourquoi ce n'est pas vrai pour .NET. On se pose la question pour des
problèmes d'audit qualité. Nous devons pouvoir garantir de savoir regénérer
un exe de manière parfaitement identique un exe.

Bonne journée

"Simon Mourier [SoftFluent]" a écrit :

Globalement, ce n'est pas vraiment possible de garantir une telle chose.
A priori, de toutes façons, ce n'est pas une bonne idée de bâtir quoi que ce
soit qui serait fonction du pur contenu binaire d'un exécutable. Il vaut
mieux utiliser les systèmes de version Win32 ou .NET, les signatures
numériques, etc...

Que cherchez vous à faire au départ?

Simon.
www.softfluent.com

"Zainal"
> Bonjour à tous,
>
> J'ai une question peut être un peu bizarre. Voila, j'ai comparé deux exe
> généré par VS à partir de mes sources en C# et bien que les source et le
> projet soit identique, les exe n'ont rien à voir entre eux. Les zones de
> type
> string par exemple sont mélangées etc.... Est ce une "sorte" d'obsfucateur
> que VS intègre ou bien est ce le linker qui fait ça ? De plus il est très
> important pour l'entreprise ou je travaille de pouvoir regénérer le MEME
> exe
> à partir des mêmes sources. Est ce possible ? Et si oui comment ? (options
> du
> linker ou autre)
>
> PS : Je travaille sous Visual C# Express mais si ce n'est possible qu'avec
> VS donnez moi la solution quand même ^^
>
> Bonne journée





Simon Mourier [SoftFluent]
Le #12202031
Ce n'est pas forcément vrai non plus en C / C++, ça dépend aussi du
compilateur, de l'environnement, ou n'importe quoi d'autre. Rien dans la
norme des langages ne spécifie le format complet du binaire final.
De toutes façons, il ne faut pas baser un système sur le pur contenu binaire
d'un fichier exécutable. Si vous cherchez à protéger ou signer l'exécutable
par exemple, il existe d'autres techniques (par exemple authenticode)

Simon.
www.softfluent.com



"Zainal"
Je ne comprend pas pourquoi ce n'est pas une chose qui peut être garantie.
En
C ou en C++ par exemple, les même sources générent toujours le même exe !
Pourquoi ce n'est pas vrai pour .NET. On se pose la question pour des
problèmes d'audit qualité. Nous devons pouvoir garantir de savoir
regénérer
un exe de manière parfaitement identique un exe.

Bonne journée

"Simon Mourier [SoftFluent]" a écrit :

Globalement, ce n'est pas vraiment possible de garantir une telle chose.
A priori, de toutes façons, ce n'est pas une bonne idée de bâtir quoi que
ce
soit qui serait fonction du pur contenu binaire d'un exécutable. Il vaut
mieux utiliser les systèmes de version Win32 ou .NET, les signatures
numériques, etc...

Que cherchez vous à faire au départ?

Simon.
www.softfluent.com

"Zainal" news:

> Bonjour à tous,
>
> J'ai une question peut être un peu bizarre. Voila, j'ai comparé deux
> exe
> généré par VS à partir de mes sources en C# et bien que les source et
> le
> projet soit identique, les exe n'ont rien à voir entre eux. Les zones
> de
> type
> string par exemple sont mélangées etc.... Est ce une "sorte"
> d'obsfucateur
> que VS intègre ou bien est ce le linker qui fait ça ? De plus il est
> très
> important pour l'entreprise ou je travaille de pouvoir regénérer le
> MEME
> exe
> à partir des mêmes sources. Est ce possible ? Et si oui comment ?
> (options
> du
> linker ou autre)
>
> PS : Je travaille sous Visual C# Express mais si ce n'est possible
> qu'avec
> VS donnez moi la solution quand même ^^
>
> Bonne journée







Paul Bacelar
Le #12201971
En plus, sous Windows, les fichiers exécutables ont dans leur en-tête la
date (timestamp) de compilation, donc toute compilation ne peut générer
qu'un exécutable (légèrement) différent. Si vous êtes dans une approche
traçabilité, je pense que des outils comme un Serveur de Symbols plus un
serveur de source utilisant un outil de gestion de configuration à la
ClearCase ou VSS font largement l'affaire.
--
Paul Bacelar
MVP VC++


"Simon Mourier [SoftFluent]" news:
Ce n'est pas forcément vrai non plus en C / C++, ça dépend aussi du
compilateur, de l'environnement, ou n'importe quoi d'autre. Rien dans la
norme des langages ne spécifie le format complet du binaire final.
De toutes façons, il ne faut pas baser un système sur le pur contenu
binaire d'un fichier exécutable. Si vous cherchez à protéger ou signer
l'exécutable par exemple, il existe d'autres techniques (par exemple
authenticode)

Simon.
www.softfluent.com



"Zainal" news:
Je ne comprend pas pourquoi ce n'est pas une chose qui peut être
garantie. En
C ou en C++ par exemple, les même sources générent toujours le même exe
!
Pourquoi ce n'est pas vrai pour .NET. On se pose la question pour des
problèmes d'audit qualité. Nous devons pouvoir garantir de savoir
regénérer
un exe de manière parfaitement identique un exe.

Bonne journée

"Simon Mourier [SoftFluent]" a écrit :

Globalement, ce n'est pas vraiment possible de garantir une telle chose.
A priori, de toutes façons, ce n'est pas une bonne idée de bâtir quoi
que ce
soit qui serait fonction du pur contenu binaire d'un exécutable. Il vaut
mieux utiliser les systèmes de version Win32 ou .NET, les signatures
numériques, etc...

Que cherchez vous à faire au départ?

Simon.
www.softfluent.com

"Zainal" news:

> Bonjour à tous,
>
> J'ai une question peut être un peu bizarre. Voila, j'ai comparé deux
> exe
> généré par VS à partir de mes sources en C# et bien que les source et
> le
> projet soit identique, les exe n'ont rien à voir entre eux. Les zones
> de
> type
> string par exemple sont mélangées etc.... Est ce une "sorte"
> d'obsfucateur
> que VS intègre ou bien est ce le linker qui fait ça ? De plus il est
> très
> important pour l'entreprise ou je travaille de pouvoir regénérer le
> MEME
> exe
> à partir des mêmes sources. Est ce possible ? Et si oui comment ?
> (options
> du
> linker ou autre)
>
> PS : Je travaille sous Visual C# Express mais si ce n'est possible
> qu'avec
> VS donnez moi la solution quand même ^^
>
> Bonne journée











Publicité
Poster une réponse
Anonyme