Et avec la puissance des machines d’aujourd’hui, aucune n’arrive à désassembler ce code ?
[quote]Non, je veux dire si on ordonne à une machine (je dis n’importe quoi)
CONVERT
010001
TO
E
CONVERT
001000
TO
C
CONVERT
010000
TO
H
CONVERT
100010
TO
O
pour faire transformer ça en “echo” afin d’arriver par la suite au code source complet.[/quote]Ce n’est aussi simple que ça…En fait ton processeur effectue des opérations sur des suites binaires pour executer un programme donc ce n’est pas parce que tu as 010001 001000 010000 100010 dans ton binaire que ça veut dire echo au niveau du programme.En fait il faudrait plutot regarder du coté du langage assembleur et de la machine de Turing.Enfin je dis tout ca mais j’y connais rien moi…
pour te donner un exemple wavesound, pourquoi la theorie de ce que tu demandes est imposssible.( me semble impossible en tout cas.)
imaginons trois fonctions:
void Function_1(int x){ return x * x; };
void Function_2(int x){ return x * x; };
void Function_3(int x){ return x * x; };
ça va te paraitre bete, mais dans notre cas les 3 font la meme chose.
elles prennent x en entier, et retourne x au carré. c’est pas la mort, avec ton 3.5 en math tu vas capter.
bah en assembleur, ces trois fonctions vont etre codées de la meme façon. (puisqu’elles font la même chose!). l’ordinateur ne va pas garder en memoire que ta fonction a pour prénom Function_1. Lui il s’en fiche total. Son prénom à Function_1 ce sera 0x5FFX89, une addresse mémoire… et ce n’est pas une traduction, c’est le chiffre qui aura paru pratique, logique et chronologique au compilateur pour dire que ce fonctionnement est codé ici.
(chronologique par ce que ça depend entièrement de l’ordre des pages de codes qu’il va compiler, et de comment elles se disent les unes et les autres de s’inclure)
ce qui fait que quand tu vas lire la suite de 0 et de 1 finale, tu seras incapable de savoir si tu execute la fonction nommée Function_1 ou 2 ou 3.
Dis toi bien que pour que l’informatique soit compréhensible, on donne beaucoup de nom très parlant aux fonctions, pour le que fonctionnement soit le plus clair pour les programmeurs ( et c’est pour ça qu’on code pas avec des 0 et des 1 passqu’on sait pas lire ça du tout ). Exemples: On_Mouse_Over, pour dire que la souris est au dessus d’un item. On_Exit pour dire qu’on sort d’un fonctionnement, et autres noms très parlants, très explicites.
J’ai jamais testé le desassemblage, mais il va pas pouvoir te retrouver le nom des fonctions… et pour des programmes un peu complexes, sans aucun nom sans indications… bah je pense pas que tu puisses avoir la moindre chance de deviner ce qu’il se passe.
A ma connaissance, on me corrigera, la seule manière de garder les noms de tes fonctions, c’est de les declarer en export, c’est à dire de permettre à un autre programme d’utiliser tes fonctions. mais c’est une déclarations differentes ( en c++ en tout cas )… et faut que le developpeur codeur le fasse explicitement.
En esperant avoir été clair, et pas avoir dit de conneries.
Whaou ! Merci pour ta longue explication ! Je crois que j’ai compris.
Mais je n’arrive pas à comprendre pourquoi fermer son code source : on peut vendre un programme en partageant son code…
Heureux Debian-user/Debianiste/Debianeux ! 
On ne ferme pas le code source. C’est le binaire qui illisible. C’est pour cela que Stallman veut que le code source soit disponible pour considérer un logiciel comme libre. 
Oui, je sais bien que le binaire est disponible librement, mais illisible.
Ce que j’entendais par fermer le code source, c’est ne pas le rendre public, de le garder secret. 
A quand des ordinateurs qui lisent directement le code source (mais en tous langages, car un PC pour chaque langage, cela fait un peu cher) ? 
Bon, je sais, ça n’existe pas.
Mais ce serait vachement plus pratique pour modifier son programme et constater les modifications à la volée, sans compilation, juste en sauvant ça.
Comme par exemple, un .bat sous Windows que l’on modifie et que l’on exécute sans compilation pour admirer le résultat !
D’ailleurs, je me suis toujours demandé comment ça marchait les .bat 
bonjour, en automatisme on programme avec des bites (0 ou1 ) codés dans des mots(16 bites) ou des doubles mots (16+16 bites=word)
Quand je programme une fonction que j’utilise plusieurs fois je me sers d’un compteur(codés en word) pour initialiser la fonction et le résultat je le stock dans un mémento ( codés en word)et en plus touts les adresses on un mnémonique. c’est une programmation au plus bas de la machine .
Je ne veux pas trop rentrer dans les détails il y en a pour des heurs! et je veux rester très basique dans mes explications.
Les 0 et1 c’est ce que fait ton possesseur il ne comprend rien d’autre.
Mais wavesound pour faire de la programmation informatique ça va devenir vite incompréhensible de tout faire avec
en binaire: 01000010011011110110111001101010011011110111010101110010 qui est en ascii:Bonjour
C’est pour cela que le texte sur ton écran est écrit (codé) an ascii http://www.table-ascii.com/
C’est pour cela qu’on utilise en informatique des langages plus évolué pour éviter de refaire l’allumette qui allumeras le feu et faire bouillir l’eau et ainsi avoir de l’eau chaude. 
et voilà j’ai inventé l’eau chaude

