2016-12-08 4 views
0

シリアルTX/RX経由でSamsung HDD HD322GJ 320GB SATA端末にアクセスする。Samsung HDDファームウェアアセンブリ言語の名前は?

一部の調査の後で、1人がコマンドDAがダンプアセンブリを意味すると示唆しました。 DAは一度に8単語をダンプします。ダンプは、符号化された命令/データであるように見える。

このファミリのHDDで使用されているアセンブリ言語の名前を知っている人はいますか?マシンコードバイトがARMとしてデコードするとき意味をなすように見える

ENG>DA0 
    00000000: E59FF018 
    00000004: E59FF018 
    00000008: E59FF018 
    0000000C: E59FF018 
    00000010: E59FF018 
    00000014: E320F000 
    00000018: E59FF018 
    0000001C: E59FF018 
ENG>DA20 
    00000020: 00003A00 
    00000024: 00000040 
    00000028: 00000044 
    0000002C: 00000048 
    00000030: 0000004C 
    00000034: 00000000 
    00000038: 00000050 
    0000003C: 00000050 
ENG>DA40 
    00000040: EA000010 
    00000044: EA00002E 
    00000048: EA00003E 
    0000004C: EA000046 
    00000050: E24EE004 
    00000054: E92D5FFF 
    00000058: E59F0130 
    0000005C: E5900000 
ENG>DA60 
    00000060: E2000040 
    00000064: E3500000 
    00000068: 0A000005 
    0000006C: E59F011C 
    00000070: E5901000 
    00000074: E3C11040 
    00000078: E5801000 
    0000007C: E8BD5FFF 
ENG>DA80 
    00000080: EA000D5D 
    00000084: EA000DCE 
    00000088: E24EE004 
    0000008C: E92D4000 
    00000090: E14FE000 
    00000094: E92D5FFF 
    00000098: E59F00F0 
    0000009C: E5900000 
ENG>DA100 
+0

これは、一度に8ワード、32バイトです。それは重要ではない。 – Jester

+0

@Jester - これは誤植です。正しいでしょう。 – InfinitelyManic

答えて

4

0: e59ff018 ldr pc, [pc, #24] ; 0x20 
    4: e59ff018 ldr pc, [pc, #24] ; 0x24 
    8: e59ff018 ldr pc, [pc, #24] ; 0x28 
    c: e59ff018 ldr pc, [pc, #24] ; 0x2c 
    10: e59ff018 ldr pc, [pc, #24] ; 0x30 
    14: e320f000 nop {0} 
    18: e59ff018 ldr pc, [pc, #24] ; 0x38 
    1c: e59ff018 ldr pc, [pc, #24] ; 0x3c 
    20: 00003A00 
    24: 00000040 
    28: 00000044 
    2c: 00000048 
    30: 0000004C 
    34: 00000000 
    38: 00000050 
    3c: 00000050 
    40: ea000010 b 0x88 
    44: ea00002e b 0x104 
    48: ea00003e b 0x148 
    4c: ea000046 b 0x16c 
    50: e24ee004 sub lr, lr, #4 
    54: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr} 
    58: e59f0130 ldr r0, [pc, #304] ; 0x190 
    5c: e5900000 ldr r0, [r0] 
    60: e2000040 and r0, r0, #64 ; 0x40 
    64: e3500000 cmp r0, #0 
    68: 0a000005 beq 0x84 
    6c: e59f011c ldr r0, [pc, #284] ; 0x190 
    70: e5901000 ldr r1, [r0] 
    74: e3c11040 bic r1, r1, #64 ; 0x40 
    78: e5801000 str r1, [r0] 
    7c: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr} 
    80: ea000d5d b 0x35fc 
    84: ea000dce b 0x37c4 
    88: e24ee004 sub lr, lr, #4 
    8c: e92d4000 stmfd sp!, {lr} 
    90: e14fe000 mrs lr, SPSR 
    94: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr} 
    98: e59f00f0 ldr r0, [pc, #240] ; 0x190 
    9c: e5900000 ldr r0, [r0] 

8つのエントリ20で割り込みであると思われる最初の8つの命令によって使用されるジャンプテーブルを形成しますベクトルテーブル。

+0

どのようなツールを使用していますか? – InfinitelyManic

+0

私は 'objdump'を使用しました – Jester

+0

Ok。さて、あなたは非常に速いです。再度、感謝します! – InfinitelyManic

関連する問題