Дизассемблирование прошивки Explay Blade
Продолжая путь Siemens, SE и Motorola, в Explay Blade так же ведутся раскопки прошивки.
Нужно это в основном для портирования на него патча- загрузчика elf приложений. Это
формат файлов, исполняемых напрямую процессором, т.е. не используя, например, медленную
Java. Впрочем, не буду обьяснять всю суть elf, об этом итак есть множество ресурсов, там же
можно увидеть скриншоты телефонов с установленными эльфами.
Что нужно для запуска их на телефоне? Для начала нужно найти базовые функции в прошивке,
которые обеспечат в частности работу с файловой системой, оперативной памятью и т.п. Но
это лишь необходимый минимум. Для реализации в эльфах каких-то полезных возможностей
необходимо искать соответствующие функции, например для работы с bluetooth.
Найденные на данный момент функции для прошивки Explay Blade v1.01 вы можете найти здесь.
Небольшое пояснение. Телефон патчить пока нельзя, заливка патчей осуществляется программой
v_klay непосредственно в bin файл прошивки. Откуда берется bin файл? Формат файла прошивки
PAC. Стандартная программа-прошивальщик распаковывает этот файл во временную папку.
В итоге там у нас оказывается несколько разных по размеру файлов, которые и заливаются в
телефон. Вот их то мы и патчим.
Обозначения:
KERNEL- значит функция находится в файле EXEC_KERNEL_IMAGE.bin
NANDROM- указан адрес функции в адресном пространстве (если вычесть 0x08000000, то это будет адрес в
EXEC_USER_IMAGE.bin)
Для тех, кто решится копать прошивку: В IDA нужно выбирать ARMB; используется Big Endian.
Если нашли что-то новое или что-то не поняли, пишите на форуме. Удачи!