Décompiler une librairie

12 sujets de 1 à 12 (sur un total de 12)

  • piark

      #375138

      Bonjour à tou/tes/s !

      Après avoir malencontreusement pulvérisé ma table de partition sur mon a1200 de la façon la plus stupide et la moins glorieuse possible, j’en suis réduit à chercher à décompiler mon propre code pour retrouver le boulot réalisé…..après le dernier backup (sinon c’est pas amusant).

      Et donc je me suis posé la question, mais qui que donc que comment peut on peut-être possiblement, decompiler une lib !

      Je tente avec ASMPro, read binary, dissassemble, et bon ben je tombe en mémoire quelque-part dans du code qui n’est manifestement pas le miens….

      Alors un petit coup de main je ne refuse pas !

      Aux amateurs de bon code, merci d’avance !

      Sinon je vais terminer à la sortie d’un métro assis avec un carton écrit “Ancien codeur ayant perdu ses derniers sources, s’il vous plaît, la charité”.

      Note pour plus tard : Comme pour les démoparty, lorsque tu as un event Amiga dans 2 jours, ignore l’appel de l’aventurier qui sommeille en toi et qui te dis, oh mais laisse pas ton workbench dans cet état la, améliore le //…..

      a++
      piark

      gordini21

        #375141

        Le problème quand tu desassembles du code il faut partir de la bonne adresse donc du début de ton code sinon le soft va te sortir n’ importe quoi. Il suffit d être décalé d’un octet.

        Souldream

          #375143

          Si c’est une lib, et que tu as un PC … essaye de chercher IDA pro voir Ghidra ! Leurs modules sont assez bien foutu pour ‘décompiler’ une lib et la remettre en ASM voir C.

          ...::: Mist - Mister FPGA - FPGA Arcade 060 - ZxUno :::...
          ...::: A500- A600/Gothek - Amiga 1230 Gotek CF 16GB - A3000 - A4000/30/64Mb/Vlab1.3/Oktagon :::...
          ...::: Vampire V4 SA :::...
          ...::: Zx 48/128+2/128+3/QL - Dragon32 - Atari 520STF/1040 :::...
          ...::: C64 + 1541 / C64 :::...

          stephbb75

            #375152

            Salut,

            Tente avec cela :
            http://amiga-dev.wikidot.com/technique:disassembling
            https://tetracorp.github.io/guide/reverse-engineering-amiga.html

            J’avais déjà désassembler des trucs, mais avec le temps ma mémoire c’est effacer 🙂

            https://youtube.com/@stephbb75

            piark

              #375156

              ah merci !

              Bon, j’ai testé avec GHIDRA sous linux, et oui il affiche du code, en plus il le traduit en C (mais je vous laisse imaginer la gueule d’un code de démo traduit en C =) )

              je testerais aussi sous AmigaOS du coup.

              Maintenant il faut que je me remette de mes émotions, ce week end j’étais avec des gens normaux formidables, à la NASS, et en l’espace de cinq minute y’a un mec qui m’a démoralisé à vie, en me disant que c’était tout à fait normal, qu’un programme demande 800mo + 1.5go de disque comme ça, parce que tu comprends, faut embarquer les dépendances sinon c’est compliqué à gérer…. les libs partagées……

              Dure réalité du monde pc qui me fait encore plus monter mon envie de continuer à coder sur Amiga !

              Mais quand même……

              Je teste tout ça je vous dit !

              merci

              thellier

                #375190

                Avec adis on peut decompiler une .library (si elle est sous forme de fichier)
                Sino si elle est en mémoire faudrait écrire un petit prog qui l’ouvre et printf les adresses de la tables de saut (jumptable) (les trucs genre jsr -48(a6) ) et alors désassembler les functions à ces adresses en mémoire

                pulp

                  #375202

                  y’a un tool pour récupérer des partitions amiga : RDBRecov

                  http://aminet.net/package/disk/salv/RDBrecov

                  stephbb75

                    #375207

                    Salut,

                    en l’espace de cinq minute y’a un mec qui m’a démoralisé à vie, en me disant que c’était tout à fait normal, qu’un programme demande 800mo + 1.5go de disque comme ça, parce que tu comprends, faut embarquer les dépendances sinon c’est compliqué à gérer…. les libs partagées……

                    Bas oui, faut refaire chaque lib, on sais jamais elles devraient mieux fonctionner 🙂
                    je connais bien le K, préférè refaire que d’utiliser ce qui existe …
                    Cela ne fait pas tout a faire ce que je veux…
                    Faut payer des droits pour l’utiliser….
                    C’est de l’open source on a pas confiance…
                    Ci on refait au moins on pourras maintenir…
                    Ha bon cela existait déjà ? …
                    … et plein d’autre comme cela :-O

                    https://youtube.com/@stephbb75

                    kamelito

                      #375233

                      IRA et Resource sont de bons outils.

                      piark

                        #375258

                        @pulp , oui merci pour l’outil !

                        J’ai déjà testé et il ne reconnait pas du tout le device sur pc (émulateur), j’ai pas osé tout rebrancher sur l’Amiga, mais je vais tenter la.

                        Pour l’instant j’ai réussi à récupérer des morceaux de source à coup d’extraction de l’image disque (grep), bout à bout j’ai obtenu quelquechose qui tourne.

                        Mais j’ai des bugs qui sont revenus, que je re corrige, enfin c’est mieux la déjà car ça compile et ça tourne sur le 1200.

                        L’outil sous linux n’est pas très lisible, mais en cherchant certaines instructions on arrive à tomber sur des blocs de code et avec ça retrouver les source dans le bordel du filesystem en brut.

                        piark

                          #375259

                          bon je teste, déjà sur l’amiga le disque est détecté.

                          donc je vais attendre et voir ce qu’il va raconter

                          piark

                            #375260

                            bon, ben rdbsalv ne trouve rien du tout, donc ça règle la question 🙂

                          12 sujets de 1 à 12 (sur un total de 12)

                          • Vous devez être connecté pour répondre à ce sujet.

                          Forums AmigaOS, MorphOS et AROS Développement Décompiler une librairie

                          Amiga Impact