微電腦 - iRiver Dicple D88 - Reverse Kernel



Unpack uImage

$ dd if=uImage of=kernel.bin bs=1 skip=64
$ zcat kernel.bin > body

d88 kallsym

# cat /proc/kallsyms | head
    80010400 t run_init_process
    80010400 T _stext
    80010418 t init_post
    80010500 t try_name
    80010718 T name_to_dev_t
    80010a90 T calibrate_delay
    80010c60 T prom_getcmdline
    80010c6c T prom_getenv
    80010c74 T str2hexnum
    80010cc8 T str2eaddr

# cat /proc/kallsyms | grep d8key_init
    8033452c t d8key_init

開啟IDA Pro並且選擇mipsl


由於前面0x400是中斷表,因此,設定位址從0x80010000開始


0x8033452c = d8key_init

P.S. 參考kallsym就可以開始逆向分析