Перейти к содержанию
    

Как прочесть бутлоадер

Выглядит все так, будто ТС нужно скопипастить чужой продукт.

Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, planetzeus said:

то почему бы не сделать подобное

Подобное, это какое? Что такого уникального сделал производитель в связке "ПО + загрузчик"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Arlleex said:

Выглядит все так, будто ТС нужно скопипастить чужой продукт.

Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать.

Я думаю что многие, кто делают свой продукт, изучают конкурентов если есть такая возможность.

А вообще, вы очень даже правы насчет "Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать.". Я попробовал подставлять FF и получил странный код - первые две инструкции. Первая - сравнение, в котором используется "неиспользуемый" в логике регистр. А второй - безусловный переход вперед, за пределы декриптованного куска и далее опять безусловный переход далеко назад. Я ожидал увидеть в этом куске возврат из функции, поэтому подбирал возможные варианты.

Нужно было просто не искать логику и какой-то смысл в остальном декриптованном коде. В общем, тему можно закрывать. Действительно, FF значит FF и больше никакой магии.

Прошу прощения, что ввел кого-то в заблуждение.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, planetzeus said:

Я думаю что многие, кто делают свой продукт, изучают конкурентов если есть такая возможность.

Конечно) Но ни разу не пытался дизассемблировать чужой код) Проще свой написать....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, haker_fox said:

Конечно) Но ни разу не пытался дизассемблировать чужой код) Проще свой написать....

Работа такая) Меня просят, я смотрю. Не всегда проще написать свой. Ну и кроме того, изучая чужие решения, в конечном счете свои решения делаешь лучше, так как видишь недостатки и достоинства у других.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 minutes ago, planetzeus said:

Меня просят, я смотрю.

Теперь я Вас понимаю. Именно понимаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, planetzeus сказал:

Логика моего вопроса очень простая. Я вижу в коде обращение по адресу 0x7FFEExxx и пытаюсь понять что это, как это используется и как этим правильно пользоваться. Сам не могу найти решение, поэтому спрашиваю у тех, кто в теме.

Например: обращение к области пользовательского бутлоадера, которого у вас видимо нет. Там могут храниться какие-то данные, общие для рабочего ПО и бутлодера.

10 часов назад, planetzeus сказал:

Подскажите, где об этом можно посмотреть и почитать.

В разделе "LPCxxxx memory re-mapping and boot ROM" юзер-мануала.

6 часов назад, Arlleex сказал:

Выглядит все так, будто ТС нужно скопипастить чужой продукт.

Очень похоже.

5 часов назад, planetzeus сказал:

Я думаю что многие, кто делают свой продукт, изучают конкурентов если есть такая возможность.

Так как - вы никто не делает.

Ну - за исключением тех, кто просто хочет стырить или взломать чужую прошивку.  :unknw:

Потому как изучать имеет смысл исходник, а не бинарник. Даже исходники очень редко какие стоит изучать....

5 часов назад, planetzeus сказал:

А вообще, вы очень даже правы насчет "Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать.". Я попробовал подставлять FF и получил странный код - первые две инструкции. Первая - сравнение, в котором используется "неиспользуемый" в логике регистр. А второй - безусловный переход вперед, за пределы декриптованного куска и далее опять безусловный переход далеко назад.

Похоже вы просто не понимаете, что делаете... даже не читаете советы, что вам уже написали. Про FF уже писали что это. Да оно и так вроде должно быть интуитивно понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в свое время разбирался с бутлоадером еще на LPC2129, когда они только появились и потом уже на LPC17xx, там даже уязвимость была с переполнением буфера (сделал для нее прогу которая позволяла считывать защищенные процы). Тут была тема где это описывал.

Вообще бутлоадеры у NXP (по крайней мере у тех семейств что исследовал) без проблем считываются и даже отладчиком можно шагать. Но если уж исследовать - надо в IDA запихивать.

Так вот в этом bootrom хранится - небольшой код инициализации (на некоторых семействах прописывает в регистры константы и кстати со временем эти регистры появляются в даташите), программа загрузки по uart - ISP, и самая большая часть - IAP, ISP - использует тот же IAP

защита в первых ARM7-TDMI реализовывалась - отключением ног JTAG.

сейчас в ISP багов с переполнением буфера - нет! ISP однозначно написан на С - причем довольно криво (с точки зрения оптимальности) и дело не в настройках компилятора.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...