Journal Disséquer du binaire sous linux

46
27
nov.
2013

J'aime bien le reverse, j'aime bien linux, j'aime bien lire de l'hexa et j'aime bien les crackmes.

Pour reverser, on a tout ce qu'il faut sous linux.

readelf:
Toujours pratique au début pour connaître un peu mieux le binaire, il affiche pas mal d'infos intéressantes, comme l'entry point, les sections etc.. ex:
readelf -s /bin/ls

objdump:
Indispensable. objdump sait désassembler un binaire complet et afficher les offsets/mnémoniques et instructions. ex:
objdump -d /bin/ls

gdb:
Faut il encore le présenter. Tous les programmeurs l'ont au moins utiliser une fois pour mettre au point leur programme ou chasser du bug. Incontournable. Très utile pour reverser un programme, mettre des points d'arrêts, setter des variables etc..

Mais, car il y a toujours un mais, gdb est un super programme pour débugger lorsqu'on a les sources et qu'on compile avec -g. C'est moins pratique lorsqu'on a que le binaire, strippé, sans rien. Alors certes, c'est faisable (je pète tous les crackmes avec gdb), mais je me demande s'il n'existe rien de plus pratique? Typiquement, on passe un peu son temps sous gdb à afficher les registres (info reg), afficher les instructions (x/10i $eip), et à regarder la stack x/XXXx $ebp/$esp etc..), puis à faire du step by step.

