Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer sa propre facon de lire le binaire

(désolé, je n'ai pas le vocabulaire...)

    5 mai 2010 à 14:31:40

    Bonjour :p
    Voilà : j'aimerais pouvoir créer ma propre manière de lire du binaire. Je vais essayer de m'expliquer car je vois bien que vous ne voyez pas ce que je veux dire :D

    Je possède une Casio graph 85, et lorsque je passe les programmes sur mon ordinateur via linux et que j'ouvre les fichier, il est impossible d'ouvrir correctement le fichier, de nombreux caractères étant remplacés par des points d'interrogations. Donc, je voulais savoir si on pouvait créer soit même sa technique pour ouvrir un fichier Casio via Open office par exemple ou n'importe quel logiciel en assignant à un bit des caractères à écrire.

    Est-ce faisable, et comment ? J'espère avoir réussi à me faire comprendre...

    Merci d'avance ^^
    • Partager sur Facebook
    • Partager sur Twitter
      5 mai 2010 à 15:05:46

      et ta casio graph 85 c'est??: (carte graphique, calculatrice, outil de torture destiné a nous rendre cinglés?)
      • Partager sur Facebook
      • Partager sur Twitter
        5 mai 2010 à 15:29:23

        Euh... Je n'ai pas compris...
        • Partager sur Facebook
        • Partager sur Twitter
          5 mai 2010 à 15:32:58

          Un langage de programmation devrait te permettre de lire le contenu du fichier dans un tableau d'octet. (ByteArrayInputStream en Java pour ne citer que ça, en C ça se fait très facilement également).

          Par contre j'avoue ne rien comprendre au pourquoi du comment moi non plus.
          • Partager sur Facebook
          • Partager sur Twitter
            5 mai 2010 à 16:03:05

            Je vais essayer de récapituler :
            Lorsque je passe mon fichier de ma Casio à mon ordinateur et que je veux l'ouvrir avec un logiciel de traitement de texte, j'obtiens une erreur à l'ouverture de Open office :
            "Quel jeux de caractère voulez vous utiliser ?"

            Sauf que quel que soit le jeux de caractère, j'obtiens toujours des caractères inconnus. Donc, je voulais savoir si il était possible de créer son propre jeux de caractère.

            Et pour le conseil de créer son propre programme, je programmais (ahah le jeux de mot :p ) de le faire, mais je voulais avoir plusieurs techniques, et en plus ce n'est pas la première fois que j'ai un problème de jeu de caractère.

            Merci d'avance ^^
            • Partager sur Facebook
            • Partager sur Twitter
              5 mai 2010 à 16:05:49

              o_O tu voudrais qu'il t'affiche quoi OpenOffice ??
              • Partager sur Facebook
              • Partager sur Twitter
                5 mai 2010 à 16:20:23

                Qu'il remplace les Caractères inconnus par d'autres que je luis dirais.

                Ex : si les 2 octets suivant sont f7 00 alors on écrit "If"(ou on prend une image d'If...), Si l'octet est égal à 0d, alors on mets un retour à la ligne...

                Tu vois ce que je veux dire ? Pour que le rendu soit le même que sur Casio.
                • Partager sur Facebook
                • Partager sur Twitter
                  5 mai 2010 à 16:27:28

                  Je comprends mieux, merci.
                  Aucune idée si c'est possible avec ooo, tu ferais mieux de te faire un petit script :
                  une table de correspondance octet/chaîne de caractère,
                  une fonction de remplacement (qui ne fait que chercher dans la table de correspondance)
                  deux fonctions de lecture/écriture

                  et le tour est joué :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 mai 2010 à 16:30:47

                    Ouvrir le fichier que tu souhaites avec OOo est une ineptie. Sauf s'il s'agit d'un fichier OOo, ce qui n'est visiblement pas le cas (pour répondre à empatik, la Casio graph 85 est une calculatrice si mes souvenirs sont bons).

                    Le traitement de texte de OOo fait... eh bien du traitement de texte. Si tu veux ouvrir ton fichier (binaire ? source ?), fais-le avec un éditeur de texte (Nano, Vim, Katia, que sais-je encore, sous GNU/Linux, le choix ne manque guère).
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 mai 2010 à 16:35:48

                      Citation : Javier

                      Je comprends mieux, merci.
                      Aucune idée si c'est possible avec ooo, tu ferais mieux de te faire un petit script :
                      une table de correspondance octet/chaîne de caractère,
                      une fonction de remplacement (qui ne fait que chercher dans la table de correspondance)
                      deux fonctions de lecture/écriture

                      et le tour est joué :)


                      J'avais l'intention de le faire de toute façon. Je voulais juste avoir une facon alternative qui fonctionne sur tous les OS facilement et sans installer un autre logiciel. Merci pour tes conseils !

                      Citation : Pierre89

                      Ouvrir le fichier que tu souhaites avec OOo est une ineptie. Sauf s'il s'agit d'un fichier OOo, ce qui n'est visiblement pas le cas (pour répondre à empatik, la Casio graph 85 est une calculatrice si mes souvenirs sont bons).

                      Le traitement de texte de OOo fait... eh bien du traitement de texte. Si tu veux ouvrir ton fichier (binaire ? source ?), fais-le avec un éditeur de texte (Nano, Vim, Katia, que sais-je encore, sous GNU/Linux, le choix ne manque guère).


                      Si je voulais l'ouvrir avec OOo, c'est juste pour avoir un logiciel qui est installé sur la plupart des ordinateurs sans en ré-installer d'autres... Mais d'un coté tu n'as pas tord, avec cette technique je ne pourrais pas ré-enregistrer (C'est ici que sert le Script).

                      Et si je veux faire la même chose mais cette fois avec Vim ou nano ou encore Gedit par exemple, comment faire ? Lorsque je l'ouvre avec Vim, j'ai des points partout où il y a des caractères inconnus...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        5 mai 2010 à 16:57:41

                        Citation : little_programmeur


                        Si je voulais l'ouvrir avec OOo, c'est juste pour avoir un logiciel qui est installé sur la plupart des ordinateurs sans en ré-installer d'autres... Mais d'un coté tu n'as pas tord, avec cette technique je ne pourrais pas ré-enregistrer (C'est ici que sert le Script).



                        Là n'est pas la question : un traitement de texte traite le texte, il ne fait pas que l'éditer. (Ouvre un document OOo avec un éditeur, tu comprendras.) Ca revient à ouvrir une canette de bière avec un tracto-pelle : t'y arriveras, mais tu retrouveras la bouteille dans un état qui n'est pas celui que tu attends...
                        (De plus, il y a fort à parier que vim soit installé d'office sur plus de machine que OOo.)

                        Sinon, il nous faudrait plus de détails sur le fichier que tu veux ouvrir : est-ce un source du langage utilisé sur ta Casio ? Un exécutable binaire ? Autre chose ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          5 mai 2010 à 17:36:58

                          C'est un fichier .g1m, avec le code Basic Casio écrit en toute lettre... Ou plutôt en tout octet ^^
                          Voilà par exemple ce que donne un fichier ouvert via Vim en Hexa : Certains caractères sont inconnus :
                          Image utilisateur
                          Je suis en train de recenser un a un tous les caractères/fonctions du Basic Casio (les commentaires sont précédés par ') :
                          Pour les caractères ici :
                          Saut de ligne = $0d
                          ' = $27
                          For = $f704
                          To = $f705
                          Step = $f706
                          Next = $f707
                          While = $f708
                          WhileEnd = $f709
                          Do = $f70a
                          LpWhile = $f70b
                          Prog = $ed
                          Return = $f70c
                          Break = $f70d
                          Stop = $f70e
                          Lbl = $e2
                          Goto = $ec
                          => = $13
                          Isz = $e9
                          Dsz = $e8
                          ? = $3f
                          _DISP_ = $0c


                          Et je dois faire ça pour toutes les fonctions... Une idée ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 mai 2010 à 18:17:08

                            Bon, c'est du BASIC mais ils ont un format bien à eux... Va comprendre.

                            Quoiqu'il en soit, après un recherche rapide de 5min, il semble que tous les utilisateurs de Linux aient le même problème : qu'ils utilisent Casseta (un nom du genre) ou Xfer, impossible d'ouvrir les fichiers de type *.g1m. En revanche, il semble que le logiciel de transfert FA-124, sous Windows, le fasse parfaitement.

                            Alors, si tu es en dual boot, ou veux tenter l'installation sous Linux via Wine...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 mai 2010 à 18:30:38

                              J'ai déjà essayé via wine, mais rien... L'installation se déroule sans problème, et lors de l'exécution du programme, rien ne se passe.

                              C'est pour ça que je voudrais créer mon propre programme.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 mai 2010 à 19:22:25

                                Si j'ai bien compris, Casio n'utilise pas la même table ascii que le reste du monde.

                                Pourquoi ne pas utiliser le "rechercher-remplacer" d'OpenOffice ?

                                Pour reprendre ton exemple, tu copie-colles ton code (en hexa) sur une page vide dans OOo et tu fais Rechercher-remplacer la chaine de caractères "F7" par "I", la chaine de caractères "00" par f et la chaine de caractères "0D" par un retour à la ligne.

                                Bon évidemment, c'est fastidieux si il faut faire ça manuellement pour chaque caractère (tout l'alphabet + 10 chiffres + les symboles de ponctuations) mais ça peut s'automatiser très facilement avec une macro.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  5 mai 2010 à 20:25:35

                                  J'avoue n'avoir jamais touché aux Macro d'Open Office... Pourquoi pas. Par contre 'est plus compliqué que ce que tu dis : il faut remplacer "0f00" par if, "0f01" par else... Bon ca ne complique pas énormément, mais c'est plutôt long, surtout quand il y a 100 choses à remplacer. et comment fais-t-on des macros ? Permettent-ils de lire directement en Hexadécimal ?

                                  Et si on veux le faire sur Vim par exemple ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    6 mai 2010 à 0:16:13

                                    Citation : Cuxmay

                                    Si j'ai bien compris, Casio n'utilise pas la même table ascii que le reste du monde.



                                    Je pense plutôt qu'il utilise un format compressé/transformé du source. Zip un fichier texte et ouvre l'archive via l'éditeur de texte et ce ne sera pas plus lisible.

                                    Ca me semble un peu mal barré de 'traduire' depuis l'hexadécimal. Envoie plutôt un mail à Casio pour savoir s'il n'existerait pas un 'décompresseur' compatible GNU/Linux.


                                    (Je ne pense pas que ce soit le cas, mais vérifie tout de même : si jamais FA-124 est Open Source, un petit malin l'aura sûrement recompilé sous ta distro.)
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Créer sa propre facon de lire le binaire

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown