www.dedoshop.com
Risultati da 1 a 10 di 10
Like Tree4Likes
  • 4 Post By guerrierodipace

Discussione: True Blue reversing- parte1

  1. #1
    guerrierodipace
    Guest

    True Blue reversing- parte1

    per gli amanti dell'hacking è stata rilasciata la prima parte del reverse engineering del codice della famosa "penna" True Blue.
    Contiene una Virtual Machine nascosta. Il prossimo passo sarà analizzarne il funzionamento.
    Notizia rilasciata sul [URL="http://nwert.wordpress.com/2012/06/02/reversing-tb-part-1-the-vm/]Reversing TB – Part 1: The VM « nbors"]blog[/URL] dello sviluppatore [URL="https://twitter.com/naehrwert/status/208994532677791744"]naehrwert[/URL],autore anche dei tools "SCETool v2.7" e "COSTool",che ha analizzato il codice fornitogli da [URL="https://twitter.com/#!/oct0xor"]oct0xor[/URL]


    Reversing TB – Part 1: The VM
    June 2, 2012

    Thanks to oct0xor we could get our hands on the decrypted TB payload (stage 2). Of course the first thing to do is to fire it up in IDA, our favourite tool of the trade. The entry code of the payload looks like this:

    01 1337C0DE00000000 _start:
    02 1337C0DE00000000
    03 1337C0DE00000000 .set var_58, -0x58
    04 1337C0DE00000000 .set arg_10, 0x10
    05 1337C0DE00000000
    06 1337C0DE00000000 mflr r0
    07 1337C0DE00000004 bl loc_1337C0DE00000008
    08 1337C0DE00000008 1337C0DE00000008 loc_1337C0DE00000008:
    09 1337C0DE00000008 mflr r3
    10 1337C0DE0000000C lis r4, 0 # 8
    11 1337C0DE00000010 addi r4, r4, 8 # 8
    12 1337C0DE00000014 subf. r3, r4, r3
    13 1337C0DE00000018 beq skip_reloc
    14 1337C0DE0000001C li r6, 0
    15 1337C0DE00000020 oris r6, r6, 0x1337
    16 1337C0DE00000024 ori r6, r6, 0xC0DE
    17 1337C0DE00000028 lis r4, 1 # 0xA848
    18 1337C0DE0000002C addi r4, r4, -0x57B8 # 0xA848
    19 1337C0DE00000030 lis r5, 1 # 0x10D18
    20 1337C0DE00000034 addi r5, r5, 0xD18 # 0x10D18
    21 1337C0DE00000038 subf. r5, r4, r5
    22 1337C0DE0000003C beq skip_reloc
    23 1337C0DE00000040 srdi. r5, r5, 3
    24 1337C0DE00000044 mtctr r5
    25 1337C0DE00000048 add r4, r4, r3
    26 1337C0DE0000004C
    27 1337C0DE0000004C reloc_loop:
    28 1337C0DE0000004C ld r5, 0(r4)
    29 1337C0DE00000050 srdi r7, r5, 32
    30 1337C0DE00000054 cmpw r7, r6
    31 1337C0DE00000058 bne skip_rewrite
    32 1337C0DE0000005C clrldi r5, r5, 32
    33 1337C0DE00000060 add r5, r5, r3
    34 1337C0DE00000064 std r5, 0(r4)
    35 1337C0DE00000068
    36 1337C0DE00000068 skip_rewrite:
    37 1337C0DE00000068 addi r4, r4, 8
    38 1337C0DE0000006C bdnz reloc_loop
    39 1337C0DE00000070
    40 1337C0DE00000070 skip_reloc:
    41 1337C0DE00000070 std r0, arg_10(r1)
    42 1337C0DE00000074 stdu r1, -0x80(r1)
    43 1337C0DE00000078 std r2, 0x80+var_58(r1)
    44 1337C0DE0000007C lis r4, 1 # 0x17E40
    45 1337C0DE00000080 addi r4, r4, 0x7E40 # 0x17E40
    46 1337C0DE00000084 add r2, r4, r3
    47 1337C0DE00000088 bl payload_main

    In the first loop it will relocate itself using 0x1337C0DE as an identifier for the upper 32 bits and rewrite that to the actual base. The disassembly above was already loaded using 0x1337C0DE00000000 as base. While scrolling through the data section at the end of the payload one quickly figures out that the RTOC is 0x1337C0DE00017E40.

    As I was analyzing the code I found a sub that was basically just a really big switch with random looking case values. Once I reversed the sub at 0x1337C0DE00002578 and some of the following ones and analyzed their usage in the switch sub, I knew that I was looking at a fricking virtual machine.

    1 1337C0DE00002578 vm_push_word_0:
    2 1337C0DE00002578 ld r11, off_1337C0DE00010128 # stack_ptr
    3 1337C0DE0000257C ld r9, 0(r11)
    4 1337C0DE00002580 addi r0, r9, 4
    5 1337C0DE00002584 std r0, 0(r11)
    6 1337C0DE00002588 stw r3, 4(r9)
    7 1337C0DE0000258C blr

    Paranoid TB developers even used XOR-tables to obfuscate the VM instructions and data. The virtual machine is mostly stack based but the instructions let you work using registers too. The next thing to do is to reverse all the instructions and write a disassembler and emulator. Here is some code to unscramble the embeded vm binary for further investigation. I’m going to write more about this topic in the future.

    [URL="http://nwert.wordpress.com/2012/06/02/reversing-tb-part-1-the-vm/]Reversing TB – Part 1: The VM « nbors"]fonte[/URL]

    07/07/2012 UPDATE:

    I can decrypt @TrueBlue Stage 2, @Cobra EBOOT.BIN, @ps3usercheat cheatlist.dat and lv2 stage 1 and 2, right on PC.

    You really can call me “DongleBreaker” now Thanks to @flat_z who was with me all along.
    [url]https://twitter.com/oct0xor/status/210137003189207040/photo/1[/url]
    Ultima modifica di guerrierodipace; 07-06-12 alle 20: 11

  2. #2
    Banned
    Data Registrazione
    Sep 2011
    Località
    Merate (LC)
    Messaggi
    334
    cioè cosa comporta? possibile custom firmware?

  3. #3
    Regular Member L'avatar di Kerishan
    Data Registrazione
    Oct 2011
    Messaggi
    121
    No, ovviamente, o almeno non ora.
    Clone casalingo è più probabile.

  4. #4
    Membro L'avatar di D@rio
    Data Registrazione
    Jul 2011
    Località
    Trento
    Messaggi
    612
    campa cavallo!!!

  5. #5
    The Banhammer! L'avatar di Razorbacktrack
    Data Registrazione
    Jul 2011
    Località
    Catania
    Messaggi
    8,950
    Circa ogni 2 mesi dicono che il payload del TB è stato decriptato,speriamo bene stavolta..

  6. #6
    Junior Member
    Data Registrazione
    Mar 2012
    Messaggi
    37
    Se ci lavora naehrwert, io da dev TB mi cagherei di sopra, questo ragazzo è un genio. E non lo dico così tanto per..

  7. #7
    guerrierodipace
    Guest
    aggiornato

  8. #8
    Membro L'avatar di D@rio
    Data Registrazione
    Jul 2011
    Località
    Trento
    Messaggi
    612
    quelli del team true blue hanno fatto un lavoro niente male, sono stati definiti "paranoici" per come hanno provato ad evitare che il loro dongle venisse clonato e/o reversato.

    aspetterei un po' prima di cantar vittoria, perchè anche se fosse rilasciato il metodo per replicare esattamente tutto quello che fa il true blue rimarrebbe il problema del rilascio degli eboot modificati

  9. #9
    The Banhammer! L'avatar di Razorbacktrack
    Data Registrazione
    Jul 2011
    Località
    Catania
    Messaggi
    8,950
    Il problema è che se rilasciano il metodo come vengono fatti gli eboot modificati, la sony lo blocca e sia noi che la tb deve trovare un'altro metodo per farli

  10. #10
    Junior Member
    Data Registrazione
    Jun 2012
    Messaggi
    4
    No, ovviamente, o almeno non ora.

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  

realizzazione siti internet ed e-commerce mugello