Je sais que la terre entière (enfin ceux qui reversent) ne jurent que par IDA, mais ça a beau être gratos (enfin la v5 l'est), c'est pas libre et c'est contre ma religion.

Il y a des gens qui reversent ici? Qu'utilisez vous? Du plugin gdb de barbu ou un autre outil? Un truc graphique: quand on voit les graphes d'appels IDA, c'est clair que ça fait envie, quels programmes savent faire ça?

merci et bonne journée

  • # Radare?

    Posté par (page perso) . Évalué à 7.

    Il y a eu récemment une dépêche sur la sortie de la nouvelle version de Radare.
    Ça pourrait correspondre à ce que tu cherches, non ?

    • [^] # Re: Radare?

      Posté par (page perso) . Évalué à 6.

      Sur le papier, radare2 à l'air bien, mais l'absence de docs est relativement désespérante (au moins, avec gdb on a l'embarras du choix). De plus, les mots-clés réduits à un caractère n'aident pas. Genre:
      r2 crackme
      0x00000> aa <-veut dire analyze all, mais 'all' c'est quoi exactement?
      0x00000> pdf@sys <-veut dire print disassemble format, mouais
      etc..

      Mais je l'ai sur un coin du disque dur

      • [^] # Re: Radare?

        Posté par . Évalué à 10. Dernière modification le 27/11/13 à 22:00.

        Sur le papier, radare2 à l'air bien, mais l'absence de docs est relativement désespérante

        Le PDF de 152 pages est bien présent, pourtant.
        Il y a des exemples sympas.
        Il y a des graphes: graphes.

        Et en plus le logiciel a un nom sympa énonçable, ce qui est étonnant pour un logiciel libre pointu.

        Aller, un peu de bonne volonté, pardi! :)

        • [^] # Re: Radare?

          Posté par (page perso) . Évalué à 8.

          Le PDF de 152 pages est bien présent, pourtant.

          Alooooors, voyons voir.
          Page 123, 22.2 IOLIs Crackme tutorial.
          Je trouve ça très bien de mettre ce genre de tutos dans la doc, ça permet une prise en main immédiate de ce genre de logiciel. Surtout dans le cas présent, c'est excellent pour voir ce que le produit vaut. Surtout que ce n'est pas un simple writeup, ça donne différentes manières d'explorer le logiciel en résolvant un problème. Donc go.

          Sauf que:
          This tutorial has been done using radare PVC version 0.9.2.
          On en est à la v2, pas de bol. Et ensuite, ça marche pas mieux:
          $ rabin -z crackme0x00
          0x00000154 A /lib/ld

          Je tente avec rabin2 -z crackme0x00, ça passe, c'est très bien. J'ai plus d'infos à l'écran que dans la doc, mais bon. Je lis une info d'importance: With -S[len] radare prints sequences of characters that are at least len characters long, in the example we used 5. C'est super pratique pour éviter pleins de faux positifs.

          Et là, paf. rabin2 utilise le flag -S pour "-S Show sections", et je ne trouve pas l'option du minimum de caractères.

          Spa grave, je continue la doc qui dit:
          We can dump the flags, to see what has been flagged:
          [0x08048360]> flag
          (…)
          Et j'essaie:
          $ radare2 crackme0x00
          [0x08048360]> flag
          Missing arguments

          Apparemment, ça a changé aussi.

          Puis après, ça parle de graphe! go:
          Now let's print a code graph of the main() function, as our current seek is sym.main, we just type "ag":
          TODO: Add graph in ascii art here TODO: http://radare.nopcode.org/img/wk/crackme0x00-sym.main.png (de moi: url broken, pas de chance encore une fois)

          Ah, on va voir les graphes:
          [0x08048360]> s sym.main
          [0x08048414]> ag
          digraph code {
          graph [bgcolor=white];
          node [color=lightgray, style=filled shape=box fontname="Courier" fontsize="8"];
          }
          [0x08048414]>
          Ooooooooooook, et j'en fais quoi? Un fichier est créé quelque part? non. Un message d'erreur? non plus. Je suis heureux, j'ai un entête dot. Mais ensuite?

          Etc, etc…

          Il y a des exemples sympas.

          Mouais, 4 exemples qui datent de plus de deux ans, ça fait léger :(

          J'aurais voulu peut-être une pierre de rosette qui fasse la comparaison gdb/radare2, c'est toujours pratique aussi.
          Je pense que radare2 est peut-être un peu ce que je cherche, mais sans doc pour se lancer, ça va être chaud. J'ai lu plusieurs solutions chez crackmes.de qui utilisent radare2, je vais déjà essayer avec ça.

          Je sais ce qu'on va me dire: contribue à la doc. Mais avant de faire de la doc, faudrait que je sache utiliser l'outil..

          • [^] # Re: Radare?

            Posté par . Évalué à 1. Dernière modification le 28/11/13 à 12:57.

            La v2 est en v 0.9.6, je suppose que la 0.9.2 concerne la 2 également.
            La v1 en est à la 1.5.2

            Peut-être tenter la V1 qui est dispo aussi ?

            • [^] # Re: Radare?

              Posté par . Évalué à 10.

              Ça c’est du système de numérotation de version super cohérent !

              • [^] # Re: Radare?

                Posté par . Évalué à 10.

                T'inquiète, tout sera réunifié avec Radare 2014 qui sera en fait la v3, numérotée 1.6.

                Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Joli !

    Posté par (page perso) . Évalué à 10.

    Belle tentative de transformation de question de forum en journal, en mode « ni vu ni connu j'tembrouille » ;-).
    Allez, le sujet est intéressant, tu as ma bénédiction :-)

  • # Quand la religion bloque le progres...

    Posté par . Évalué à -10.

    On ne jure que par IDA parce que c'est super puissant et efficace. Si tu preferes rester a l'age de pierre plutot que toucher a qqe chose qui est hors de ta 'religion', tu seras comme ces religieux du moyen-age qui ont retarde le siecle des lumieres, tu resteras dans le noir.

    Cette obsession sur 'tout libre' meme au prix d'une inefficacite enorme c'est quand meme dingue…

    • [^] # Re: Quand la religion bloque le progres...

      Posté par (page perso) . Évalué à 10.

      Sous windows, il y a IDA, mais il y a ollydbg, windbg, etc..
      Sous linux, il y a gdb. Et à part ça, on te dit d'installer IDA sous wine (et c'est tout..). C'est étonnant qu'il n'y en ait pas plus.

      Quand on dit "c'est contre ma religion" il faut comprendre que c'est une boutade, hein.

    • [^] # Re: Quand la religion bloque le progres...

      Posté par (page perso) . Évalué à 10.

      Le monsieur demande si des alternatives libres à IDA existe, et toi tu es choqué par sa question, en faisant l'analogie libre<-->religion, en faisant appel au "siècle des lumières" et en projetant donc le Libre comme étant une religion du moyen-âge, le siècle des lumières étant vraisemblablement pour toi le fait de se détacher totalement de la licence du logiciel et d'être pragmatique.
      Pas de toute, tu es bien pasBill pasGates.

      • [^] # Re: Quand la religion bloque le progres...

        Posté par . Évalué à -9.

        Tu es libre de fumer des trucs illegaux et voir que j'associe libre a moyen-age, les gens normaux verront que j'associe "se limiter aveuglement a une licence peu importe le cout" au moyen-age.

        • [^] # Re: Quand la religion bloque le progres...

          Posté par . Évalué à 10.

          Tu es libre de fumer des trucs illegaux

          Ben non, par définition

          • [^] # Re: Quand la religion bloque le progres...

            Posté par (page perso) . Évalué à -10.

            Par définition, il est illégal de se faire prendre, pas de fumer des trucs illégaux.

            Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

            • [^] # Re: Quand la religion bloque le progres...

              Posté par . Évalué à 9.

              Il n'est pas du tout illégal de se faire prendre. Si tu part par là, tu es libre de te faire prendre, c'est juste que tu pourras avoir des problèmes (genre restriction de la liberté ou de ton capital financier à l'échange avec d'autres acteurs de la société) si tu te fais prendre. Au contraire, en général on essaye de faire en sorte que la procédure de faire prendage reste dans les limites de la légalité.

            • [^] # Re: Quand la religion bloque le progres...

              Posté par . Évalué à 10.

              Par définition, il est illégal de se faire prendre, pas de fumer des trucs illégaux.

              Absurde. La loi dit "est passible de X euros d'amende et de Y ans de prison le fait de consommer des stupéfiants". Pas "le fait de se faire prendre".

              C'est avec des raisonnements aussi pervers que de nombreux cyclistes professionnels étaient certains de ne pas être dopés parce qu'ils ne s'étaient jamais fait prendre.

              • [^] # Re: Quand la religion bloque le progres...

                Posté par . Évalué à -9.

                Absurde. La loi dit "est passible de X euros d'amende et de Y ans de prison le fait de consommer des stupéfiants". Pas "le fait de se faire prendre".

                Et pourtant, si tu ne te fais pas prendre, tu n'écopes de rien. Donc c'est bien le fait de se faire prendre qui est condamné.

                Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

                • [^] # Re: Quand la religion bloque le progres...

                  Posté par (page perso) . Évalué à 7.

                  Légalement j'ai le droit de tuer mon voisin si je me fais pas prendre ?

                  • [^] # Re: Quand la religion bloque le progres...

                    Posté par . Évalué à -2.

                    Je n'ai pas écrit qu'on avait le droit de tout faire, mais qu'on n'est condamné que lorsqu'on se fait prendre.

                    C'est la même différence qu'entre loi et décret : si une loi dit telle chose mais que le décret n'existe pas, tu ne seras pas condamné non plus.

                    Non, tu n'as pas le droit de tuer ton voisin, mais tu ne seras pas condamné si tu ne te fais pas prendre.

                    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

                    • [^] # Re: Quand la religion bloque le progres...

                      Posté par (page perso) . Évalué à 7.

                      Tu disais que c'était de se faire prendre qui était condamné, mais c'est bien l'acte illégal qui est condamné, et le fait de se faire prendre qui permet la condamnation.

                      • [^] # Re: Quand la religion bloque le progres...

                        Posté par (page perso) . Évalué à 10.

                        Techniquement, on ne condamne pas un acte, pas au sein juridique du terme (on peut condamner quelque chose, mais le sens est différent, plus proche du verbe "désapprouver").
                        Une personne est (ou non) condamnée pour un acte illégal qu'elle aurait commis.
                        Donc, aucune ambiguïté pour moi, et le commentaire de Zarmakuizz est bien sûr complètement faux et démontable en 2 secondes comme l'ont fait plusieurs personnes ici ; un acte est intrinsèquement illégal ou non, et ne dépend pas du fait de se faire prendre ou non.

                      • [^] # Re: Quand la religion bloque le progres...

                        Posté par . Évalué à -1.

                        Relis bien.

                        Je n'ai pas dit que c'est le fait de se faire prendre qui est condamné. J'ai écrit :

                        on n'est condamné que lorsqu'on se fait prendre.

                        Même si c'est bien l'acte qui est condamné au final, c'est bel et bien conditionné au fait de se faire prendre.

                        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

                        • [^] # Re: Quand la religion bloque le progres...

                          Posté par (page perso) . Évalué à 9.

                          Je n'ai pas dit que c'est le fait de se faire prendre qui est condamné.

                          Si.

                          Donc c'est bien le fait de se faire prendre qui est condamné.

                          • [^] # Re: Quand la religion bloque le progres...

                            Posté par . Évalué à 2.

                            Merde. Au temps pour moi, je ne me suis pas relu en entier.

                            Bon tu avais raison, je me suis mal exprimé dès le début.

                            Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

                    • [^] # Re: Quand la religion bloque le progres...

                      Posté par . Évalué à 0.

                      Un acte peut être illégale même s'il n'est pas sanctionné.

                      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

              • [^] # Re: Quand la religion bloque le progres...

                Posté par . Évalué à 6.

                La loi dit "est passible de X euros d'amende et de Y ans de prison le fait de consommer des stupéfiants". Pas "le fait de se faire prendre".

                Sisi, c'est l'article 0 du code pénal, bien connu chez les avocats et les fiscalistes : "Pas vu, pas pris."

    • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

      Posté par . Évalué à 10. Dernière modification le 27/11/13 à 12:01.

      C'est marrant, à te lire on croirait presque que les lumières s'en fichaient du partage de la connaissance et que les religieux du moyen-âge étaient experts dans les dissections.

      Cette obsession sur 'efficacité' même au prix d'une privation de liberté énorme c'est comme même dingue…

      splash!

      • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

        Posté par . Évalué à -10.

        Ah oui quelle privation de liberte de ne pas avoir les sources d'IDA et pouvoir les modifier / redistribuer….

        C'est tellement mieux d'avoir a la place des outils que tu peux modifier, mais qui sont totalement desuets !

        Parce qu'au final l'objectif c'est pas d'apprendre a faire du reverse-engineering, non non, l'objectif est de se faire de la branlette intellectuelle en se disant que si on veut on peut modifier le code de gdb, YEAHHH!

        • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

          Posté par (page perso) . Évalué à 10.

          Ah oui quelle privation de liberte de ne pas avoir les sources d'IDA et pouvoir les modifier / redistribuer….

          Peut être que pour toi cela n'a pas d'importance mais le dédain que tu mets à cracher sur les gens qui ne pensent pas comme toi, c'est pitoyable…

          • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

            Posté par . Évalué à -9.

            Pas de dedain, mais je suis effectivement totalement incapable de comprendre les gens qui sont obsessionels sur ce point la et qui occultent tout le reste.

            La vie est faite de balance et de compromis.

            • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

              Posté par . Évalué à 4.

              je suis effectivement totalement incapable de comprendre les gens qui sont obsessionels sur ce point la et qui occultent tout le reste.

              Dans le cas du journal, on est dans une optique un peu differente quand meme puisque c'est semble-t-il pour les loisirs.

              Personnellement j'utilise IDA pour participer a du logiciel libre (paye en grosse partie de ma poche), c'est du loisir et mon but c'est de m'amuser a faire du reverse-engineering avec les meilleurs outils et ameliorer le logiciel final. S'il existait quelque chose d'identique en logiciel libre, je l'utiliserais sans hesiter mais honnetement il n'y a rien qu'y arrive a la cheville d'IDA + Hex-rays.

              D'autres personnes seront plus interessees par le reverse-engineering en general et dans ce cas la passer une grosse partie de son temps sur les outils plutot que le reverse-engineering en lui-meme peut etre quelque chose de tout a fait positif. Au final, tu vas passer ton temps a ameliorer les outils et pas du tout sur le but initial, mais c'est comme ca que plein d'outils libres ont commence (et le projet initial est mort depuis longtemps)!

              Par contre si on se place dans le cadre professionnel dans une boite qui ne fait pas du logiciel libre sa religion et que tu dois faire du reverse-engineering une grosse partie du temps, ca n'est plus la meme approche. Soit la boite te force a utiliser uniquement du logiciel gratuit (libre ou pas, ils veulent surtout pas depenser), soit tu veux juste te faire mal et perdre du temps au lieu de faire le boulot de facon efficace (et tu merites de te faire virer).

            • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

              Posté par (page perso) . Évalué à -1.

              La vie est faite de balance et de compromis.

              Non, la liberté n'a pas de compromis, si toi tu peux en faire pour elle, alors continuons à nous côtoyer sur ce site, dans la vraie vie, on aurait pas grand chose à se dire ;)

              • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                Posté par . Évalué à -4.

                Il y a une difference gigantesque entre le vrai sens du mot liberte et le sens 'software' du terme.

                Le jour ou tu auras vu les effets de la perte du 1er, tu te rendras compte a quel point le 2eme est peu important en comparaison, meme si il peut avoir une importance pour certains.

                • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                  Posté par . Évalué à 3.

                  Tu veux dire que quand on sera en dictature on se dira qu'on a intérêt à utiliser du logiciel non-libre ? T'as le cerveau à l'envers mon gars :/

                  splash!

                • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                  Posté par . Évalué à 8.

                  Il y a une difference gigantesque entre le vrai sens du mot liberte et le sens 'software' du terme.

                  Cette différence tend à s'amenuiser au fur et à mesure de l'ubiquité d'internet. Le logiciel libre tel que décris par la FSF par exemple est juste là pour protéger la liberté de parole et de la presse (mais c'est peut être pas la vrai liberté non plus). Une autre liberté qui peut être en rapport avec le LL c'est le droit a avoir une vie privée (mais ça aussi ça ne doit pas être une vrai liberté).

                  On voit avec ce qui est fait dans les pays non démocratique (la Chine, la
                  Libye,…) et ce que font les agences de renseignements (la NSA (projet echelon, prism), la DGSE, le GCHQ, etc) que internet, ce truc qui semblait pas être si important est un vrai enjeux pour les libertés. Même indépendamment du LL, quand Google et twitter tentent de continuer à rendre accessible leurs services même lorsque le réseau IP est coupé (via le réseau téléphonique), tu vois que l'enjeu est bien plus important que d'avoir d'un coté le vrai dans le monde tangible et de l'autre le faux dans un monde numérique.

                  C'est une constatation qui dépasse les geeks et qui commencent à être compris par la population. Les employés de Microsoft sont encore à la ramasse sur ce point ? (je ne le crois puisque notre vie privée et votre priorité… :D )

                  Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                  • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                    Posté par (page perso) . Évalué à 4.

                    C'est une constatation qui dépasse les geeks et qui commencent à être compris par la population. Les employés de Microsoft sont encore à la ramasse sur ce point ? (je ne le crois puisque notre vie privée et votre priorité… :D )

                    Mais si, dans la publicité pour Internet Explorer ils disent qu'on peut utiliser la navigation privée pour acheter un cadeau à son conjoint en tout quiétude !

                  • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                    Posté par . Évalué à -9.

                    Non desole toujours pas.

                    Les LL ne sont pas essentiels pour un internet libre, un internet sans mouchards, … Ils peuvent aider comme tous les autres softs, mais ils n'ont intrinsequement rien qui change la donne (et qu'on ne me sorte pas le gag du code source auditable par n'importe qui…)

                    • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                      Posté par . Évalué à 3.

                      La liberté 0 est primordiale pour l'usage d'un ordinateur. Savoir que tu peut utiliser un logiciel et que l'on ne te révoquera pas se droit me semble être la base. Ça paraît évident mais ça ne l'ai pas. Regarde ce qu'est (ou était) capable de faire Apple avec les appli' iOS, les logiciels en version "trial", etc.

                      L'accès aux sources permet de consolider ce droit.

                      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                      • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                        Posté par . Évalué à -6. Dernière modification le 30/11/13 à 00:19.

                        Non desole, rien de primordial, et il y a des dizaines d'annees d'experience qui le demontrent.

                        Qu'Apple fasse un truc specifique avec iOS ne veut pas dire que le meme probleme s'applique a tous les logiciels proprietaires. C'est la licence specifique du logiciel qui definit cela, pas l'ensemble "proprietaire".

                        T'as encore aujourd'hui des gens qui utilisent AmigaOS, MS-DOS, Windows 95, etc… Tous des logiciels proprietaires, et personne n'a enleve le droit a quiconque de les utiliser.

                        Et je rajouterai que ce point la (perennite) n'a rien a voir avec le concept 'reel' de liberte. Ton iOS arrete de fonctionner parce qu'Apple aime pas ta tete, tu vas prendre un Android, ou un Windows Phone, ou un XXX. Ca n'affecte pas tes droits humains.

                • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                  Posté par . Évalué à 2.

                  Et pourtant il semblerais qu'a force d'utiliser des logiciels privatifs et des systèmes centralisé d'information nous soyons en passe d'être contrôler comme nous l'avons toujours craint.

                  A moins que ta seule source d'information soit le journal tv et microsoft magasine, tu devrais avoir remarqué que le contrôle informatique qui découle de tout ça vas nous enlever cette liberté non virtuel que nous désirons tous.

                  Alors je vais te le dire, NOUS AVONS LES LOGICIELS LIBRES, Stallman en avais compris l'importance, sans eux ont ne serais déjà plus que de la viande, il ne nous reste plus qu'a reprendre le contrôle de nos données.

                  Passe le bonjour à ton patron.

                  Allez tous vous faire spéculer.

                  • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

                    Posté par . Évalué à -6.

                    A force d'utiliser les logiciels privatifs ?

                    Tu m'expliques ? Quel logiciel 'privatif' contient des backdoors de la NSA (ou autre) ? Tu me les montres ?

                    Parce que c'est du code hein, les binaires sont disponibles, pour les gros softs genre Windows plein de gens ont acces aux sources, … tu devrais arriver a me montrer ou il est ce code dans le binaire si t'es au courant.

                    Ah tu n'en as pas, tu n'as que des rumeurs… surprenant dis moi. Ou pas trop en fait, tu te contentes simplement de repeter ce que tu as lu qqe part sans savoir de quoi il en retourne.

                    Mes sources d'informations sont justement tres variees, mais contrairement a toi j'ai l'esprit un peu plus ouvert que "Proprio c'est le Mal(TM) et Stallman est Dieu(TM)".

                    T'as tes LL tant mieux pour toi, si tu es naif au point de croire que sans les LLs tu serais dans un etat dictatorial c'est clairement que :

                    a) tu n'as jamais vu ce qu'est un etat dictatorial
                    b) Tu te fais des chimeres sur les LLs et leur soi-disant securite supplementaire grace a la disponibilite des sources

        • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

          Posté par . Évalué à 10.

          Ah oui quelle privation de liberte de ne pas avoir les sources d'IDA et pouvoir les modifier / redistribuer….

          Faut reconnaître que c'est un peu paradoxal de ne pas avoir les sources d'un logiciel qui sert précisément à en disséquer d'autres…

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

        Posté par (page perso) . Évalué à -10. Dernière modification le 27/11/13 à 12:41.

        c'est cool d'avoir la liberté sur une chose inutile, ça rend plus libre que moins de liberté sur une chose utile…

        Euh… voila, l'exemple typique de la religion libriste : préférer un truc qui ne marche pas mais libre à une truc qui marche pas libre.

        Toujours aussi impressionant.

        Chercher un truc qui marche en libre c'est bien, accepter le constat que ça n'existe pas et qu'il faut bien passer par IDA, c'est plus cohérant.
        Dites, vous utilisez quoi comme CPU? Pas u ntruc pas libre, hein, j'espère, c'est contre votre religion donc vous devriez pas même si rien n'existe en libre…

      • [^] # Re: Quand les commentaires de pBpG bloquent la discussion...

        Posté par . Évalué à 2.

        lui flanque un coup avec une loutre

        QUAND MÊME.

    • [^] # Re: Quand la religion bloque le progres...

      Posté par (page perso) . Évalué à 10.

      Cette obsession sur 'tout libre' meme au prix d'une inefficacite enorme c'est quand meme dingue…

      Cette obsession pour la facilité même au prix de la liberté, c'est quand même dingue…

      Nan, c'est sûr qu'avec des gens pour qui la liberté n'a pas d'importance, le moyen âge on y serait encore…

    • [^] # Re: Quand la religion bloque le progres...

      Posté par (page perso) . Évalué à 10.

      Ben non, ce n'est pas dingue. Être des centaines de personnes à préférer utiliser au quotidien un outil de l'âge de pierre, en signaler les bugs, améliorer la documentation voire le code pour dans quelques années avoir un super outil libre, digne de confiance, meilleur que les outils privateurs, bien documenté, convivial et qui fait gagner du temps, c'est aussi un bon choix.
      Choisir la facilité en utilisant du privateur super convivial et efficace pour gagner du temps et aider l'éditeur à nous enfermer dans son modèle commercial pourri, c'est ton choix mais ce n'est pas forcément celui de tout le monde.

      • [^] # Re: Quand la religion bloque le progres...

        Posté par . Évalué à -7.

        en signaler les bugs, améliorer la documentation voire le code pour dans quelques années avoir un super outil libre, digne de confiance, meilleur que les outils privateurs, bien documenté, convivial et qui fait gagner du temps, c'est aussi un bon choix.

        C'est une question de choix effectivement : veux-tu etre un alpha/beta-testeur ou un utilisateur ? Si tu veux etre un testeur et que tu es pret a souffrire pendant longtemps dans l'optique de peut-etre avoir un truc bien dans qqe annees alors oui effectivement. Si tu veux etre efficace ben non.

        et aider l'éditeur à nous enfermer dans son modèle commercial pourri

        Si tu choisis de te laisser enfermer c'est ton probleme, ce n'est pas parce que tu utilises un logiciel non-libre qu'il va forcement t'enfermer.

        • [^] # Re: Quand la religion bloque le progres...

          Posté par . Évalué à 5.

          comme ça en passant, on ne peut pas faire un patch juste pour PBPG afin d'afficher par défaut ses commentaires négatifs ? C'est usant a force ! de cliquer sur [+]

        • [^] # Re: Quand la religion bloque le progres...

          Posté par . Évalué à 4.

          Si tu choisis de te laisser enfermer c'est ton probleme

          Justement, il explique qu'il choisit précisément de ne pas se laisser enfermer.

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: Quand la religion bloque le progres...

          Posté par . Évalué à 10.

          ce n'est pas parce que tu utilises un logiciel non-libre qu'il va forcement t'enfermer

          Ce n'est pas parce que je laisse ma porte ouverte qu'un cambrioleur va forcément rentrer chez moi.

          Ce n'est pas parce que je ne mets pas de rideaux ou de volets chez moi que quelqu'un va forcément regarder ce que je fais.

          Ce n'est pas parce que mon médecin déciderait du jour au lendemain de donner des informations normalement couvertes par le secret médical que quelqu'un va forcément s'en servir pour me nuire.

          Ce n'est pas parce que je donnes le code de ma carte bleue à tout le monde que quelqu'un va me la subtiliser et retirer de l'argent.

          Ce n'est pas parce que je ne mets pas de ceinture que je vais forcément mourir ou être blessé en cas d'accident.

          Ce n'est pas parce que je marche sur les rails d'un chemin de fer qu'un train va forcément me rouler dessus.

          etc.

          Il y a plein de choses qu'on fait « juste pour être sûr » dans la vie. Il y a plein de situations ou on ne risque statistiquement pas grand chose. Mais on le fait quand même. Parce quand on prend la somme de ces situations, et qu'on applique à un grand nombre de personnes, alors la probabilité n'est plus négligeable du tout.

          • [^] # Re: Quand la religion bloque le progres...

            Posté par . Évalué à -8.

            Ah oui tiens, IDA va subitement t'enfermer… Il va muer tout seul et hop, d'un coup d'un seul tu seras enferme, meme pas eu le temps de clicker l'icone pour fermer le soft !

            Un minimum de serieux serait le bienvenu.

      • [^] # Re: Quand la religion bloque le progres...

        Posté par . Évalué à 2.

        Ah tiens je croyais que c'était un peu passé de mode cette connerie de "logiciel privateur" mais il faut croire que non.

        • [^] # Re: Quand la religion bloque le progres...

          Posté par . Évalué à 0.

          Tu peux détailler ce que tu veux dire ? C'est juste l'expression « logiciel privateur » qui t'embête (parce que « logiciel propriétaire » est suffisante¹), ou bien c'est le côté « libre vs privateur/propriétaire » ?

          [1] Auquel cas je suis d'accord. :P

          • [^] # Re: Quand la religion bloque le progres...

            Posté par . Évalué à 3.

            Oui en effet c'est cette expression "logiciel privateur". Je ne vois pas en quoi l'utilisateur est privé de quelquechose entre avant son acquisition du logiciel et après ; la license du logiciel définit ce que tu as le droit (ou pas) de faire, ce n'est pas comme si l'utilisateur était pris en traitre (*).
            Le logiciel fournit un service donné dans un cadre d'utilisation donné, si l'utilisateur trouve ça trop restrictif, personne ne le force à en faire l'acquisition si la license ne lui convient pas.

            Après, pour ceux qui utilisent "privateur", on sait que ça concerne les libertés accordées par la GPL, mais les pro-license BSD pourraient très bien arguer qu'un soft sous GPL est privateur. Bah oui, on ne peut pas embarquer de code GPL dans un soft BSD et tout mettre sous BSD, ou embarquer du code GPL dans du soft proprio sans tout mettre sous GPL, on peut aussi considérer que c'est une privation de liberté dans ce cas là. Bref, juste pour dire que tout est question de référentiel.

            Perso je préfère largement utiliser des logiciels libres, j'ai même publié des choses sous GPL, mais si un truc proprio fait le job et qu'il n'existe pas d'alternative crédible libre, désolé je vais utiliser le truc proprio. Dans le cadre d'IDA, ça m'est déjà arrivé de devoir l'utiliser (ponctuellement), non seulement c'est un bon produit, certes pas libre, mais je ne pense pas que j'aurais pu remplir mon besoin avec des outils libres.

            Enfin, même en étant pro-libre, ça me hérisse le poil cette expression, alors j'imagine même pas l'image d'intégristes donnée à des quidam lambda.
            "Logiciel propriétaire", ce n'est peut-être pas l'expression la plus optimale (bien que je n'ai pas de meilleure idée à proposer), mais au moins tout le monde la comprend et ce n'est pas du dénigrement gratuit.

            (*) Je pourrais à la limite comprendre qu'on utilise le terme privateur dans le cadre de la vente liée.

    • [^] # Re: Quand la religion bloque le progres...

      Posté par . Évalué à 2.

      Bon là, tu fais juste ton gros troll. Même si tu penses ce que tu écris hein. Parce que je trouve tout à fait normal et pertinent de poser ce genre de question sur un site qui s'intéresse certes à Linux et autrex UNICES libres, mais aussi aux logiciels libre en règle générale. Se contenter d'un soft propriétaire, aussi bon soit-il, alors qu'il existe peut-être un autre outil, peut-être moins bien, mais qui remplit une bonne partie du boulot, ce n'est pas être un fanatique, ni être stupide. C'est simplement avoir des priorités différentes, sur la provenance du code et son utilisation.

      Quelques bêtes analogies :

      • diras-tu à quelqu'un qui veut acheter des fruits ou légumes bio¹/« organic¹ » qu'il n'est qu'un zélote écervelé, tout ça parce que pour lui c'est important de s'assurer que ce qu'il mange n'a pas été exposé à des pesticides, qui ne sont pas issus de l'agriculture transgénique dont il se méfie² ?
      • Te moqueras-tu d'un mec qui achète du café issu du commerce équitable¹, parce qu'il aime l'idée que des petits producteurs bénéficient de tarifs corrects et ne sont pas exploités par les grandes enseignes qui leur imposent des cadences de production démentes, tout en achetant le tout à un prix ridicule ?
      • Quid des végétariens qui ne le sont qu'à cause des conditions d'élevage monstrueuses ? Beaucoup reviendraient à la viande s'ils avaient des garanties sur les conditions de vie (et de mort) des animaux qui nous nourrissent.
      • Et donc, en quoi quelqu'un qui veut avoir certaines garanties sur le code qu'il fait tourner sur sa machine (je ne sais pas moi, par exemple la possibilité d'exécuter le code, d'étudier son source, de pouvoir le modifier, et aussi le distribuer) est ridicule de chercher une alternative à un produit qui certes est excellent, mais qui n'est gratuit que sous certaines conditions, que pour une certaine version, etc. ?

      Ou bien on fait comme MS à un moment faisait : encourager officieusement les versions copiées (illégalement dans 90% des cas) pour une utilisation personnelle, comme ça, paf, quand l'individu ira bosser dans une boite, il voudra le même outil, et cette fois si elle paie pas, la boite devra tout plein de sous aux éditeurs de IDA ?

      [1] Oui, je sais, il y a plein de « trucs » qui permettent d'avoir le bon label tout en restant parfois d'une qualité douteuse. Malgré tout, tout un tas de règles additionnelles doivent être respectées.
      [2] Sans doute à tort, mais c'est la faute aux scientifiques et aux gouvernements de n'avoir pas su correctement nous vendre la soupe.

  • # Pourquoi les gens ne jurent que par IDA

    Posté par . Évalué à 10.

    Sur le principe, je suis d'accord avec toi: j'aimerais bien utiliser autre chose qu'IDA, ne serait-ce que pour pouvoir l'améliorer et aussi pour avoir un logiciel libre mais seulement voilà, j'ai passé beaucoup beaucoup de temps avec IDA et aucun autre logiciel que je connais n'est au niveau. J'ai pas testé radare depuis un moment mais à l'époque c'était vraiment pas ça.

    Le problème avec ce genre de logiciel c'est que le main d'oeuvre nécessaire pour atteindre un tel niveau est vraiment importante. Un autre problème pour moi c'est que tous ces logiciels libre ont une mauvaise approche du problème. En gros il te permettent de désassembler, de trouver les "basic block" et voilà. Quant aux graphes d'appels, je n'ai jamais utilisé ça, c'est illisible dès que la fonction n'est pas triviale. Or il me semble que faire ça c'est le niveau 0 du reverse engineering. C'est tout le reste qui est important:

    • l'analyse de la mémoire: savoir quel objet est référencé par qui, sans ça tu ne peux rien faire
    • typage: pouvoir définir des structures, pouvoir "décorer" le code de façon à ce que (exemple en ARM):

      ldr rO, [r0, #40]

      devienne

      ldr r0, [r0, #masuperstructure_t.champ_magique]

      Il faut avouer que c'est plus lisible. Et j'ajouterai que je ne parle pas de le faire à la main, c'est très important que le logiciel puisse comprendre ce genre de décoration (voir plus bas).
      Idéalement il faudrait même aller plus loin: une fois qu'on a indiqué que, par exemple, à un endroits du code, R0 contient un pointeur vers une structure de type masuperstructure_t, il devrait pouvoir automatiquement décorer les autres accès.

    • l'analyse du code: c'est bien beau de désassembler mais en fait ça sert à rien si on a pas d'information sémantiques. Par exemple c'est utile de savoir qu'en ARM l'instruction

      ldr r0, [r0,#40]

      fait un accès à la mémoire à l'adresse R0+40. Et ce n'est pas du tout spécifique à l'ARM, on a ce genre de construction dans tous les assembleurs, plus ou moins simplement. A plus long terme, en y réfléchissant bien, on voit que c'est la seule façon d'essayer de faire de la décompilation. Mais même sans viser aussi loin, un logiciel qui serait capable de prendre le code assembleur, le mouliner et dans 95% des cas le transformer en un code équivalent dans un pseudo-assembleur ou un langage de très bas niveau (style l'assembleur de LLVM) serait vraiment idéal, car après tu peux écrire plein d'algo très génériques d'analyse de code. Évidemment arriver à faire ça est quand même super dur.

    • l'analyse des appels: pouvoir décorer une fonction (avec un prototype en C comme dans IDA ou n'importe quelel autre méthode) de façon à ce que le logiciel soit conscient de la convention d'appel et puisse, lors d'un appel, décorer ou indiquer quels sont les argument. Exemple: on a une fonction "f" et on indique que son type est "void f(int a, int b, int c, int d, int e)", plus tard on voit ce code:

      ldr r0, ... ; a
      ldr r1, ....; b
      ldr r2, ....; c
      ldr r3, ....; d
      str r4, [sp]; e
      blx f

      Là on voit que le fait de savoir quel argument correspond à quoi est utile (en mettant des noms plus lisible que a, b, c, … bien sûr). Et ça marche aussi pour l'analyse de la fonction elle même:

      ; void f(int a, int b, int c, int d, int e)
      f:
      ldr r4, r0; a
      ldr r5, [sp,#4] ; e

      Sauf qu'évidemment dans le cas général ça se complique rapidement: il faut savoir analyser la pile d'appel, ce qui est indécidable dans le cas général mais il existe plein d'algo plus ou moins coûteux/puissant dans la littérature et c'est ça la valeur ajouté du logiciel.

    • l'analyse de la pile: j'en ai parlé au dessus mais ce n'est pas spécifique à un appel de fonction: que le logiciel puisse suivre l'évolution de la pile et comprendre que:

      ldr r0, [sp, #10]

      c'est pas juste un accès tout bête à la mémoire, c'est un accès une variable locale, et comme le logiciel suit l'évolution de la pile il peut même exactement laquelle, lui donner un nom, …

    • être intéractif: je crois que c'est LE point le plus dur mais c'est aussi le I dans IDA :) Le fait de pouvoir regarder le code, décider que paf telle variable que le logiciel a nommé "a" s’appelle en fait "mastructure" et a pour type "masuperstructure_t" et ensuite laisser le logiciel digérer l'info et en tirer les conséquences qui s'impose. Alors évidemment je vais me faire taper par tous les gens qui trouve que les GUI clicou-clicou c'est le Mal(C), c'est Windows-Like(C) ou je sais pas quoi, mais (1) on peut le faire en console avec ncurses (c'est horrible mais pourquoi pas), (2) le logiciel n'a pas accès un Oracle pour nommer et typer les variables, il faut bien bosser à un moment.

    Bref en conclusion je dirais que la raison principale c'est que quand tu as vraiment besoin de faire de la rétroingénierie, la dernière chose dont tu as envie c'est de perdre des heures à faire ce qu'un logiciel peut faire mieux que toi. C'est déjà assez difficile comme ça.
    Peut-être qu'une partie du problème vient aussi du fait que les gens qui font vraiment de la rétroingénierie (et donc savent ce qu'ils veulent) n'ont pas le temps de contribuer à un tel logiciel open source. En tout cas c'est mon cas.

    Si d'autres ont une opinion différente ou peuvent me prouver que je suis médisant et que certains logiciels open source font ça alors je serai heureux d'avoir tord :)

    • [^] # Re: Pourquoi les gens ne jurent que par IDA

      Posté par (page perso) . Évalué à 10.

      le main d'oeuvre nécessaire pour atteindre un tel niveau est vraiment importante

      La dernière fois que j'ai parlé à un développeur d'IDA (il y a ~1 an) ils étaient genre 5 à bosser dessus au total. Ils l'ont pas fait en deux semaines non plus, certes.

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: Pourquoi les gens ne jurent que par IDA

      Posté par . Évalué à 4.

      les gens qui trouve que les GUI clicou-clicou c'est le Mal(C)

      En général le reproche c'est plutôt que c'est mal d'en mettre pour tout et n'importe quoi, même quand c'est contre productif, ou que les gens qui utilisent un logiciel tous les jours peuvent investir du temps dans une courbe d'apprentissage plus élevé.

      Pour de l'analyse binaire "à la main" on veut avoir une vue graphique il me semble, c'est clairement un domaine ou a moins de juste regarder le code asm on a besoin de GUI. En tout cas j'ai assez horreur des clickodrome en général mais dans ce cas j'ai du mal à voir comment une interface texte peut être plus efficace.

    • [^] # Re: Pourquoi les gens ne jurent que par IDA

      Posté par . Évalué à 1.

      ldr r0, [r0, #masuperstructure_t.champ_magique]

      Ça c'est quand tu as le code source ou les symboles de debug, je suppose. Sinon, comment fait IDA ?

      • [^] # Re: Pourquoi les gens ne jurent que par IDA

        Posté par . Évalué à 5.

        Pas forcément, avec IDA, tu es capable de déclarer des types (et donc des structures) que tu aurais découvert lors de ton reverse.
        Ensuite, dès que tu la détecte quelque part dans ton code, la magie d'IDA fait son oeuvre et il "découvre" automatiquement les autres références à ta structures / autres champs de ta structure (dans les limites d'une analyse statique bien sur, mais c'est déjà énorme).

    • [^] # Re: Pourquoi les gens ne jurent que par IDA

      Posté par . Évalué à 7.

      Ton commentaire est très intéressant sur le plan technique mais aussi un peu déprimant :

      Peut-être qu'une partie du problème vient aussi du fait que les gens qui font vraiment de la rétroingénierie (et donc savent ce qu'ils veulent) n'ont pas le temps de contribuer à un tel logiciel open source. En tout cas c'est mon cas.

      Et donc votre plan à long terme c'est quoi, dans 20 ans vous conseillerez toujours d'utiliser IDA ? Et si des gens veulent expérimenter sur des façons nouvelles/différentes/avancées de faire de la rétro-ingénérie, ils se font embaucher par la boîte ou refont tout depuis rien ?

      On parle souvent de "dette technologique" pour le cas de la base de code d'un logiciel donné (qui par accumulation de code peu maintenu devient impossible à faire avancer), mais je pense que certains domaines souffrent d'un "gouffre technologique" car tous les outils utilisés sont propriétaires. Au contraire, dans de nombreux domaines (par exemple les langages de programmation), il y a un mélange sain d'outils libres et d'outils propriétaires qui fait qu'une partie des outils du domaine font partie de notre savoir collectif. Si on veut écrire un compilateur aujourd'hui, pas besoin de tout reprendre de zéro ou de s'entendre dire "tu ne concurrenceras jamais ICC et personne ne veut utiliser un truc moins bien", on peut s'appuyer sur LLVM (par exemple).

      Je pense que c'est sans doute un aspect négligé de certains logiciels libres comme Gimp ou LibreOffice. D'accord, entre quatre yeux, ils sont peut-être moins biens (sous plein d'aspects) que leur principal concurrent propriétaire. Mais ils sont là, ils n'ont pas abandonné le terrain, et chaque fonctionnalité qui leur est ajoutée entre dans notre propriété partagée des connaissances et des outils, d'où chacun pourra repartir pour créer son propre projet—en plus de rendre des services quotidiens aux utilisateurs moins exigeants.

      Dans d'autres domaines au contraire, comme l'ingénierie inverse si on en croit ton message, nous sommes collectivement démunis, réduis à mendier l'offre d'un, deux ou trois grands outils, qui ont tellement d'avance qu'ils écrasent toute tentative d'enrichir l'offre publique.

      Heureusement qu'il y a des gens assez fous, assez courageux ou ayant assez de temps à perdre pour se lancer à la poursuite de ces géants. Ils n'y arriveront peut-être jamais (mais la chance peut tourner; Sage peut concurrencer Mathematica, IPython+SciPy peut concurrencer Matlab, Blender peut concurrencer Maya, etc.), mais les retombées positives en valent la peine. C'est fou tout ce qu'on peut faire quand on est soudain libre de monter sur les épaules des géants.

      (Remarque: dans certains écosystèmes, le rôle du savoir commun partagé est assuré par un accès à un SDK propriétaire mais standardisé. Par exemple, iOS n'a pas apporté la reconnaissance vocale à notre univers de connaissance, mais donné un moyen fiable pour les développeurs d'applications iPhone de s'en servir sur leur système. C'est la norme dans certains écosystèmes, comme les moteurs de jeu vidéo. Ça donne des systèmes plus cloisonnés, moins extensibles, moins appréciés sur LinuxFR, et moins durables dans le temps, mais c'est aussi une forme d'aide à la réalisaton qui est intéressante et appréciée.)

  • # Pop-corn

    Posté par . Évalué à 9.

    C'est marrant, le mec cherche quelque chose de gratuit sous linux, en précisant bien qu'IDA est en version gratuite uniquement sous Windows, et qu'il n'a pas envie d'utiliser le trial de 30 jours sous nunux…

    Mais non, les gens s'entre-déchirent sur le thème: "Il vaut mieux que le logiciel soit adapté au besoin plutôt que libre"

    Ça a un p'tit peu dévié, et on est pas vendredi :-/

    • [^] # Re: Pop-corn

      Posté par (page perso) . Évalué à 10.

      Ça a un p'tit peu dévié, et on est pas vendredi :-/

      C'est un journal de rétro ingenierie. On a donc un troll du vendredi en 1 rétro-jour.

  • # Quelques alternatives

    Posté par . Évalué à 10.

    Pour un équivalent d'ollydbg je recommande edb (http://freecode.com/projects/edebugger) qui me parait plus convivial que gdb. :)
    On trouve également voltron (https://github.com/snarez/voltron) qui rend l'interface de gdb un peu plus sexy que gdbtui.
    [pub]Enfin, je développe depuis quelque temps medusa (https://github.com/wisk/medusa) un désassembleur avec une interface graphique et permet de voir les CFG en graphe. Très honnêtement, ce projet est loin de pouvoir égaler IDA, mais c'est un début. :)[/pub]

    • [^] # Re: Quelques alternatives

      Posté par (page perso) . Évalué à 8.

      Sinon dans le genre interface par dessus gdb, il y a ddd.

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

      • [^] # Re: Quelques alternatives

        Posté par . Évalué à 4.

        ou kdbg

      • [^] # Re: Quelques alternatives

        Posté par . Évalué à 3.

        Même gdbtui cité par le parent, qui est intégré en standard à gdb et affiche dans plusieurs fenêtres ncurses les registres et le code. Ça fait déjà deux choses sur les trois demandés dans le journal. Quelqu’un se dévoue pour faire une fenêtre qui affiche la stack ?

        • [^] # Re: Quelques alternatives

          Posté par . Évalué à 2.

          Ya pas des .gdbinit tout prêt pour ça
          on peut pratiquement tout customiser avec le fichier d'init

  • # Hopper

    Posté par (page perso) . Évalué à 1.

    Un peu de promo pour le projet d'un pote: http://hopperapp.com/ qui a désormais une version Linux.
    Ça ne joue pas dans la même cour que IDA, mais c'est très très correct et ça ne coûte pas un bras. Donc pour les cas où on n'a pas besoin de toute la puissance d'IDA (ce qui est quand même relativement fréquent), c'est pas mal du tout.
    J'aime bien le décompilateur, qui permet de survoler rapidement le code simple.
    (disclaimer: je m'en sers essentiellement sur du code ARM)

    • [^] # Re: Hopper

      Posté par . Évalué à 6.

      C'est pas libre du tout par contre.

      Je trouve un petit côté amusant quand un désassembleur interdit, dans sa licence, d'être désassemblé.
      (cette partie concerne une de ses dépendances pour être exacte).

      • [^] # Re: Hopper

        Posté par . Évalué à 2.

        Je trouve un petit côté amusant quand un désassembleur interdit, dans sa licence, d'être désassemblé.

        Moi je pense que ça explique bien pourquoi on ne trouve pas d'alternative libre viable : les gens qui sont intéressés par ce domaine sont très peu intéressés par le partage de la connaissance. Ils aiment bien cracker des softs dans leur coins, vendre des failles, chopper des techniques « secrètes », tout ça pour leur intérêt personnel.

        Je ne dis pas que tous sont comme ça (par exemple l'auteur de ce journal), mais c'est un milieu qui ne me fait pas très envie en général (à moi en tant que libriste), et je comprends du coup qu'on ne trouve pas beaucoup de tels softs en libre. Perso j'aime bien aussi reverse-engineerer, et quand j'étais jeune je m'amusais bien à cracker des softs, mais ce milieu ne m'a jamais vraiment attiré par son côté très élitiste et fermé, contrairement au libre.

        • [^] # Re: Hopper

          Posté par . Évalué à 3.

          les gens qui sont intéressés par ce domaine sont très peu intéressés par le partage de la connaissance. Ils aiment bien cracker des softs dans leur coins, vendre des failles, chopper des techniques « secrètes », tout ça pour leur intérêt personnel.
          ce milieu ne m'a jamais vraiment attiré par son côté très élitiste et fermé, contrairement au libre.

          Je ne reconnais pas du tout l'ambiance autour du projet auquel je participe, ni celui de la communaute autour d'IDA. La majorite des participants sur les forums sont des professionnels, souvent la dans le cadre de leur boulot. C'est ferme dans le sens ou il faut etre client pour participer mais on trouve plein de projets libres autour (plugins, SDK, etc.).

          Apres si on parle des forums de crackers qui utilisent une version piratee d'IDA, evidemment c'est pas la meme chose et le rapport signal bruit est pas terrible. Mais qu'est ce qu'un libriste irait donc faire la-bas de tout facon?

          C'est un peu comme une personne qui n'aurait de vue sur le libre qu'en frequentant LinuxFR…

    • [^] # Re: Hopper

      Posté par . Évalué à 3.

      Je l'ai testé rapidement et effectivement il est intéressant.
      La vue en graphe n'était pas disponible quand j'ai testé, je n'ai pas compris pourquoi. Le décompilateur est très limité, et souvent l'option n'apparaît pas, sans qu'on ait d'explication pourquoi, c'est un peu dommage.

      Ce logiciel a de nombreuses fonctionnalités d'IDA, et j'ai pu contourner le timer de la démo en dix minutes, ce qui prouve qu'il est bien fichu ! :)

  • # lida

    Posté par . Évalué à 1.

    Il existe un clone libre de IDA : lida (http://lida.sourceforge.net/). Par contre je sais pas trop si c'est encore activement développé. C'est encore loin d'IDA (pas de vu en graphe ni de dé-compilateur par exemple).

    • [^] # Re: lida

      Posté par (page perso) . Évalué à 4.

      Par contre je sais pas trop si c'est encore activement développé.

      dernière modification en décembre 2004…

      « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

  • # binwalk

    Posté par (page perso) . Évalué à 5.

    Avant d'attaquer le désassemblage, il y a binwalk: http://code.google.com/p/binwalk/

    Il permet de repérer plein de choses dans un fichier "blob". Les en-têtes ELF, les bases de données SQLite, certains systèmes de fichiers, des séquences d'opcodes caractéristiques de certains CPUs, etc.

    Pour les machines 8-bit, il y a d52, d48 et dz80: http://packages.debian.org/unstable/d52
    avec une interface pas trop bête (un fichier de config permet d'indiquer quelles parties du fichier à analyser sont du code ou des données, de placer des labels et des commentaires sur des addresses, etc). Il y a une interface en SDL que je ne connait pas.

    Je pense qu'une approche de ce type peut déjà bien fonctionner. ça permet aussi de travailler avec le fichier de config de façon scriptable, dans la philosophie unix.

    Pour le 68000, il y a IRA qui fait un peu la même chose: http://sun.hasenbraten.de/~frank/projects/

    Enfin, pour l'analyse dynamique, n'oublions pas strace qui permet d'avoir déjà un bon apperçu de ce qu'il se passe.

  • # conf gdb de barbu

    Posté par . Évalué à 5.

    Salut,

    J'avais utilisé une conf gdb orienté pour le debug en assembleur, ça fourni l'état des registres, le listing assembleur et quelques autres fonctionnalités

    http://reverse.put.as/gdbinit/

    gdb$ help user
    pour avoir la liste des fonctions

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.