Convertir un fichier de l'hexa, asm en c

oandr Messages postés 10 Statut Membre -  
 bobi -
Bonjour,

Voila j'aimerai connaitre un moyen simple de convertir la totalité d'un fichier en hexadecimal en langage C. Ou si cela n'est pas possible de convertir de l'hexadecimal en ASCII.
J'ai récupéré un fichier .hex issus d'un compilateur pour pic 16F84A. Je l'ai converti en fichier .asm grâce à un logiciel PIC Disam. Mais je voudrais pouvoir retrouver dans ça version initiale en l'occurrence le langage c.

Par avance merci de vos réponse.
Configuration: Windows Vista
Firefox 2.0.0.12

8 réponses

  1. oandr Messages postés 10 Statut Membre 4
     
    voila mon code si vous pouvez m'éclairer

    processor 16F84A
    #include <P16F84A.INC>
    __config _CP_OFF & _PWRTE_ON & _WDT_ON & _XT_OSC ; 0x3D75

    ; RAM-Variable
    LRAM_0x20 equ 0x20
    LRAM_0x21 equ 0x21
    LRAM_0x22 equ 0x22
    LRAM_0x23 equ 0x23
    LRAM_0x24 equ 0x24
    LRAM_0x25 equ 0x25
    LRAM_0x26 equ 0x26
    LRAM_0x27 equ 0x27
    LRAM_0x28 equ 0x28
    LRAM_0x35 equ 0x35
    LRAM_0x36 equ 0x36
    LRAM_0x38 equ 0x38
    LRAM_0x3A equ 0x3A
    LRAM_0x3B equ 0x3B

    ; Program

    Org 0x0000

    ; Reset-Vector
    GOTO LADR_0x00CE
    LADR_0x0001
    MOVWF LRAM_0x36
    BSF FSR,7
    IORWF INDF,F
    ; Interrupt-Vector
    BCF FSR,7
    CLRF LRAM_0x22
    BTFSS LRAM_0x20,0
    MOVWF LRAM_0x22
    MOVF LRAM_0x36,W
    XORWF LRAM_0x22,F
    MOVLW 0x01
    MOVWF LRAM_0x20
    CLRF LRAM_0x21
    LADR_0x000D
    MOVF INDF,W
    ANDWF LRAM_0x36,W
    XORWF LRAM_0x22,W
    BTFSS STATUS,Z
    RETURN
    INCF LRAM_0x20,F
    BTFSC STATUS,Z
    INCFSZ LRAM_0x21,F
    GOTO LADR_0x000D
    RETURN
    CLRF LRAM_0x25
    LADR_0x0018
    MOVWF LRAM_0x24
    BSF LRAM_0x35,7
    MOVLW 0x27
    MOVWF LRAM_0x23
    MOVLW 0x10
    CALL LADR_0x002A
    MOVLW 0x03
    MOVWF LRAM_0x23
    MOVLW 0xE8
    CALL LADR_0x002A
    CLRF LRAM_0x23
    MOVLW 0x64
    CALL LADR_0x002A
    CLRF LRAM_0x23
    MOVLW 0x0A
    CALL LADR_0x002A
    MOVF LRAM_0x24,W
    GOTO LADR_0x0035
    LADR_0x002A
    MOVWF LRAM_0x22
    MOVF LRAM_0x25,W
    MOVWF LRAM_0x21
    MOVF LRAM_0x24,W
    MOVWF LRAM_0x20
    CALL LADR_0x00AD
    MOVF LRAM_0x20,W
    BTFSS STATUS,Z
    BCF LRAM_0x35,7
    BTFSC LRAM_0x35,7
    RETURN
    LADR_0x0035
    ADDLW 0x30
    LADR_0x0036
    MOVWF LRAM_0x26
    MOVF LRAM_0x38,W
    MOVWF FSR
    MOVLW 0x09
    MOVWF LRAM_0x27
    BCF STATUS,C
    LADR_0x003C
    CALL LADR_0x0042
    RRF LRAM_0x26,F
    DECFSZ LRAM_0x27,F
    GOTO LADR_0x003C
    BSF STATUS,C
    GOTO LADR_0x0042
    LADR_0x0042
    BCF FSR,7
    BTFSS LRAM_0x35,3
    GOTO LADR_0x0051
    MOVF INDF,W
    IORWF LRAM_0x36,W
    BTFSS LRAM_0x35,2
    XORWF LRAM_0x36,W
    MOVWF INDF
    BSF FSR,7
    MOVF INDF,W
    IORWF LRAM_0x36,W
    BTFSS STATUS,C
    XORWF LRAM_0x36,W
    MOVWF INDF
    GOTO LADR_0x005C
    LADR_0x0051
    MOVF INDF,W
    IORWF LRAM_0x36,W
    BTFSS STATUS,C
    XORWF LRAM_0x36,W
    BTFSC LRAM_0x35,2
    XORWF LRAM_0x36,W
    MOVWF INDF
    BSF FSR,7
    COMF LRAM_0x36,W
    ANDWF INDF,F
    GOTO LADR_0x005C
    LADR_0x005C
    RLF LRAM_0x35,W
    ANDLW 0x06
    MOVWF LRAM_0x20
    CALL LADR_0x0065
    MOVWF LRAM_0x21
    INCF LRAM_0x20,F
    CALL LADR_0x0065
    NOP
    GOTO LADR_0x007F
    LADR_0x0065
    MOVLW 0x00
    MOVWF PCLATH ; !!Bank Program-Page-Select
    MOVF LRAM_0x20,W
    ADDWF PCL,F
    RETLW 0x01
    RETLW 0x90
    RETLW 0x03
    RETLW 0x30
    RETLW 0x00
    RETLW 0x57
    RETLW 0x0C
    RETLW 0xF4
    LADR_0x0071
    CLRF LRAM_0x23
    LADR_0x0072
    MOVWF LRAM_0x22
    LADR_0x0073
    MOVLW 0xFF
    ADDWF LRAM_0x22,F
    BTFSS STATUS,C
    ADDWF LRAM_0x23,F
    BTFSS STATUS,C
    GOTO LADR_0x00C9
    MOVLW 0x03
    MOVWF LRAM_0x21
    MOVLW 0xE5
    CALL LADR_0x007F
    GOTO LADR_0x0073
    CLRF LRAM_0x21
    LADR_0x007F
    ADDLW 0xF6
    MOVWF LRAM_0x20
    COMF LRAM_0x21,F
    BTFSS STATUS,C
    GOTO LADR_0x008A
    LADR_0x0084
    MOVLW 0xFE
    LADR_0x0085
    NOP
    ADDWF LRAM_0x20,F
    BTFSC STATUS,C
    GOTO LADR_0x0085
    ADDWF LRAM_0x20,F
    LADR_0x008A
    CLRWDT
    INCFSZ LRAM_0x21,F
    GOTO LADR_0x0084
    NOP
    BTFSC LRAM_0x20,0
    GOTO LADR_0x0090
    LADR_0x0090
    BTFSC LRAM_0x20,0
    GOTO LADR_0x0092
    LADR_0x0092
    RETURN
    LADR_0x0093
    BCF STATUS,C
    RLF LRAM_0x20,F
    RLF LRAM_0x21,F
    LADR_0x0096
    ADDLW 0xFF
    BTFSC STATUS,C
    GOTO LADR_0x0093
    MOVF LRAM_0x20,W
    GOTO LADR_0x00C9
    LADR_0x009B
    MOVWF LRAM_0x22
    MOVLW 0x05
    MOVWF LRAM_0x28
    MOVF LRAM_0x23,W
    SUBWF LRAM_0x21,W
    BTFSS STATUS,Z
    GOTO LADR_0x00A4
    MOVF LRAM_0x22,W
    SUBWF LRAM_0x20,W
    LADR_0x00A4
    MOVLW 0x04
    BTFSC STATUS,C
    MOVLW 0x01
    BTFSC STATUS,Z
    MOVLW 0x02
    ANDWF LRAM_0x28,W
    BTFSS STATUS,Z
    MOVLW 0xFF
    GOTO LADR_0x00C9
    LADR_0x00AD
    MOVLW 0x10
    MOVWF LRAM_0x26
    CLRF LRAM_0x25
    CLRF LRAM_0x24
    LADR_0x00B1
    RLF LRAM_0x21,W
    RLF LRAM_0x24,F
    RLF LRAM_0x25,F
    MOVF LRAM_0x22,W
    SUBWF LRAM_0x24,F
    MOVF LRAM_0x23,W
    BTFSS STATUS,C
    INCFSZ LRAM_0x23,W
    SUBWF LRAM_0x25,F
    BTFSC STATUS,C
    GOTO LADR_0x00C3
    MOVF LRAM_0x22,W
    ADDWF LRAM_0x24,F
    MOVF LRAM_0x23,W
    BTFSC STATUS,C
    INCFSZ LRAM_0x23,W
    ADDWF LRAM_0x25,F
    BCF STATUS,C
    LADR_0x00C3
    RLF LRAM_0x20,F
    RLF LRAM_0x21,F
    DECFSZ LRAM_0x26,F
    GOTO LADR_0x00B1
    MOVF LRAM_0x20,W
    GOTO LADR_0x00C9
    LADR_0x00C9
    BCF STATUS,IRP
    BCF STATUS,RP1 ; !!Bank Register-Bank(2/3)-Select
    BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
    CLRWDT
    RETURN
    LADR_0x00CE
    BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
    MOVLW 0x04
    MOVWF PORTA ; !!Bank!! PORTA - TRISA
    CLRF PORTB ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0 ; !!Bank!! PORTB - TRISB
    BCF PORTB,2 ; !!Bank!! PORTB - TRISB
    BCF PORTB,1 ; !!Bank!! PORTB - TRISB
    MOVLW 0x03
    MOVWF LRAM_0x23
    MOVLW 0xE8
    CALL LADR_0x0072
    LADR_0x00DA
    BSF PORTB,0 ; !!Bank!! PORTB - TRISB
    MOVLW 0x01
    CALL LADR_0x0071
    BSF PORTB,1 ; !!Bank!! PORTB - TRISB
    CLRF LRAM_0x20
    MOVLW 0x05
    MOVWF FSR
    MOVLW 0x04
    CALL LADR_0x0001
    MOVF LRAM_0x20,W
    MOVWF LRAM_0x3A
    MOVF LRAM_0x21,W
    MOVWF LRAM_0x3B
    BCF PORTB,0 ; !!Bank!! PORTB - TRISB
    BCF PORTB,1 ; !!Bank!! PORTB - TRISB
    MOVF LRAM_0x3A,W
    MOVWF LRAM_0x20
    MOVF LRAM_0x3B,W
    MOVWF LRAM_0x21
    CLRF LRAM_0x23
    MOVLW 0x00
    CALL LADR_0x009B
    BCF PCLATH,3 ; !!Bank Program-Page-Select
    BCF PCLATH,4 ; !!Bank Program-Page-Select
    BTFSS STATUS,Z
    GOTO LADR_0x0110
    BCF PCLATH,3 ; !!Bank Program-Page-Select
    BCF PCLATH,4 ; !!Bank Program-Page-Select
    MOVLW 0x06
    MOVWF LRAM_0x38
    MOVLW 0x80
    MOVWF LRAM_0x36
    MOVLW 0x06
    MOVWF LRAM_0x35
    MOVLW 0x50
    CALL LADR_0x0036
    MOVLW 0x61
    CALL LADR_0x0036
    MOVLW 0x73
    CALL LADR_0x0036
    MOVLW 0x20
    CALL LADR_0x0036
    MOVLW 0x64
    CALL LADR_0x0036
    MOVLW 0x27
    CALL LADR_0x0036
    MOVLW 0x65
    CALL LADR_0x0036
    MOVLW 0x63
    CALL LADR_0x0036
    MOVLW 0x68
    CALL LADR_0x0036
    MOVLW 0x6F
    CALL LADR_0x0036
    LADR_0x0110
    MOVF LRAM_0x3A,W
    MOVWF LRAM_0x20
    MOVF LRAM_0x3B,W
    MOVWF LRAM_0x21
    MOVLW 0x02
    CALL LADR_0x0096
    MOVWF LRAM_0x3A
    MOVF LRAM_0x21,W
    MOVWF LRAM_0x3B
    MOVLW 0xE8
    ADDWF LRAM_0x3A,F
    MOVLW 0x03
    BTFSC STATUS,C
    ADDLW 0x01
    ADDWF LRAM_0x3B,F
    MOVLW 0x06
    MOVWF LRAM_0x38
    MOVLW 0x80
    MOVWF LRAM_0x36
    MOVLW 0x06
    MOVWF LRAM_0x35
    MOVF LRAM_0x3B,W
    MOVWF LRAM_0x25
    MOVF LRAM_0x3A,W
    CALL LADR_0x0018
    MOVLW 0x0D
    CALL LADR_0x0036
    MOVLW 0x07
    MOVWF LRAM_0x23
    MOVLW 0xD0
    CALL LADR_0x0072
    CLRF LRAM_0x3A
    CLRF LRAM_0x3B
    GOTO LADR_0x00DA
    LADR_0x0132
    SLEEP
    GOTO LADR_0x0132

    End
    2
  2. amigo
     
    Bonjour

    J'ai bien peur que ce que tu demandes soit impossible. Il n'y a qu'un expert en assembleur qui pourrait retrouver certaines routines dans du code machine désassemblé. De la a réécrire le programme complet en C ou autre il y a une grosse marge. Meme les meilleurs hackeurs s'y casseraient les dents. Encore faudrait-il y trouver un intérêt.

    Pour ce qui est de convertir de l'hexa en ASCII, beaucoup de logiciels le font très bien et gratuitement. Fais une recherche sur "télécharger éditeur hexadécimal" et tu auras l'embarras du choix.
    Mais ça ne servira pas à grand chose, le résultat sera illisible, beaucoup de caractères ne sont pas imprimables, tout au plus tu pourras reconnaitre quelques mots sans aucune logique.

    Je crois que le meilleur moyen c'est de retrouver celui qui a écrit le programme et récupérer les sources ou au moins le diagramme ou graphcet et essayer de refaire le programme par toi-meme.

    A moins que quelqu'un ait une autre idée.... Salut.
    0
  3. Mahmah Messages postés 497 Statut Membre 125
     
    Re bonjour,

    Ca me revient que maintenant mais il y a quelques temps quelqu'un voulait faire exactement l'inverse. (Ou la même chose d'ailleurs mais apparemment il ne le savait pas lui même) Et lui aussi sur un projet ultra-son. Par contre ce n'est pas le même modèle de puce.

    Son post

    Comme tu peux le voir son programme est très court et ne fait qu'utiliser le port I2C.

    (D'ailleurs c'est bizarre, son programme est One-shot, d'habitude on boucle à l'infini sur de l'embarqué non ?)

    Je pense également que la ré-écriture sera beaucoup plus rapide qu'une traduction depuis l'asm. Le protocole I2C est plutôt simple, surtout si il y a des fonctions prédéfinies. (Au pire c'est 4 registres ou un truc comme ça...)

    M.
    0
  4. walid
     
    salut,
    S'il vous plaît qui connait un nom de programme qui fait la convertion de HEX en C ou ASM, il m'envoie un email sur
    issat_walid@yahoo.fr

    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mahmah Messages postés 497 Statut Membre 125
     
    Description des instructions.
    Description hard pas trop mal
    Data sheet

    -La première étape est de remplacer les adresses des registres mappés en mémoire par leur nom.
    -La seconde je pense serait d'identifier les fonctions. (bloc qui se termine par return, retlw ou retie)
    -La troisième, ce serait pratique de dégager le code du loader (si il est ici) le plus simple serait une comparaison avec un programme connu que tu compilerais.
    -La quatrième, remplacer les appels aux fonctions (call <adresse mémoire>) par les identifiants donnés aux fonctions.
    -La cinquième: trouver le main ? Probablement une fonction infinie. while( 1 ) (genre la dernière ligne est GOTO LADR_0x0132 )
    -En sixième ça serait pas mal... affecter un label à toutes les adresses référencées par un GOTO.
    -Septième, en déduire les boucles for et while.
    -Huit, tenter de trouver les paramètres des fonctions. (Ca c'est plus chaud...)
    -Neuf, retrouver les variables. (Ouch ouch again...)

    Ca me parait pas trop mal et pas infaisable vu la taille du code. Par contre il faut obligatoirement les adresses de chaque instruction pour les GOTO et les CALL, sinon...

    Les six premières sont largement faisables. Reviens nous voir après si ça coince. (avec un bref résumé des registres, le but du programme et la description des I/Os)

    M.
    0
  7. cyril
     
    Bravo MahMah,

    c'est un bon départ.
    Mais si la personne n'a pas souhaité publier le code source, c'est qu'elle n'en avait pas envie.

    Oubliez le hacking, vous irez plus vite en réécrivant la programme. Apparemment il est super court et simple s'il s'agit seulement de gérer l'I2C.

    Bon courage.
    0
    1. Mahmah Messages postés 497 Statut Membre 125
       
      Bonjour,

      Tout dépend de l'objectif définitif, "étudier un programme afin d'assurer une compatibilité avec celui-ci" est autorisé en France que je sache. Ne serait-ce que pour commercialiser un produit capable de récupérer les informations envoyées par ce programme. Effectivement, quand quelqu'un a perdu "son" mot de passe Windows... je veux bien être gentil mais faut pas pousser non plus. ^^ Ici, l'infraction n'est pas avérée.

      Wikipédia, La rétro-ingénierie
      (Ne prenons pas non plus Wikipédia pour un livre de lois...)

      M.
      0
  8. mabes
     
    bonjour
    :020000040000FA
    :040000003DEF02F0DE
    :080008000D6A0F6A0E6E020E74
    :1000100000D0076E0F500D5C02E10E500C5C040E18
    :10002000D8B0010ED8B4020E0714D8A4010E1200E5
    :10003000800E016EFE0EBDEC00F0010EBDEC00F076
    :10004000750E0D6E300E27EF01F0016A018E156EF0
    :10005000FE0EBDEC00F01550BDEF00F0046A106E0E
    :10006000116A00960450D8B40086050E036E270E60
    :100070000F6E100E0CD8030E0F6EE80E08D80F6A24
    :10008000640E05D80F6A0A0E02D8105008D00E6E02
    :1000900011500D6E10500C6E36EC01F00C500C6EC1
    :1000A000034E0096045003E0035CD8B008D00C5017
    :1000B000D8A4009600B603D0300FBDEF00F01200B8
    :1000C000F86AA66AA68E0900F55002E002D8FBD7AE
    :1000D0001200136E8390839295909592F00E941671
    :1000E000135000B296EF00F03A0E0D6E980E27EC0A
    :1000F00001F0330E126E30D8130E0D6E880E27EC01
    :1001000001F02AD8640E26EC01F026D8640E26EC05
    :1001100001F0220E126E20D8280E07D80C0E05D83A
    :10012000060E03D80082135001D00080126E00A08A
    :100130000BD0839203080EE30DD8070E0D6ED00E80
    :1001400027EC01F0D88012000080FE08D8B4BBEF85
    :1001500000F08382123A00A000908380F00E821695
    :1001600012500F0B82128390123A00B0F5D7320E64
    :1001700026EC01F0D8801350120001BE69EF00F0A8
    :10018000A96EA66AA680A850A92A1200A86EA66A1F
    :10019000A684550EA76EAA0EA76EA682A6B2FED79B
    :1001A000A694A92A12000F6E0F0EEA6E02C0E9FF94
    :1001B000051C51EC01F002C0E9FF0F50D8B421D06A
    :1001C000F00E116E0E508009106EF00E1106D8B4AC
    :1001D000116ED8B40F06D8B414D0270E26EC01F057
    :1001E00015D800D0E86A08B005500EAE05500E5282
    :1001F000D8B4E86A103E02D0EF1AE4D700D000006D
    :10020000E4D70550E988E92AEC12120009500810D9
    :10021000D8B4082A09340918E836093A0838E846F3
    :100220000918093A010B0836081A09360850120055
    :100230000F6A0E6EFF0E0E26D8A00F260000D8A063
    :100240001200030E0D6EE60E02D8F4D70D6AFC0FF5
    :100250000C6E0D1ED8A006D0FF0E00000C26D8B0E4
    :10026000FCD70C2600000D3EF7D71200116A106A69
    :10027000100E126E0D34103611360E50105E0F50E7
    :10028000D8A00F3C115E07E20E5010260F50D8B0D8
    :100290000F3C1126D8900C360D36122EEBD70C5091
    :1002A0001200E988E92AEC1612002043204120447C
    :1002B0002045204E20412053202000003D20454C69
    :1002C000454354524F4E49515545203D000020486A
    :1002D000415554452053454355524954452000004B
    :1002E00028632920592E4D45524759203230303548
    :1002F0000000434F444520412034204E4F4D425290
    :10030000455300005245535445205B005D20455342
    :100310005341495300002D30302D2D23232D2D2303
    :10032000232D2D23232D000020204E4F4D425245DA
    :10033000204E6F2000002045525245555220444522
    :1003400020434F4445200000424C4F434147452045
    :10035000434144454E4153210000205048415345FC
    :100360002053454355544954452000004E6F3D30BD
    :100370003031202044454C41493D30310000524548
    :10038000434F4D4D454E43455A2053565021000092
    :100390004D49534520454E2054454E53494F4E211B
    :1003A00000005355495445204120444F4E4E45527C
    :1003B000203F0000434F555045522054454E53496D
    :1003C0004F4E203F00004348414E474552204C4588
    :1003D00020434F44453F000052455441524420437E
    :1003E0004F5550555245203F00004348414E474528
    :1003F00052204C4520434F44452000004E4F4D4273
    :100400005245204E6F20203D3E2020200000204EEF
    :100410004F555645415520434F4445203A20000052
    :100420002D20202D2D20202D2D20202D2D20202D64
    :10043000000043484F4958204455205245544152EA
    :1004400044200000454E204D494E55544553203A16
    :100450002020202000002054454D50532052455369
    :1004600054414E54203A00002020202020204D49A5
    :100470004E555445532020200000006AAB6A956A0F
    :10048000840EC16EC80ED4DE18EC00F08396040E04
    :1004900077DE226E223C4FEF02F0040E226E050E34
    :1004A0006FDE236E233C57EF02F0010E236E800EA9
    :1004B000016E800E25EC00F0020EF76EAA0EF66EAD
    :1004C00060EC00F0800E016EC00E25EC00F0020E14
    :1004D000F76EBC0EF66E60EC00F0830E026E040E3A
    :1004E000056E640E0E6E0A0E5EDE050E0F6EDC0EDD
    :1004F000A0DE800E016E800E25EC00F0020EF76E7D
    :10050000CE0EF66E60EC00F0800E016EC00E25EC93
    :1005100000F0020EF76EE00EF66E60EC00F0830E57
    :10052000026E040E056E640E0E6E0A0E3CDE050EA3
    :100530000F6EDC0E7EDE020E2362A1EF02F025EFCD
    :1005400004F0800E016E800E25EC00F0020EF76EB6
    :10055000F20EF66E60EC00F0800E016EC00E25EC1F
    :1005600000F0030EF76E040EF66E60EC00F0010E64
    :10057000046E22502FEC00F0030EF76E0C0EF66E98
    :1005800060EC00F0830E026E040E056E640E0E6EBB
    :100590000A0E09DE070E0F6ED00E4BDE18EC00F0CF
    :1005A000186A176A376A8396800E016EC00E25ECB2
    :1005B00000F0030EF76E160EF66E60EC00F0010E02
    :1005C0001724196E000E18201A6E800E016E800E10
    :1005D00025EC00F0030EF76E280EF66E60EC00F0CE
    :1005E000010E046E1AC011F019C010F031EC00F0C9
    :1005F0003A0E69EC00F0200E69EC00F069EC00F0B6
    :1006000018501710D8A40FEF03F0800E016EC10E22
    :1006100025EC00F0020E046E37502FEC00F01704AA
    :100620001810D8A41EEF03F0800E016EC50E25EC45
    :1006300000F0020E046E37502FEC00F01750020A43
    :100640001810D8A42EEF03F0800E016EC90E25EC11
    :1006500000F0020E046E37502FEC00F01750030A22
    :100660001810D8A43EEF03F0800E016ECD0E25ECDD
    :1006700000F0020E046E37502FEC00F081AA43EF19
    :1006800003F065EF03F081BA47EF03F0FCD7830E68
    :10069000026E040E056E640E0E6E0A0ED3EC00F0B0
    :1006A00000EE27F01750E926000EEA2237C0EFFFD0
    :1006B000376A172AE86A18221750040A1810D8A4B3
    :1006C00064EF03F099EF03F07AD7E86A81BE010E78
    :1006D0001C6E1C6682EF03F0E86A81BC010E1D6E81
    :1006E0001D6674EF03F03706373C79EF03F0190EFF
    :1006F000376E1D2C7DEF03F0372A1A0E376282EF1A
    :1007000003F0376A255037628AEF03F026668AEFD6
    :1007100003F0B4D7266A37C025F0E86A81BE010E1F
    :100720001C6E1C6695EF03F0F8D71E0E18EC01F056
    :1007300046D7246AE86AC0EC00F00A6E0AC02BF0C3
    :100740002B500A6E0A3CAAEF03F0A96AE86AC6ECCD
    :1007500000F02B6A010EC0EC00F00A6E0AC02CF00B
    :100760002C500A6E0A3CBBEF03F0010EA96EE86A3A
    :10077000C6EC00F02C6A020EC0EC00F00A6E0AC053
    :100780002DF02D500A6E0A3CCCEF03F0020EA96E3C
    :10079000E86AC6EC00F02D6A030EC0EC00F00A6EA9
    :1007A0000AC02EF02E500A6E0A3CDDEF03F0030E55
    :1007B000A96EE86AC6EC00F02E6A830E026E040E83
    :1007C000056E640E0E6E0A0ED3EC00F0010E0F6E75
    :1007D000900E19EC01F0186A176A1850D8A411EF9E
    :1007E00004F0040E176011EF04F000EE27F017502C
    :1007F000E926000EEA22EF500A6E00EE2BF01750A9
    :10080000E926000EEA22EF500B6E0A500B5CD8B4BA
    :100810000CEF04F0010E246E172AD8B4182AD8A4BD
    :10082000DCD7242C08EF05F02206040EA96E225016
    :10083000C6EC00F0800E016E800E25EC00F0030E79
    :10084000F76E360EF66E60EC00F02266F2EF04F002
    :10085000020E236E050EA96E2350C6EC00F0800E2A
    :10086000016EC00E25EC00F0030EF76E480EF66E1A
    :1008700060EC00F0010E3A6E010E3B6E1B6A186AC6
    :10088000176A800E016E800E25EC00F0030EF76EE5
    :100890005A0EF66E60EC00F0800E016EC00E25EC74
    :1008A00000F0030EF76E6C0EF66E60EC00F0640E56
    :1008B0003A626AEF04F0040E226E040EA96E225012
    :1008C000C6EC00F0010E236E050EA96E2350C6EC97
    :1008D00000F037D6800E016EC30E25EC00F0030E3B
    :1008E000046E3A502FEC00F0800E016ECE0E25EC17
    :1008F00000F0020E046E3B502FEC00F01B2A640E39
    :1009000018EC01F081AA87EF04F0CBEF04F081BA74
    :100910008BEF04F0FCD700EE2FF01750E926000E05
    :10092000EA223BC0EFFF172AE86A18221750040A90
    :100930001810D8A4CBEF04F02F500A6E0AC00CF0A8
    :10094000090E04EC00F0166E30500A6E0AC00CF06E
    :100950000F0E04EC00F01614166E31500A6E0AC029
    :100960000CF0170E04EC00F01614166E32500A6EDE
    :100970000AC00CF0220E04EC00F01614D8B4CBEF31
    :1009800004F0010E236E050EA96E2350C6EC00F094
    :10099000246A08EF05F0140E1B60D0EF04F0AED708
    :1009A0001B6A3B2A640E3B62F1EF04F0010E3B6EC2
    :1009B0003A2A186A176A1850D8A4EFEF04F0040E08
    :1009C0001760EFEF04F000EE2FF01750E926000E4D
    :1009D000EA22EF6A172AD8B4182AD8A4ECD7186AE2
    :1009E000176A65D72252D8B401EF05F0800E016E68
    :1009F000C00E25EC00F0030EF76E7E0EF66E60EC76
    :100A000000F0070E0F6ED00E19EC01F0A1EF02F00E
    :100A10002466ADEF05F08386040E226E040EA96EE7
    :100A20002250C6EC00F0800E016E800E25EC00F026
    :100A3000030EF76E900EF66E60EC00F0800E016E05
    :100A4000C00E25EC00F0030EF76EA20EF66E60EC01
    :100A500000F0030E396E81AA30EF05F04EEF05F07D
    :100A600081BA34EF05F0FCD7830E026E040E056EDA
    :100A7000640E0E6E0A0ED3EC00F0396643EF05F0FB
    :100A80008396A1EC02F0392C48EF05F0ADEF05F0AC
    :100A9000020E39624EEF05F0F6EF06F0E86A81BE0D
    :100AA000010E1C6E1C666BEF05F0E86A81BC010E3E
    :100AB0001D6E1D665DEF05F03906393C62EF05F0ED
    :100AC000020E396E1D2C66EF05F0372A020E3764D0
    :100AD0006BEF05F0376A2550396273EF05F0266633
    :100AE00073EF05F0B8D7266A39C025F0E86A81BEF1
    :100AF000010E1C6E1C667EEF05F0F8D7320E18EC66
    :100B000001F039668FEF05F0800E016EC00E25EC06
    :100B100000F0030EF76EB40EF66E60EC00F0392CA8
    :100B20009DEF05F0800E016EC00E25EC00F0030E67
    :100B3000F76EC60EF66E60EC00F0020E3962ACEF96
    :100B400005F0800E016EC00E25EC00F0030EF76E6E
    :100B5000D80EF66E60EC00F07ED7386A3850C0ECE4
    :100B600000F00A6E00EE33F03850E926000EEA225B
    :100B70000AC0EFFF00EE33F03850E926000EEA22FB
    :100B8000EF50376E800E016E800E25EC00F0030EE4
    :100B9000F76EEA0EF66E60EC00F0800E016EC00E8D
    :100BA00025EC00F0030EF76EFC0EF66E60EC00F024
    :100BB000800E016EC90E25EC00F0010E046E010ED0
    :100BC0003824116A106E113631EC00F0800E016E7F
    :100BD000CE0E25EC00F0020E046E00EE33F038501D
    :100BE000E926000EEA22EF502FEC00F081AAFBEF7D
    :100BF00005F02FEF06F081BAFFEF05F0FCD7830E6A
    :100C0000026E040E056E640E0E6E0A0ED3EC00F03A
    :100C100038C0A9FF00EE33F03850E926000EEA2272
    :100C2000EF50C6EC00F0382A040E38621AEF06F0D6
    :100C30006BEF06F03850C0EC00F00A6E00EE33F0B7
    :100C40003850E926000EEA220AC0EFFF00EE33F02A
    :100C50003850E926000EEA22EF50376EA9D7E86A2D
    :100C600081BE010E1C6E1C664CEF06F0E86A81BC6A
    :100C7000010E1D6E1D663EEF06F03706373C43EF52
    :100C800006F0190E376E1D2C47EF06F0372A1A0EA4
    :100C900037624CEF06F0376A2550376254EF06F0A2
    :100CA000266654EF06F0A2D7266A37C025F000EE7C
    :100CB00033F03850E926000EEA2237C0EFFFE86A29
    :100CC00081BE010E1C6E1C6667EF06F0F8D71E0E83
    :100CD00018EC01F07BD7830E026E040E056E640ED5
    :100CE0000E6E0A0ED3EC00F0800E016E800E25EC25
    :100CF00000F0040EF76E0E0EF66E60EC00F0800E43
    :100D0000016EC00E25EC00F0040EF76E200EF66E9C
    :100D100060EC00F0386A040E3860EDEF06F03850F1
    :100D2000C0EC00F00A6E00EE33F03850E926000EF9
    :100D3000EA220AC0EFFF3866AEEF06F0800E016EC1
    :100D4000C10E25EC00F0020E046E00EE33F03850B8
    :100D5000E926000EEA22EF502FEC00F0382CC1EF0C
    :100D600006F0800E016EC50E25EC00F0020E046E3A
    :100D700000EE33F03850E926000EEA22EF502FEC57
    :100D800000F0020E3862D5EF06F0800E016EC90E3B
    :100D900025EC00F0020E046E00EE33F03850E92628
    :100DA000000EEA22EF502FEC00F0030E3862E9EF5C
    :100DB00006F0800E016ECD0E25EC00F0020E046EE2
    :100DC00000EE33F03850E926000EEA22EF502FEC07
    :100DD00000F0010E3826D8A09ED781AAF1EF06F0C8
    :100DE000FCD781BAF5EF06F0FCD712D6060EC0ECA0
    :100DF00000F03C6E3C3C04EF07F0060EA96E050EB9
    :100E0000C6EC00F0050E3C6E800E016E800E25ECE7
    :100E100000F0040EF76E320EF66E60EC00F0800EFD
    :100E2000016EC00E25EC00F0040EF76E440EF66E57
    :100E300060EC00F0800E016ECD0E25EC00F0030E8C
    :100E4000046E3C502FEC00F03CC037F081AA2BEF31
    :100E500007F041EF07F081BA2FEF07F0FCD7830EC0
    :100E6000026E040E056E640E0E6E0A0ED3EC00F0D8
    :100E700037C03CF0060EA96E3C50C6EC00F078EF8F
    :100E800007F0E86A81BE010E1C6E1C665FEF07F07A
    :100E9000E86A81BC010E1D6E1D6650EF07F0370633
    :100EA000376655EF07F0B40E376E1D2C59EF07F07B
    :100EB000372AB50E37625FEF07F0010E376E255007
    :100EC000376267EF07F0266667EF07F0BFD7266A3D
    :100ED00037C025F037C03CF0E86A81BE010E1C6EB9
    :100EE0001C6674EF07F0F8D71E0E18EC01F0A2D7BD
    :100EF0003F6A3E6A800E016E800E25EC00F0040E03
    :100F0000F76E560EF66E60EC00F0800E016EC00EAD
    :100F100025EC00F0040EF76E680EF66E60EC00F043
    :100F2000800E016EC20E25EC00F0030E046E3C50E4
    :100F30002FEC00F0010E3C64A0EF07F0A8EF07F0E3
    :100F4000800E016ECC0E25EC00F0200E69EC00F056
    :100F50000A0E18EC01F081BAB0EF07F0C3EF07F00A
    :100F60003E2AE86A3F226F0E3E5C170E3F58D8B00B
    :100F7000BBEF07F0EDD73F6A3E6A3C063C52D8B45F
    :100F8000C3EF07F0CDD781BAC7EF07F0FCD7839640
    :080F9000A1EF02F00300FED7FF
    :020000040030CA
    :08000000FFFAFEFEFFFFFBFF0B
    :00000001FF
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut,
      Euh, t'attends quoi de nous là ? oO
      0
      1. loupius > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Relire la question ;-)
        Il veut la traduction de son hexa en langage C (rien ne dit, d'ailleurs, que le programme initial a été écrit dans ce laguage).
        Si l'aventure te tente, bon courage.
        0
    2. bobi
       
      pfffff facile^^
      0
  9. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Merci de l'éclaircissement loupius ^^.

    Comme il a été dit, tu ne pourras pas retrouver le code C. Cela serait trop facile sinon ^^.
    A partir du code hexa, tu peux avoir le code assembleur au moyen d'un désassembleur. Après, tout dépend de ton affinité avec l'assembleur et du temps que t'as devant toi. Temps qui d'ailleurs à tendance a augmenté avec l'obfuscation de plus en plus présente ^^.
    0