Jump to content
    

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

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

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

Share this post


Link to post
Share on other sites

4 hours ago, planetzeus said:

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

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

Share this post


Link to post
Share on other sites

1 minute ago, Arlleex said:

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

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

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

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

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

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

 

Share this post


Link to post
Share on other sites

29 minutes ago, planetzeus said:

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

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

Share this post


Link to post
Share on other sites

9 minutes ago, haker_fox said:

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

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

Share this post


Link to post
Share on other sites

38 minutes ago, planetzeus said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...