Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2007, 20h52   #1
Invité de passage
 
Inscription : avril 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 6
Points : 2
Points : 2
Par défaut Ouvrir un fichier .so

Bonjour,

j'aimerai savoir avec quelle logiciel je peut ouvrir un fichier .so


Le fichier et une librairie dynamique de linux, ça je sais ...

Mais je ne connai pas de logiciel pour ouvrir/éditer le fichier .so

Si vous avez un logiciel pour editer/ ouvrir ce fichier merci bien
hghagain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 09h02   #2
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
Salut

Un fichier .so est comme tu le dis une librairie dynamique; Ce qui signifie que cela a été compilé (ainsi, si tu l'ouvres dans un éditeur de texte, tu veras des caractères ésotériques).
Ton alternative consiste alors à obtenir les sources qui ont permi de compiler cette librairie.

@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 09h30   #3
En attente de confirmation mail
 
Avatar de gandalfar
 
Inscription : novembre 2004
Messages : 145
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 145
Points : 116
Points : 116
Envoyer un message via MSN à gandalfar
Sinon tu peut regarder du coté des man de nm et objdump
qui te permettent d'avoir des infos sur ces librairie et de les
desassembler.
Sinon il existe la commande strings qui te permet d'afficher
la string table de ta lib.
gandalfar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 09h35   #4
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Oui un des seuls moyen est le désasemblage mais si tu n'as pas les droits cela relève assez du piratage ou hack ou ce que tu veux alors attention ! Le désasemblage ne te sera utile que si tu maîtrise à fond l'assembleur
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 13h50   #5
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
bonjour,
Il me semble que le désassemblage dans le cadre d'une rétro-ingénierie pour intéropérabilité est encore autorisée
Par contre ce n'est vraiement pas simple. Le mieux est, comme il a été dit, de récupérer le code source, de le modifier et de le recompiler.
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 16h52   #6
Invité de passage
 
Inscription : avril 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 6
Points : 2
Points : 2
Merci pour vos réponses.

En faite, c'est une librairie dynamique d'un plugin pour serveur css.

Pas vraiment du Hack je veut simplement le modifier pour qu'il fasse ce que je lui demande!


J'ai trouver ce que je chercher, il suffit de l'ouvrir avec un éditeur hexadécimal comme ghex, khexedit, biew…

Pour cette infos je remercie nicola du forum Léa.

J'aurait une derniére question pour vous,

Comment recompiler ?

Je sais je suis chiant...


desoler!
hghagain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 17h10   #7
En attente de confirmation mail
 
Avatar de gandalfar
 
Inscription : novembre 2004
Messages : 145
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 145
Points : 116
Points : 116
Envoyer un message via MSN à gandalfar
tu peut faire autre chose :
reperer le nom de la fonction que tu veux changer avec objdump
et la remplacer en faisant un LD_PRELOAD
gandalfar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 17h10   #8
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Attention de ne pas confondre, ouvrir avec un éditeur héxadécimal si tu veux apporter des modifications n'est certainement pas la meilleure chose à faire et pour recompiler il faut soit avoir les sources soit avoir désasemblé le fichier binaire.
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 19h15   #9
Invité de passage
 
Inscription : avril 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 6
Points : 2
Points : 2
Oui merci je vien de tester avec l'éditeur, ce n'est vraiment pas fameux...

Je vais tenter de trouver un désasembleur
hghagain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 22h25   #10
En attente de confirmation mail
 
Avatar de gandalfar
 
Inscription : novembre 2004
Messages : 145
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 145
Points : 116
Points : 116
Envoyer un message via MSN à gandalfar
si c'est juste pour remplacer une fonction tu la recode dans un fichier.c
tu fait ca si t'est sous bash

Code :
1
2
3
4
5
 
#gcc -c fichier.c -o fichier.o 
#gcc -shared -o libfichier.so fichier.o
#export LD_LIBRARY_PATH=`pwd`
#export LD_PRELOAD=libfichier.so
et apres la fonction de la lib d'origine sera remplacer par celle
de la libfichier.so
gandalfar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 10h15   #11
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
Envoyé par gandalfar
si c'est juste pour remplacer une fonction tu la recode dans un fichier.c
tu fait ca si t'est sous bash

Code :
1
2
3
4
5
 
#gcc -c fichier.c -o fichier.o 
#gcc -shared -o libfichier.so fichier.o
#export LD_LIBRARY_PATH=`pwd`
#export LD_PRELOAD=libfichier.so
et apres la fonction de la lib d'origine sera remplacer par celle
de la libfichier.so
Ha... ca je savais pas que c'était possible !
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 10h20   #12
En attente de confirmation mail
 
Avatar de gandalfar
 
Inscription : novembre 2004
Messages : 145
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 145
Points : 116
Points : 116
Envoyer un message via MSN à gandalfar
si si :
http://tldp.org/HOWTO/Program-Librar...libraries.html
gandalfar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 10h32   #13
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
Envoyé par gandalfar
Ne voulant pas tout lire, où as-tu vu qu'on pouvais remplacer une fonction déjà existante en liant un fichier objet avec la nouvelle forme de la fonction ?
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 11h16   #14
En attente de confirmation mail
 
Avatar de gandalfar
 
Inscription : novembre 2004
Messages : 145
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 145
Points : 116
Points : 116
Envoyer un message via MSN à gandalfar
la partie sur LD_LIBRARY_PATH,
le trick le plus connu a faire avec est un morceau de code en C genre
Code :
1
2
3
4
5
 
int getuid()
{
  return 0
}
puis
Code :
1
2
3
4
 
$gcc -c getuid.c -o getuid.o
$gcc -share -o libmy.so
$export LD_PRELOAD='./libmy.so'
et la magie quand je fait id ca me met
Code :
1
2
 
uid=0(root) gid=1000(syl) groupes=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),1000(syl)
au lieu de
Code :
uid=1000(syl) gid=1000(syl) groupes=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),1000(syl)
gandalfar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 11h38   #15
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Impec
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h43.


 
 
 
 
Partenaires

Hébergement Web