Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro (+5 невидимых) |
![]() |
eXeL@B —› Крэки, обсуждения —› VXP формат (MRE для MTKxxxx девайсов) |
Посл.ответ | Сообщение |
|
Создано: 17 июля 2014 16:57 · Личное сообщение · #1 Собственно занимаюсь задачкой модификации и отладки кода VXP софтинки. Это программа для кастрированых телефонов на базе MTK чипов, получается из ARM ELF путем отрезания упаковывания секций и добавления специфической инфы, т.е. по сути бинарный нативный код. Интересует информация по формату бинарного файла, задача - произвольно изменить секцию кода и запихнуть обратно в исходный файл. На данный момент раскопал следующее: 1) Подряд идут несколько блоков данных сжатых ZLIB (начинаются с кода 78DA), могут перемежаться с некоторыми несжатыми участками, подозреваю ресурсы. 2) первый кусок - всегда код. 3) Распаковка кода проблем не представляет, после в иду и в хексах можно подредактировать. Запаковать тоже проблем нет с помощью zpipe. Если кусок не изменился в большую сторону в размере после модификаций и запаковки, то его просто сливаешь на старое место - все работает, .т.е CRC на блоках видимо нет. 4) Если кусок увеличился, то привет, проге не запуститься. Путем нехитрых поисков по хекс значениям секци и размерам, в конце файла обнаружилось что-то вроде таблички секций. Если увеличить размер секции на 1 скажем и подкорректировать смещения, то файл все-равно не работает ![]() Что-то упускаю я. Среда разработки создает этот vxp из ELF файла, и поисателей платформы. Описатели потом идут в конец, после всего + добавляются еще какие-то специфические данные. Конвертер и сопутствующие утилиты довольно объемные, при реверсе глаза разбегаются. Никто не имел дело с форматом VXP? может есть доки по нему? Для примера файл в аттаче (аська). ![]() ![]() |
|
Создано: 22 июля 2014 12:36 · Личное сообщение · #2 Мда, так и не понял что не так. Пока с мелкими правками выкручиваюсь так: находятся всякие дурацкие строки сишного рантайма об ошибках и прочие, байты последовательно зануляются, как результат после сжатия размер изменяется в меньшую сторону, так вот и подгоняю в автоматическом режиме до базового размера сжатого кода. ![]() |
|
Создано: 22 июля 2014 12:40 · Личное сообщение · #3 софт который компиляет из ельфа в vxp на руках есть ? если софт есть, а опыта в реверсе нету, то берете много всяких разных размеров ELF файлов и пакуете дальше комбинаторикой вычисляете формат хотя правильный метод это реверсить софт который упаковывает vxp другой вариант это реверсить софт который открывает vxp, т.е. лоадер на самом теле ![]() |
![]() |
eXeL@B —› Крэки, обсуждения —› VXP формат (MRE для MTKxxxx девайсов) |