wavesound, si tu veux des détails sur l’automatisme :
http://www.lycee-hainaut.net/pedag/techno/ge_tsi/index2.html
Mais c’est des cours de prépa…
[quote=“wavesound”]Oui, je sais bien que le binaire est disponible librement, mais illisible.
Ce que j’entendais par fermer le code source, c’est ne pas le rendre public, de le garder secret. 
A quand des ordinateurs qui lisent directement le code source (mais en tous langages, car un PC pour chaque langage, cela fait un peu cher) ? 
Bon, je sais, ça n’existe pas.
Mais ce serait vachement plus pratique pour modifier son programme et constater les modifications à la volée, sans compilation, juste en sauvant ça.
Comme par exemple, un .bat sous Windows que l’on modifie et que l’on exécute sans compilation pour admirer le résultat !
D’ailleurs, je me suis toujours demandé comment ça marchait les .bat
[/quote]
Pour info j’utilise un désassembleur Hackman, mais je ne sais pas si il y a une version pour Linux?
Oui je sais vilain pas beau pirate ![]()
[quote=“dimm”]wavesound, si tu veux des détails sur l’automatisme :
http://www.lycee-hainaut.net/pedag/techno/ge_tsi/index2.html
Mais c’est des cours de prépa…[/quote]
Il a 3.5 de moyenne en maths et tu veux lui donner des cours de prépa???C’est pas que je te prend pour un crétin Wavesound mais prévois des aspirines 
[quote=“wavesound”]
A quand des ordinateurs qui lisent directement le code source (mais en tous langages, car un PC pour chaque langage, cela fait un peu cher) ? :lol
Bon, je sais, ça n’existe pas.:[/quote]
cela existe on l’appelle console. et la mienne est une PG 720
[quote=“wavesound”]
Mais ce serait vachement plus pratique pour modifier son programme et constater les modifications à la volée, sans compilation, juste en sauvant ça.[/quote]
mode: visualisation dynamique sur la console.

il suffit de ne pas utiliser de binaire, c’est par cette démarche d’esprit qu’ont étaient conçut les langages interprétés (comme ton bat mais aussi python, perl, ruby, php, javascript, sh,…). C’est un programme (nommé interpréteur) qui lit le code source et qui l’exécute.
On perd en rapidité et il est impossible de créer un noyau par exemple avec ça (il faut toujours un système d’exploitation pour exécuter l’interpréteur), il est amusant de voir que certains s’amusent à créer des interpréteurs C ou des compilateurs PHP, mais en définitive ça ne sert à rien autant prendre le langage le plus adapté à ce que l’on veut faire.
Edit : Merci dimm pour ton lien je vais pouvoir approfondir ma logique 