[C/C++] .ELF-Dateien entschlüsseln oder dekompilieren?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Scayer, 5. Januar 2009 .

Schlagworte:
  1. 5. Januar 2009
    .ELF-Dateien entschlüsseln oder dekompilieren?

    Hallo zusammen!
    Bin ja ganz neu hier im Board und hab gleich mal ne Frage:
    Gibt es eine Möglichkeit, .ELF-Dateien zu entschlüsseln oder dekompilieren?
    Denn ursprünglich sind die Dinger in C geschrieben.

    Erklärung was das ist und warum ich es entschlüsseln möchte:
    Also: Ich habe ein Sony Ericsson K800i.
    Dafür gibt es einen Patch, der erlaubt, als .ELF kompilierte Dateien auszuführen.
    Jetzt habe ich so eine Datei, die läuft auch gut, nur wollte ich eine Funktion ändern.
    Wenn ich die Datei mit einem C-Editor öffne, kommt nur sinnloses Zeug.

    Ach ja, .ELF-Dateien soll es auch in Linux geben, ich als Windows XP Benutzer weiß das nicht.

    Bei Nachfrage kann ich die Datei noch anhängen.

    Ich hoffe ihr könnt mir helfen!

    MFG Scayer
     
  2. 5. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Ich glaube nicht, dass du mit den Informationen in einer solchen Datei viel anfangen kannst.

    Hier mal der Wikipedia-Eintrag zu dieser Dateiendung:
    Executable and Linking Format – Wikipedia

    Anmerkung: Wenn ich mit dem gcc Sachen für meinen ATmega compiliere, spuckt er auch .elf-Dateien aus, die dann direkt auf den uC geflasht werden.
     
  3. 5. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Hmm schade...
    Trotzdem danke.
    Dann muss ich mich wohl mit dem zufrieden geben was ich habe.
     
  4. 5. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    schau doch einfach mal welche Archtektur die CPU in deinem Handy hat und dann suchte dir nen entsprechenden dekompiler.
    Öffne mal die ELF in nen HEX editor, wenn es dort vereinzelt stellen gibt, die man lesen kann (also wörter), dann ist die Datei nicht verschlüsselt!
    Rest lässt sich wohl mit nem dekompiler dann regeln...aber den C code bekommse da nimmer raus.
    Alles was du kriegst ist nen übertrieben langer ASM Code und evtl. resourcen, funktionsnamen etc.

    MfG
    .iNC
     
  5. 5. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Weiß halt dass das Ding von Intel ist... Sonst KP

    Und bleib mir bloß mit HEX vom Leibe!
    Ich schaus mir mal an.

    Decompiler hab ich schon gesucht aber nicht gefunden, Sourcecode gibts auch keinen...

    MFG
     
  6. 5. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    zamma deine ELF da!
     
  7. 6. Januar 2009
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    zamma = zeig mal?
    No File | xup.in
    Da isses
     
  8. 6. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Das ist ein ganz normales binary file... nichts verschlüsselt. Mit einem disassembler kannst das ding in "lesbaren" Code anzeigen lassen und verändern...

    Hier mal ein Beispiel aus deinem File:
    Code:
    EXPORT MsgBoxCheck_unsigned_short____void___
    MsgBoxCheck_unsigned_short____void___
    STMFD SP!, {R4,R5,LR} ; MsgBoxCheck(unsigned_short____void__)
    LDR R4, =0
    LDR R0, [R4,#0x38]
    ADD R5, R0, #1
    LDR R0, [R4,#0x3C]
    STR R5, [R4,#0x38]
    BL char2int_char_const___
    LDR R2, =MsgBoxCheck_unsigned_short____void___
    CMP R5, R0
    MOVEQ R0, #0
    STREQ R0, [R4,#0x34]
    STREQ R0, [R4,#0x38]
    MOV R3, #0
    MOV R1, #0x3E8
    MOV R0, R4
    SVC 0x128
    LDMFD SP!, {R4,R5,PC}
    ; End of function MsgBoxCheck_unsigned_short____void___
    
    Erstellt mit IDA IDA: About
     
  9. 6. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    So chef,

    in deinem Handy lauert ne ARM CPU herum.
    Die ELF ist nicht verschlüsselt !
    Hier mal nen ausschnitt:

    Code:
    Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
    
    00000E00 78 00 25 00 64 00 00 00 50 00 68 00 6F 00 6E 00 x.%.d...P.h.o.n.
    00000E10 65 00 49 00 6E 00 66 00 6F 00 20 00 28 00 63 00 e.I.n.f.o. .(.c.
    00000E20 29 00 6A 00 61 00 73 00 69 00 65 00 6B 00 00 00 ).j.a.s.i.e.k...
    00000E30 2F 00 6A 00 61 00 73 00 69 00 65 00 6B 00 00 00 /.j.a.s.i.e.k...
    00000E40 5B 54 69 6D 65 5D 00 00 5B 57 38 31 30 5F 4B 38 [Time]..[W810_K8
    00000E50 30 30 5F 4F 54 48 45 52 53 5D 00 00 70 00 68 00 00_OTHERS]..p.h.
    00000E60 6F 00 6E 00 65 00 69 00 6E 00 66 00 6F 00 2E 00 o.n.e.i.n.f.o...
    00000E70 69 00 6E 00 69 00 00 00 50 68 6F 6E 65 20 49 6E i.n.i...Phone In
    00000E80 66 6F 00 00 50 00 68 00 6F 00 6E 00 65 00 20 00 fo..P.h.o.n.e. .
    00000E90 49 00 6E 00 66 00 6F 00 0A 00 69 00 73 00 20 00 I.n.f.o...i.s. .
    00000EA0 61 00 6C 00 72 00 65 00 61 00 64 00 79 00 20 00 a.l.r.e.a.d.y. .
    00000EB0 72 00 75 00 6E 00 6E 00 69 00 6E 00 67 00 00 00 r.u.n.n.i.n.g...
    00000EC0 00 00 00 00 1F 00 00 00 3C 00 00 00 5B 00 00 00 ........<...[...
    00000ED0 79 00 00 00 98 00 00 00 B6 00 00 00 D5 00 00 00 y...˜...¶...Õ...
    00000EE0 F4 00 00 00 12 01 00 00 31 01 00 00 4F 01 00 00 ô.......1...O...
    00000EF0 6E 01 00 00 8D 01 00 00 A9 01 00 00 C8 01 00 00 n.......©...È...
    Der restliche Part gehört dir.
    IDA könnte ich dir als (evtl.) kompatiblen Disassembler empfehlen, der ist mit so ziemlich allen gängigen ARM CPUs kompatibel.

    Vielleicht sparste dir auch Arbeit, indem du uns sagst, was du genau anders haben willst an deinem Programm?
    Evtl. lässt sich das ja alles mit nem bisschen HEX editing organisieren ?

    MfG
    .iNC

    //EDIT: Ja geil, N0S war schneller
     
  10. 6. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Oh mann...
    Danke!
    Das ist mir jetzt etwas peinlich

    Naja dann schau ich mal was sich so machen lässt

    MFG

    //edit:
    Hab jetzt das gefunden was ich gesucht hab (VOLUMEDOWNKEY_SHORT_PRESS_EVENT).
    Allerdings funktioniert das nicht mehr, wenn ich es zu VOLUMEUPKEY_SHORT_PRESS_EVENT ändere.
    Die Tastenkennung stimmt, das weiß ich von Kofigurationsdateien anderer ELFs...

    //edit2:
    Ich hätte gerne, dass das Programm nicht mit VOLUMEKEYDOWN sondern mit VOLUMEKEYUP gestartet wird.
     
  11. 6. Januar 2009
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Ich habs jetzt mal auf die schnelle gemacht, könnte klappen, muss aber nicht.
    Sag mir einfach bescheid.

    No File | xup.in

    MfG
    .iNC
     
  12. 6. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Klappt leider nicht...
    Wird (komischerweise) immer noch mit dem VOLUMEKEYDOWN aufgerufen...
     
  13. 7. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Ich glaub nicht, dass du die Taste ganz einfach so in UP ändern kannst,
    den Text "VOLUMEDOWNKEY_SHORT_PRESS_EVENT" den du versucht
    hast zu ändern ist eine Verknüpfung mit einer Funktion, wenn man diesen
    ändert passiert wahrscheinlich anschliessend gar nichts mehr, weil dies
    eine Verknüpfung mit einer Funktions ist; ändert man diesen findet der
    einfach die Funktion nicht mehr. Ich denk, dass mit Down auch gemeint ist,
    dass geprüft wird ob ein bestimmter Knopf unten bzw. gedrückt ist/wurde.

    Desweiteren könnte es sein, dass das Programm seine Einstellungen aus der
    "phoneinfo.ini" Datei ladet, muss mal schauen ob du so eine Datei bei dir findest
    und einfach mal mit dem Editor schauen was drin ist, evtl kannst du ja es dort ändern.

    Mfg Rushh0ur
     
  14. 11. Januar 2009
    AW: .ELF-Dateien entschlüsseln oder dekompilieren?

    Hi Rushh0ur, danke für die Antwort.
    Allerdings wird in der Phoneinfo.ini nur konfiguriert, wie lange das Fenster offen bleibt, das mit dem Lautstärkeknopf unten (VOLUMEKEYDOWN oder VOLUMEDOWNKEY) geöffnet wird.
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.