1

Est ce que les fichiers objets (objets statiques) sont standardisés ou pas ?

Est ce que le données sont compressées ? encodées ? encryptées ?

A partir d'un fichier test.o, est ce que je peux retrouver des informations sur la plateforme (type d'archi ? 16-32-64 bits ? programmes ou données ?...) ?

Si c'est le cas, est il envisageable de "désassembler" un fichier .o ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2

PS : si je pose la question, c'est parce que j'en ai récupéré qqns et que j'aimerais pouvoir savoir ce qu'il contienne quitte à les "désassembler" pour pouvoir interpréter les données (s'il y en a)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

3

Non ce n'est pas "standardisé" enfin, si tu sais la cible on peut arriver a savoir ce que c'est. Certains outils comme "file" sous Unix/Linux permette de chercher ce que le fichier est.

Si tu connais le format objet utilisé, oui tu doit pouvoir au moins le désassembler, voir si certaines infos, le transformer dans un language de plus haut niveau.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4

A priori, tu vas retrouver le même code dans le .o et le binaire final (modulo les relogements), donc si le binaire n'est pas chiffré, il n'y a aucune raison que le .o le soit.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

Hum, meme si le binaire est chiffré, le .o a peu de chance de l'être, en regle générale, on chiffre APRES le link final
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

6

vi, c'est ce que je me suis dit après coup ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

7

Ben... je croyais avoir posté la même chose que Flanker au ./4 confus

J'avais rajouté que suivant le format, tu peux aussi trouver des noms de labels/fonctions. Ca dépend comment c'est foutu mais en soi, c'est pas impossible.

8

D'ailleurs, si c'est compilé avec -g (debug), il doit y avoir pas mal d'infos en plus
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

9

vince > sous linux tu as une commande qui s'appelle objdump et est capable de te donner plein d'infos, mais je n'en sais pas beaucoup plus.
Edit : voici la page de manuel de cette commande : http://linux.die.net/man/1/objdump . Je n'y comprends pas grand chose mais ça me donne l'impression que la réponse à la plupart de tes questions est oui.
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

10

objdump est généralement ELF only sous linux, donc si le format objets est autre, ça ne marchera pas.

Vince: tu connais la cible originale du .o ? La Lynx ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

11

Godzil (./10) :
objdump est généralement ELF only
La page de manuel dit le contraire...
--target=bfdname
Specify that the object-code format for the object files is bfdname. This option may not be necessary; objdump can automatically recognize many formats.

For example,

objdump -b oasys -m vax -h fu.o
displays summary information from the section headers (-h) of fu.o, which is explicitly identified (-m) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the -i option.
$ objdump -i
BFD header file version (GNU Binutils for Debian) 2.18.0.20080103
elf32-i386
(header little endian, data little endian)
i386
a.out-i386-linux
(header little endian, data little endian)
i386
efi-app-ia32
(header little endian, data little endian)
i386
elf32-little
(header little endian, data little endian)
i386
elf32-big
(header big endian, data big endian)
i386
elf64-x86-64
(header little endian, data little endian)
i386
efi-app-x86_64
(header little endian, data little endian)
i386
elf64-little
(header little endian, data little endian)
i386
elf64-big
(header big endian, data big endian)
i386
srec
(header endianness unknown, data endianness unknown)
i386
symbolsrec
(header endianness unknown, data endianness unknown)
i386
tekhex
(header endianness unknown, data endianness unknown)
i386
binary
(header endianness unknown, data endianness unknown)
i386
ihex
(header endianness unknown, data endianness unknown)
i386
trad-core
(header endianness unknown, data endianness unknown)

elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big
i386 elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big

elf64-x86-64 efi-app-x86_64 elf64-little elf64-big srec
i386 elf64-x86-64 efi-app-x86_64 elf64-little elf64-big srec

symbolsrec tekhex binary ihex trad-core i386 symbolsrec tekhex binary ihex ---------
Je comprends pas tout (ça a l'air x86-only par contre non ?)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

12

Je viens d'essayer sur une machine Power 5 et ça marche oui
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

13

Sally: je vois principalement du ELF dans ta liste ^^

(il n'y as pas de COFF, ni de a.out, ni du MISC pour ne citer que certain, pas de PE non plus, ni Mach-O)

Le ELF est le format "standard" utilise sous linux, mais a plein d'autres endroits, et c'est généralement la sortie classique de GCC, meme si il y a d'autres backend, mais ceci est indépendant de l'archi CPU!
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

14

Sissi a.out apparaît, c'est le deuxième, mais pas les autres que tu cites en effet.

Mais je ne sais pas si d'autres versions de objdump que la mienne connaîtraient d'autres formats, c'est pas clair d'après la page de manuel. J'ai pas installé spécialement d'outils de développement sur ma debian, donc...

Ce que je trouve bizarre c'est que le manuel cite comme exemple des fichiers au format VAX oasys ou je ne sais quoi mais que la sortie de objdump -i ne cite rien qui ressemble à ça de près ou de loin... (le VAX c'est un type de microprocesseur c'est bien ça ?)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

15

Ha oui pardon, j'ai mal lu (me suis embrouillé les yeux)

VAX est un type de machine (vf http://fr.wikipedia.org/wiki/VAX )
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

16

Les formats supportés par objdump se configurent à la compilation, en général, seul le format natif est supporté (parce que plus on supporte des formats, plus ça grossit l'exécutable, et certains choix le ralentissent aussi, par exemple gérer les formats 64 bits nécessite de travailler avec des entiers de 64 bits partout).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

17

vince : tes .o sont "secrets" ou pas ? Parce que tu pourrais toujours les poster ici et laisser les gens regarder au désassembleur, je pense qu'à nous tous on connaît déjà un certain nombre d'architectures smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

18

je ne devrais déjà pas les avoir donc je préfère ne pas les donner...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

19

Vincent: si tun'a pas testé, essaye l'utilitaire 'file" sous un UNIX quelquonque ça te donneras peut-etre une idée de ce que c'est
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.