IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

trouver une chaine de caractères dans un programme compilé


Sujet :

Assembleur

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    J'ai téléchargé la version sky, comme il dit de faire dans ce post:
    http://www.developpez.net/forums/d13...e/#post7585597

    Je vais ressayer de le lancer tout à l'heure et si ça fait pareil je le passerais sous Wine.
    Là je le passe en f7/f8 avec le debugger.

  2. #22
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par Yepazix Voir le message
    Si tu faisais la même comparaison entre Spirit et Sky, tu devrais avoir bien moins de différences puisque dans ce cas la seule différence c'est le nombre de sorties DMX.
    Ça vaut effectivement le coup d'essayer. Malheureusement, il y aura quand même beaucoup plus de différences que tu le penses.

    Et finalement si tu regardes les résultats obtenus sur les trois fichiers seule la zone qui est différente sur les 3 fichiers devrait être celle qui nous intéresse non ?

    De là il y aurait peut être moyen de faire quelque chose ?
    Ça ne nous donnerait pas forcément facilement l'endroit où les messages sont appelés, parce qu'ils sont toujours déportés dans un fichier dédié. Je vais essayer de provoquer le dump sous wine comme on l'a dit.

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Effectivement ça fonctionne bien sous Wine.

    Je pensais qu'il avait peut être crashé parce qu'il avait été lancé depuis un debugger mais non. Ca a recrashé violemment par un lancement direct.

    edit:
    Obsidian> J'ai téléchargé le simulateur, dernière version (je croyais que tu me demandais laquelle des trois versions j'ai dl.
    J'ai une mémoire très sélective et j'avais déjà zappé qu'il y avait deux versions dans sky, du coup j'avais mal compris ce que tu me demandais).

    Je vais lire tout le topique histoire de bien comprendre.

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    D'accord ça y est j'ai compris de quoi tu parles par rapport à la limitation des dmx.
    Effectivement j'ai le message d'erreur quand je tente de rentrer une valeur supérieure à 512,2 (sauf que dans mon cas, il est en espagnol).

    Trouver où ça bloque ne devrait pas être trop compliqué avec imm debugger.
    C'est dommage qu'il bug..
    Je vais tester sous Vista, et pourquoi pas sous Wine si le debugger accepte de fonctionner avec.

    edit:
    Finalement, voyant que ça ramait légèrement sous WIne, j'ai regardé mes stats, et mon proc tourne à 50%.
    Ca bug donc également sous Wine, mais pas au point de crasher.

    Par contre je viens de voir dans le dos stub que c'est un programme WinNT, ceci explique peut être cela.
    Ca tombe bien j'ai WinNT sous Vbox, je testerais tout à l'heure dessus voir si ça rame également (sachant que sous XP et Vista, le proc virtuel est à 100%).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    00000040  0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 74 68  º.´.Í!¸LÍ!th
    00000050  69 73 20 69 73 20 61 20 57 69 6E 64 6F 77 73 20  is is a Windows
    00000060  4E 54 20 77 69 6E 64 6F 77 65 64 20 65 78 65 63  NT windowed exec
    00000070  75 74 61 62 6C 65 0D 0A 24 00 00 00 00 00 00 00  utable..$.......

  5. #25
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Je n'arrive pas à trouver la string dont il parle..
    J'ai vérifié dans Sky, les deux versions, aucune trace...
    Donc elle ne doit apparaitre qu'à un certain moment, mais lui la trouve avec un simple editeur hexa, c'est pour ça que je ne comprend pas.

    edit: Est-ce que je n'aurais pas la bonne version ? (j'ai pris la dernière)
    edit: C'est bon j'ai trouvé, apparemment c'est dans les fichiers numérotés.

    edit:
    Moi j'ai le droit à la version Castellano, du fichier 66666666.000

    Et donc cette phrase:
    "Espera n£mero de dimmer/l¡nea ###." (vers l'offset 680)

    Lors d'une recherche de 66666666 dans le debugger, j'ai trouvé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Text strings referenced in 00401000..004CFFFF, item 111
     Address=00434766
     Disassembly=push    wolehydr.004D1F20
     Text string=ASCII "66666666.%03d"
     
    Text strings referenced in 00401000..004CFFFF, item 112
     Address=00434840
     Disassembly=push    wolehydr.004D1F20
     Text string=ASCII "66666666.%03d"
     
    Text strings referenced in 00401000..004CFFFF, item 114
     Address=004348CF
     Disassembly=mov     eax,wolehydr.004D1F30
     Text string=ASCII "Error: 66666666.??? open
    "
    Il n'y a que ces trois références.
    Je vais commencer à chercher par là.

  6. #26
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par n5Rzn1D9dC Voir le message
    Je n'arrive pas à trouver la string dont il parle..
    J'ai vérifié dans Sky, les deux versions, aucune trace...
    Donc elle ne doit apparaitre qu'à un certain moment, mais lui la trouve avec un simple editeur hexa, c'est pour ça que je ne comprend pas.

    edit: Est-ce que je n'aurais pas la bonne version ? (j'ai pris la dernière)
    Relis le fil en entier On a déjà dit que :
    • Il utilise la derniere version ;
    • Les messages de dialogue sont tous déportés dans un fichier distinct pour pouvoir faire le changement de langue sur demande. Les messages en français sont dans 66666666.003


    Le logiciel principal est dans 55555555.777. C'est un simple *.exe MS-DOS au format MZ.

    L'ennui est que même si l'ordinateur embarqué est un mini-PC à base de i386, le logiciel est propriétaire. En plus il utilise plusieurs consoles vidéos exploités en mode texte mais mappées à différents endroits en mémoire. En plus, sur la totalité du binaire, on ne trouve que cinq références à « INT 21h », dont plusieurs semblent être invalides (données plutôt que code).

    Du coup, c'est pénible à trouver parce que le clavier n'est pas standard (c'est celui de la console), l'affichage n'est pas standard, l'ouverture des fichiers n'est pas standard, la génération des noms de fichiers ne l'est pas non plus. Impossible de les retrouver tels quels dans l'exécutable : il doit plutôt tous les passer en revue et choisir le bon en fonction de la valeur du premier caractère, puis des suivants.

    L'exécutable a l'air de bien fonctionner sous DOSBox mais comme la console vidéo n'est pas mappée au bon endroit, aucun affichage n'est produit et, de toutes façons, il ne détecterait pas le matériel à l'initialisation et refuserait donc d'aller plus loin.

    Reste le déboguage de l'émulateur lui-même, mais ça implique quand même de faire le distingo entre la couche Windows et celle de l'émulateur DOS embarqué. Ensuite, l'exécutable de l'émulateur embarque plusieurs fichiers comprimés. Certains sont développées sur le disque (ceux des messages), les autres le sont directement en mémoire. Il faut donc intercepter l'exécutable en situation (pendant l'exécution) avec le debugger, examiner le plan mémoire alloué, retrouver les chaînes, déduire leur offset, puis examiner le code pour le retrouver en tenant compte de toutes les combinaisons possibles « segment + offset » du mode réel (il est tout-à-fait possible que le programme navigue dans la base des messages en décalant son registre de segment et pas simplement l'index d'offset).

    Faisable, mais franchement pas simple sans les bons outils.

  7. #27
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Je viens de lire tes EDITs déposés pendant que je rédigeais mon message.

    Du coup, je suis allé vérifier les fichiers du logiciel proprement dit (pas l'émulateur) et en particulier 44444444.570 qui est le second exécutable MZ, plus petit et que je n'avais pas encore exploré.

    On y trouve non pas la chaîne au format printf de l'émulateur mais ceci :

    Code hexdump : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    0002220: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ffff 988b 988b 0000 0000 0000 0000 0000 0000 2573  ..............................................%s
    0002250: 000d 2573 2025 6c64 000a 0043 3a5c 3030 3030 3030 3030 2e30 3032 0043 3a5c 3030 3030 3030 3030 2e30 3031 0041 3a5c 3030  ..%s %ld...C:\00000000.002.C:\00000000.001.A:\00
    0002280: 3030 3030 3030 2e30 3031 0041 3a5c 3030 3030 3030 3030 2e30 3032 0043 3a5c 3232 3232 3232 3232 2e32 3232 0041 3a5c 3232  000000.001.A:\00000000.002.C:\22222222.222.A:\22
    00022b0: 3232 3232 3232 2e32 3232 0043 3a5c 3333 3333 3333 3333 2e33 3333 0041 3a5c 3333 3333 3333 3333 2e33 3333 0043 3a5c 5553  222222.222.C:\33333333.333.A:\33333333.333.C:\US
    00022e0: 4241 5350 492e 5359 5300 413a 5c33 3333 3333 3333 332e 3430 3000 433a 5c44 4931 3030 3044 442e 5359 5300 413a 5c33 3333  BASPI.SYS.A:\33333333.400.C:\DI1000DD.SYS.A:\333
    0002310: 3333 3333 332e 3530 3000 433a 5c34 3434 3434 3434 342e 3536 3000 413a 5c34 3434 3434 3434 342e 3434 3400 413a 5c34 3434  33333.500.C:\44444444.560.A:\44444444.444.A:\444
    0002340: 3434 3434 342e 3536 3000 433a 5c34 3434 3434 3434 342e 3536 3100 413a 5c34 3434 3434 3434 342e 3536 3100 433a 5c34 3434  44444.560.C:\44444444.561.A:\44444444.561.C:\444
    0002370: 3434 3434 342e 3536 3200 413a 5c34 3434 3434 3434 342e 3536 3200 433a 5c34 3434 3434 3434 342e 3536 3300 413a 5c34 3434  44444.562.A:\44444444.562.C:\44444444.563.A:\444
    00023a0: 3434 3434 342e 3536 3300 433a 5c34 3434 3434 3434 342e 3536 3400 413a 5c34 3434 3434 3434 342e 3536 3400 433a 5c34 3434  44444.563.C:\44444444.564.A:\44444444.564.C:\444
    00023d0: 3434 3434 342e 3536 3500 413a 5c34 3434 3434 3434 342e 3536 3500 433a 5c34 3434 3434 3434 342e 3536 3600 413a 5c34 3434  44444.565.A:\44444444.565.C:\44444444.566.A:\444
    0002400: 3434 3434 342e 3536 3600 433a 5c34 3434 3434 3434 342e 3537 3000 413a 5c34 3434 3434 3434 342e 3537 3000 433a 5c34 3434  44444.566.C:\44444444.570.A:\44444444.570.C:\444
    0002430: 3434 3434 342e 3434 3400 413a 5c34 3434 3434 3434 342e 3538 3000 433a 5c35 3535 3535 3535 352e 3535 3500 413a 5c35 3535  44444.444.A:\44444444.580.C:\55555555.555.A:\555
    0002460: 3535 3535 352e 3535 3500 433a 5c4b 4559 424f 4152 442e 434f 4d00 413a 5c35 3535 3535 3535 352e 3536 3000 433a 5c4d 4f55  55555.555.C:\KEYBOARD.COM.A:\55555555.560.C:\MOU
    0002490: 5345 2e43 4f4d 0041 3a5c 3535 3535 3535 3535 2e35 3830 0043 3a5c 4c53 4c2e 434f 4d00 413a 5c35 3535 3535 3535 352e 3539  SE.COM.A:\55555555.580.C:\LSL.COM.A:\55555555.59
    00024c0: 3000 433a 5c4d 4553 412e 4558 4500 413a 5c35 3535 3535 3535 352e 3737 3700 413a 5c00 433a 5c00 433a 5c36 3636 3636 3636  0.C:\MESA.EXE.A:\55555555.777.A:\.C:\.C:\6666666
    00024f0: 362e 3f3f 3f00 433a 5c30 3030 3030 3030 302e 3030 3000 413a 5c30 3030 3030 3030 302e 3030 3000 0000 0902 0000 0000 0000  6.???.C:\00000000.000.A:\00000000.000...........

    Donc des chemins d'accès DOS et des jokers comme « C:\66666666.??? ».

    Je vais essayer de le lancer sous DOSBox.

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Arf yep ça a pas l'air simple.

    Là je viens d'essayer, par exemple de breakpointer sur le:
    " Disassembly=mov eax,wolehydr.004D1F30
    Text string=ASCII "Error: 66666666.??? open"

    Puis de provoquer l'erreur "error Espera n£mero de dimmer/l¡nea ###.",
    pensant que ça allait s'arrêter dessus, mais non, rien.

    edit:
    C'est bon ça breakpoint sur un des "push "66666666.%03d""
    Je vais chercher par là.

    edit:
    A savoir qu'il y a de l'anti debug. Du genre set..h...e..filter et GetTickCount, et sans doute d'autres.
    Et vu que j'ai oublié de remettre mon plugins aadp sur mon xp.
    De toute façon c'est la misère avec le bug cpu à 100% je ne peux pas voir grand chose.

    A la base je voulais trouver à quel moment et endroit cette phrase d'erreur est mise en mémoire, mais vu que ça bug à mort..
    Le fichier "6666...000" est lu avec ReadFile. Il y aussi du wsprintf. Mais dès que le programme démarre, je ne plus rien faire.
    Idem sous NT4.
    Il faudrait que je test d'autres versions plus anciennes pour voir si il y en a une qui ne bug pas.

  9. #29
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    C'est qu'il faut dire que ce n'est pas prévu pour tourner sur un PC "normal".


    Processeur principal : GEODE SC 2200 (256 Mhz)
    Processeur secondaire : H8/3003

  10. #30
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Yep mais je viens de comprendre le bug que j'ai.
    En faite mon virtuabox me refait le même bug qu'au tout début lorsque je l'ai installé.
    Je pensais que ça c'était arrêté, mais non.
    Lorsqu'un OS démarre, un de mes 4 cores tourne à 100% (au pifomètre, c'est jamais le même).
    Ca le fait surtout au démarrage, mais pas uniquement, si je lance certaine application, ça peut le faire aussi.
    Pas longtemps, puisque je n'avais même pas remarqué que le problème était revenu. Donc ce n'est pas perceptible.

    Par contre le gros problème, c'est qu'au bout d'un moment le bug devient persistant, même si je stoppe Virtualbox, il faut que je redémarre mon pc pour que ça s'arrête..
    Ca explique pourquoi j'avais également le problème sous Wine.
    Bon par contre avec ce logiciel sous Vbox c'est extrême. Au point que je ne peux plus rien faire. Mais à mon avis sur un Vbox qui fonctionne correctement, il y a de forte chance que le logiciel fonctionne parfaitement.

    Je testerais quand même avec une ancienne version.
    Sinon c'est mort je ne pas continuer, c'est dommage.

  11. #31
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Bon ben dommage même si je ne comprennais plus rien.... justement parceque je ne comprenais plus rien je pensais que vous étiez proche de la solution
    SI quelqu'un d'autre veut prendre le relais ....

  12. #32
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Les émulateurs fonctionnent sans problème avec wine sous Fedora 18 (Linux). En revanche, je commence à douter du fait qu'ils émulent directement l'environnement matériel en faisant tourner le logiciel original. J'ai plutôt l'impression que l'un et l'autre sont compilés à partir des mêmes sources pour générer deux produits différents…

    J'ai extrait une séquence d'une dizaine d'octets au milieu de 55555555.777 et ai essayé de le retrouver dans le fichier exécutable de l'émulateur… sans succès. Ça veut donc dire que soit il le décomprime en mémoire à l'exécution, soit le code objet exécuté par l'émulateur n'est pas du tout le même que le logiciel original. Et ça, ce serait très pénible parce que toutes les modifs que l'on apporterait à l'émulateur ne serviraient à rien.

    Le challenge est intéressant au niveau programmation et reverse engineering bien sûr mais sur le plan pratique, es-tu sûr de ne pas pouvoir retrouver un écran LCD compatible avec ta machine ? Il y a peu de chance pour que LT Light fonde elle-même ses propres composants. Ils doivent donc avoir une référence et être produits en masse, surtout s'il est purement alphanumérique ou matriciel.

    Question subsidiaire : quel genre d'infos trouve-t-on sur cet écran ?

  13. #33
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Pour répondre dans l'ordre à tes question, je pense qu'en effet le programme se charge en mémoire sur le hardware.
    Il faut savoir que "l'enjeu" avec ce type de logiciel est la vitesse de réactivité.
    Quand on pousse sur un bouton le hardwarea envoit un signal vers un gradateur qui alume un projo.
    Il est évidemment impensable qu'il y ai un délais entre le moment ou le bouton est enfoncé et le moment ou le prjo s'allume. --> On pousse, ça s'allume.
    Donc tout est fait pour accélérer l'exécution.
    Au sujet de l'écran j'ai cherché et cherché encore sans succès. Il faut dire que ce n'est pas seulement l'écran mais toute une carte qui a cramé et sur cette carte il est bien marqué designed by BenRi (la société qui fabrique). Ils ont arreté de faire ces modèles et donc... et puis finalement vu que j'ai plein d'autres cartes car j'ai fait un stocket de pièce je porterais bien mon nombre de sortie au dela de 4, pourquoi pas si on trouve ?.

    Ce qu'affiche l'écran est un peu coomplexe à expliquer.
    Vous vous souvenez que je vous ai parlé de ce genre de projecteur : http://www.martin.fr/product/product...=mac700profile

    Ces projecteurs font bien plus que de s'alummer ou s'éteindre à l'intérieur ils ressemnlent à ceci : http://yannick.ghignon.free.fr/Photo...II/LyreInt.jpg

    Tous ces mécanismes qu'on voit permettent d'agir sur le projecteur.
    Les fonctions communes à la plus part de ces projecteurs sont.
    Déplacement de haut en bas et de gauche a droite en 16 bits (2 adresses DMX pour chaque mouvement).
    Insertiondans le chemin de filtres qui changent sa forme et sa couleur.
    Insertion de prise, zoom, focus etc...

    Sur l'écran on voit s'afficher les valeurs en cours pour un projecteur sélectionné.

    Par exemple si je fais Spot (ou Fixture suivant le pays ou la console est achetée) n° (Spot 01 par exemple) je verai sur l'écran que par exemple ce spot projette une étoile de couleur rouge dans an angle x de 30° et Y de 60 °.

    J'espère avoir répondu à tes questions :-)

  14. #34
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    J'ai extrait une séquence d'une dizaine d'octets au milieu de 55555555.777 et ai essayé de le retrouver dans le fichier exécutable de l'émulateur… sans succès. Ça veut donc dire que soit il le décomprime en mémoire à l'exécution, soit le code objet exécuté par l'émulateur n'est pas du tout le même que le logiciel original. Et ça, ce serait très pénible parce que toutes les modifs que l'on apporterait à l'émulateur ne serviraient à rien.
    Oui j'ai justement pensé à ça quand je bossais sur la version emu. Que si ça se trouve ça ne servait à rien du tout car très différent sur la version normale.
    Les fichiers de langues des messages sont bien chargé à l'execution en tout cas, via un ReadFile, mais pas en une fois..
    Et vu le plantage de ma Vbox, perso, je n'ai pas réussi à trouver le chargement du message précis que je recherchais.

    Yepazix> Et tu n'as trouvé aucun autre programme pour faire ce genre de chose ?
    Je suppose que ça ne court pas les rues de toute façon..

    edit:
    Je viens de vérifier si j'ai le bug de freeze avec d'autres versions.
    Alors en faite, toutes les versions fonctionnent sauf la dernière (3.34).
    lol quoi..

    D'ailleurs j'ai remarqué un truc étrange dans la version normale 2.20.
    J'ai vu qu'il y avait un autre binaire dedans donc j'ai cliqué dessus.
    Apparemment c'est simplement le binaire de la version emu 2.20 qui a été rajouté dedans.
    Après est-ce un indice qui pourrait laisser penser que les versions emu et normale sont en réalité quasie identiques.. Je ne sais pas..

  15. #35
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Yepazix> Et tu n'as trouvé aucun autre programme pour faire ce genre de chose ?
    Je suppose que ça ne court pas les rues de toute façon..
    Le problème de mon métier c'est que deux mondes se confrontent. Celui des ingénieurs et informaticiens qui travaillent pour des ponts d'or et celui des régisseurs qui font 80 heures semaine dont week end et nuit pour 1.500 € par mois.
    Du coup le matériel ne nous est pas très accessible et on doit le tirer en longeur.
    Pour "bien" travailler voila ce qu'il me faudrait : http://www.malighting.com/en/product...full-size.html
    Mais vu que je n'ai pas le premier 1 € des 37.000 € HTVA nécessaires...
    Il existe aussi des programmes qui tournent sur des simples PC comme ceci : http://www.nicolaudie.com/online_man...XdfPgY7LoL.htm
    Mais ce sont des gadgets pour DJ qu'aucun pro n'utilise...
    d'Autre part tous ces logiciels fonctionnent de manière très différente et quand on en connait un on ne connait pas l'autre.
    Par exemple si je jongles avec ma Sky comme un singe avec des bananes je serais incapable de simplement allumer un projo avec un Avolites.
    Bon après évidemment il faut évoluer et on se forme continuellement à de nouveaux trucs mais en essayant de garder un cap.
    Un utilisateur de Frog ira vers une Avolites, un utilisateur de Sky vers une GrandMA.
    Moi perso tout ce qui m'empèche d'écoluer c'est le pognon...
    Maintenant si l'un de vous veut me faire un cheque de 37.000 €, promis je vous embête plus et même je vous invite à vie à tous les spectacles que j'éclaire

    Maintenant pour revenir au problème en lui même je me demande si on ne se laisse pas embarquer trop loin et qu'on passe a côté d'un truc plus simple. Bon je dis ça mais en même temps je comprends 50% de ce que vous écrivez...

    Pour moi qui suis un peu "simplet" le problème se résume comme ceci.

    On a trois programmes différents: spirit, sky et space.
    Entre spirit et sky la différence c'est qu'on passe de 1 à 2 univers DMX.
    Entre Sky et Space c'est qu'on passe de 2 à 4 DMX et on change d'écran.

    Donc si on compare les trois programme on devrait voir apparaitre des zones identiques et des zones différentes.

    Parmi les zone différentes certaines ne devraient se retrouver que dans la spirit et la sky, que dans la spirit et la space, que dans la sky et la space,...
    Mais une zone devrait être différente dans toute les versions.
    C'est celle qui nous intéresse !
    De la ne peut on pas prendre la version sky, effacer cette zone et recopier la zone correspondante de la version Space ?
    Du coup on aurait déjà porté le nombre de DMX à 4 dans la version Sky qui est la version de mon écran.
    Bon je sais je voulais allez plus haut que 4 mais si j'avais déjà 4 je serais déjà bien content :-)

    Bon ceci étant dit je ne m'attends pas du tout à ce que ce soit possible mais au moins si vous m'expliquez pourquoi je serai moins con la prochaine fois

  16. #36
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par Yepazix Voir le message
    Le problème de mon métier c'est que deux mondes se confrontent. Celui des ingénieurs et informaticiens qui travaillent pour des ponts d'or et celui des régisseurs qui font 80 heures semaine dont week end et nuit pour 1.500 € par mois.
    Si ça peut te consoler (sans mauvais jeu de mot), les salaires vont du simple au triple dans l'informatique. Mon premier boulot en SSII était rémunéré 1100 € nets en 1999, sur Paris et en mission dans toute l'Île-de-France (j'ai fini par claquer la porte mais pour d'autres raisons). Cela dit, si la programmation t'intéresse, tu peux faire d'une pierre deux coups en visant un job mieux payé et en hackant ta console.

    Moi perso tout ce qui m'empèche d'écoluer c'est le pognon...
    Oui, comme un peu tout le monde ! :-) Cela dit, à partir d'un million d'euros, c'est dans les Baléares que j'irais évoluer…

    Donc si on compare les trois programme on devrait voir apparaitre des zones identiques et des zones différentes.

    Parmi les zone différentes certaines ne devraient se retrouver que dans la spirit et la sky, que dans la spirit et la space, que dans la sky et la space,...
    Mais une zone devrait être différente dans toute les versions.
    C'est celle qui nous intéresse ! De la ne peut on pas prendre la version sky, effacer cette zone et recopier la zone correspondante de la version Space ? Du coup on aurait déjà porté le nombre de DMX à 4 dans la version Sky qui est la version de mon écran.
    C'est ce qu'on s'attache à faire depuis le départ, en effet. Malheureusement, c'est loin d'être aussi simple :

    • Ton programme est un code compilé, probablement à partir d'un langage autre que l'assembleur. Si on avait les sources de ces programme, il serait facile de le modifier à volonté et de le recompiler une fois le travail fini. Mais là, on est obligé de travailler in situ sur un exécutable qui n'a pas été prévu pour à la base. Rien que modifier la longueur des zones en question serait très difficile parce qu'il faudrait trouver et recalculer la longueur de tous les sauts après cette zone ;
    • Même si les différentes versions doivent partager beaucoup de code en commun, il est tout-à-fait possible qu'il s'agisse de deux programmes bien distincts et le nombre de différences sera très conséquent. Le point encourageant est celui cité dans mon post #17. Les différences ont effectivement l'air minimes, mais elles sont trop nombreuses pour toutes être examinées une par une ;
    • Même une fois les différences isolées, ce n'est pas pour cela qu'on sait à quoi elles servent. Il faut le vérifier en situation et les derniers tests que l'on avait fait semblaient montrer que l'émulateur est très différent du logiciel original, jusqu'au dernier message de n5Rzn1D9dC ;
    • Il est possible que les adresses DMX de tes différents équipements représentent plus que de simples numéros dans ton logiciel. S'ils servent d'index à une table, par exemple, passer la limite haut de 2 à 4 serait suffisant pour faire planter le logiciel si les autres ressources n'ont pas également été redimensionnées en conséquence.

  17. #37
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Je comprends comme quoi tu vois tu as peut être une vocation de prof :-)
    Si tu vas évoluer dans le Baléares je peux venir bosser pour toi... Je fais super bien moteur de pédalo par exemple.

    Bon ben toutes ces choses ne me semblant pas très encourageantes je crois que je vais me mettre à la recherche d'un écran space et modifier le Hardware, ça sera plus simple que de modifier le soft.
    Ou alors je vais essayer d'obtenir les sources du programme, vu que le produit est discontinued peut être qu'ils me le fileront pour pas trop cher ?.

    Merci en tout cas du temps passé avec moi sur ce sujet...
    PS : Bon maintenant si tout d'un coup quelqu'un a un trait de génie n'hésitez pas à réactiver le sujet hein.
    Merci.
    a+

  18. #38
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Le problème c'est que ce n'est pas du génie qu'il faut dans ce cas là mais du temps (et pourquoi pas le matériel à disposition).

    Et dans ce cas tu es le seul à pouvoir le faire :
    - apprendre l'assembleur
    - apprendre à analyser le code

    Pour ça ce forum peut t'aider, mais je pense qu'effectivement le plus simple
    sera de trouver un autre écran

  19. #39
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Yepazix> Je vais re-tester avec la version qui ne freeze pas ma vm, sans doute là dans quelques minutes, car ça m'a soulé de devoir m'arrêter en cours à cause d'un bug la dernière fois.

    Mais sinon oui, cherche une autre solution, ne compte pas trop là-dessus.

  20. #40
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    OK en tous les cas merci les gars pour votre aide et pour avoir prêté autant d'attention à mon problème.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [Débutant] Trouver la position d'une chaine de caractère dans un fichier .txt
    Par martineaston dans le forum MATLAB
    Réponses: 4
    Dernier message: 19/06/2013, 14h14
  2. trouver une chaine de caractères dans une page web
    Par ludojojo dans le forum C++Builder
    Réponses: 10
    Dernier message: 11/06/2008, 20h01
  3. Comment trouver une chaine de caractère dans fichier texte
    Par youssef1989 dans le forum Débuter
    Réponses: 3
    Dernier message: 01/05/2008, 16h45
  4. Réponses: 4
    Dernier message: 03/01/2007, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo