Инструкция Инструкции по работе с прошивками через IDA Pro и BinEdit

SantaX

Разработчик
Команда форума
Сообщения
206
Реакции
1,079
Баллы
238
Ваше "умное" устройство
Amazfit Bip
  • Первое сообщение
  • #1
Данная тема создана для обучения форумчан секретам о том, как можно открыть прошивку (от Amazfit BIP, Cor и т.д.) в дизассемблере (программы IDA Pro и BinEdit), понять его код и как его можно модифицировать. Я в этом вопросе тоже не профессионал, поэтому учиться буду вместе с Вами. На первых порах я постараюсь поделиться с вами своими знаниями, чтобы Вы смогли освоить азы языка ассемблер для ARM процессоров. По мере обучения вы можете искать ответы на свои вопросы через поиск в Теме. А если Вы не смогли найти ответ, то создавайте новое сообщение и задавайте Ваш вопрос, мы постараемся найти на него ответ!

Данный пост считается главным, и будет содержать ссылки на все инструкции в теме, чтобы Вы не потерялись в большом количестве сообщений.
Ниже Вы можете ознакомиться с вашей первой инструкцией.
Надеюсь на нашу плодотворную совместную работу!
 
Последнее редактирование:

Lurker

Друг форума
Сообщения
71
Реакции
138
Баллы
43
Ваше "умное" устройство
Amazfit Bip
white_compass.jpg
Всё оказалось просто: вызов функции заливки всего экрана цветом фона тут лишняя, и она дает нужные 4 байта!

Но на фотке видно, что название направления налезает на цифры угла. А строки типа "северо-запад" еще и на круг налезают. Поднять-то на пиксель можно, но если б был цвет фона текста "прозрачный" - было бы лучше! Есть?
 

Lurker

Друг форума
Сообщения
71
Реакции
138
Баллы
43
Ваше "умное" устройство
Amazfit Bip

SantaX

Разработчик
Команда форума
Сообщения
206
Реакции
1,079
Баллы
238
Ваше "умное" устройство
Amazfit Bip
@Lurker, может быть. Попробуй цвет задать не 0xFFFFFF, а 0xFFFFFFFF
 

SantaX

Разработчик
Команда форума
Сообщения
206
Реакции
1,079
Баллы
238
Ваше "умное" устройство
Amazfit Bip
@Lurker, предложение попробовать.
 

SantaX

Разработчик
Команда форума
Сообщения
206
Реакции
1,079
Баллы
238
Ваше "умное" устройство
Amazfit Bip
@kdchien, в функцию вывода отправить обратное значение цвета и все.
 

Hua

Новичок
Сообщения
7
Реакции
4
Баллы
3
Ваше "умное" устройство
Amazfit Bip
1. известны ли технические характеристики amazfit bip? процессор(модель/кол-во ядер/частота), память(rom/ram)
2. возможно ли на них установить операционку типа FreeRTOS?
3. как мододелы отлаживают свои прошивки? неужели в уме компилируют то, что пишут, и отлаживают прямо на устройстве?
4. код пишут прямо в IDA? и ею же компилируют?
Спасибо!
 

SantaX

Разработчик
Команда форума
Сообщения
206
Реакции
1,079
Баллы
238
Ваше "умное" устройство
Amazfit Bip
@Hua, 1. Никогда особо не интересовался. 2. Они и работают на базе RTOS, функции в прошивке есть ее. 3. Ну не в уме конечно: в уме зарождается идея, строится подобие тз с реализацией и функционалом; паралелльно выстраиваются идеи, какие функции прошивки задействовать; и уже после код пишется на ассемблере - сначала функциональная часть, а уже после интерфейсная. После коспиляция в видео патча и применяется к прошивке. У меня так, у Максима думаю почти также. 4. Использую BinEdit.
 

MNVolkov

Разработчик
Команда форума
Сообщения
121
Реакции
962
Баллы
143
Ваше "умное" устройство
Amazfit Bip
1. stm32l476 1 ядро Cortex-M4 память 32к+96к 512к Флэша для кода, SPI флэш (судя по информации с форума) на 8мбит.
2.FreeRTOS и есть
3. @SantaX хорошо написал, так и есть. Эмулятор не использую если это имелось ввиду, отладка на устройстве.
4. Нет конечно. На ида только исследование прошивки. Для компиляции есть тулчейн arm-gcc.
 

trace

Разработчик
Команда форума
Сообщения
327
Реакции
943
Баллы
148
Ваше "умное" устройство
Amazfit Bip
Полная информация по железу Amazfit Bip, включая мануалы и даташиты:

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.


Там же можно найти кастомную прошивку c открытым исходным кодом для Amazfit Bip на основе FreeRTOS:

Пожалуйста войдите или зарегистрируйтесь для просмотра скрытого текста.

 

Hua

Новичок
Сообщения
7
Реакции
4
Баллы
3
Ваше "умное" устройство
Amazfit Bip
4. Нет конечно. На ида только исследование прошивки. Для компиляции есть тулчейн arm-gcc.
1. Правильно ли я понимаю, что разработка приложений модов(калькулятор, календарь) идёт на Си, а потом с помощью этого тулчейна код вкомпиливается в прошивку?
2. У FreeRTOS есть ли какие-то стандартные приложения, которые можно было бы добавить в Bip'ы?
 

Lurker

Друг форума
Сообщения
71
Реакции
138
Баллы
43
Ваше "умное" устройство
Amazfit Bip
с помощью этого тулчейна код вкомпиливается в прошивку?
Тулчейном компилируется, а полученный бинарный файл с машинными кодами вставляется в прошивку, возможно, с некоей корректировкой по месту. Конечно, я точно не знаю, как работает @MNVolkov, но, в принципе, можно на C описать ресурсы часов, доступ к которым по абсолютным адресам, и получать перемещаемый (с относительной адресацией внутри) бинарник, для которого надо найти место и проставить вызовы в него.
 

maxgrom

Новичок
Сообщения
5
Реакции
-2
Баллы
8
Ваше "умное" устройство
Amazfit Cor 2 (NFC)
кто может поделиться IDC файлом для прошивки версии 1.1.5.36?
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу