Arlleex 0 Posted September 8, 2021 · Report post Выглядит все так, будто ТС нужно скопипастить чужой продукт. Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted September 8, 2021 · Report post 4 hours ago, planetzeus said: то почему бы не сделать подобное Подобное, это какое? Что такого уникального сделал производитель в связке "ПО + загрузчик"? Quote Ответить с цитированием Share this post Link to post Share on other sites
planetzeus 0 Posted September 8, 2021 · Report post 1 minute ago, Arlleex said: Выглядит все так, будто ТС нужно скопипастить чужой продукт. Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать. Я думаю что многие, кто делают свой продукт, изучают конкурентов если есть такая возможность. А вообще, вы очень даже правы насчет "Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать.". Я попробовал подставлять FF и получил странный код - первые две инструкции. Первая - сравнение, в котором используется "неиспользуемый" в логике регистр. А второй - безусловный переход вперед, за пределы декриптованного куска и далее опять безусловный переход далеко назад. Я ожидал увидеть в этом куске возврат из функции, поэтому подбирал возможные варианты. Нужно было просто не искать логику и какой-то смысл в остальном декриптованном коде. В общем, тему можно закрывать. Действительно, FF значит FF и больше никакой магии. Прошу прощения, что ввел кого-то в заблуждение. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted September 8, 2021 · Report post 29 minutes ago, planetzeus said: Я думаю что многие, кто делают свой продукт, изучают конкурентов если есть такая возможность. Конечно) Но ни разу не пытался дизассемблировать чужой код) Проще свой написать.... Quote Ответить с цитированием Share this post Link to post Share on other sites
planetzeus 0 Posted September 8, 2021 · Report post 9 minutes ago, haker_fox said: Конечно) Но ни разу не пытался дизассемблировать чужой код) Проще свой написать.... Работа такая) Меня просят, я смотрю. Не всегда проще написать свой. Ну и кроме того, изучая чужие решения, в конечном счете свои решения делаешь лучше, так как видишь недостатки и достоинства у других. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted September 8, 2021 · Report post 38 minutes ago, planetzeus said: Меня просят, я смотрю. Теперь я Вас понимаю. Именно понимаю. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted September 8, 2021 · Report post 10 часов назад, planetzeus сказал: Логика моего вопроса очень простая. Я вижу в коде обращение по адресу 0x7FFEExxx и пытаюсь понять что это, как это используется и как этим правильно пользоваться. Сам не могу найти решение, поэтому спрашиваю у тех, кто в теме. Например: обращение к области пользовательского бутлоадера, которого у вас видимо нет. Там могут храниться какие-то данные, общие для рабочего ПО и бутлодера. 10 часов назад, planetzeus сказал: Подскажите, где об этом можно посмотреть и почитать. В разделе "LPCxxxx memory re-mapping and boot ROM" юзер-мануала. 6 часов назад, Arlleex сказал: Выглядит все так, будто ТС нужно скопипастить чужой продукт. Очень похоже. 5 часов назад, planetzeus сказал: Я думаю что многие, кто делают свой продукт, изучают конкурентов если есть такая возможность. Так как - вы никто не делает. Ну - за исключением тех, кто просто хочет стырить или взломать чужую прошивку. Потому как изучать имеет смысл исходник, а не бинарник. Даже исходники очень редко какие стоит изучать.... 5 часов назад, planetzeus сказал: А вообще, вы очень даже правы насчет "Читаются 0xFF - значит читаются 0xFF и ничего с этим не поделать.". Я попробовал подставлять FF и получил странный код - первые две инструкции. Первая - сравнение, в котором используется "неиспользуемый" в логике регистр. А второй - безусловный переход вперед, за пределы декриптованного куска и далее опять безусловный переход далеко назад. Похоже вы просто не понимаете, что делаете... даже не читаете советы, что вам уже написали. Про FF уже писали что это. Да оно и так вроде должно быть интуитивно понятно. Quote Ответить с цитированием Share this post Link to post Share on other sites
KRS 0 Posted January 17 · Report post Я в свое время разбирался с бутлоадером еще на LPC2129, когда они только появились и потом уже на LPC17xx, там даже уязвимость была с переполнением буфера (сделал для нее прогу которая позволяла считывать защищенные процы). Тут была тема где это описывал. Вообще бутлоадеры у NXP (по крайней мере у тех семейств что исследовал) без проблем считываются и даже отладчиком можно шагать. Но если уж исследовать - надо в IDA запихивать. Так вот в этом bootrom хранится - небольшой код инициализации (на некоторых семействах прописывает в регистры константы и кстати со временем эти регистры появляются в даташите), программа загрузки по uart - ISP, и самая большая часть - IAP, ISP - использует тот же IAP защита в первых ARM7-TDMI реализовывалась - отключением ног JTAG. сейчас в ISP багов с переполнением буфера - нет! ISP однозначно написан на С - причем довольно криво (с точки зрения оптимальности) и дело не в настройках компилятора. Quote Ответить с цитированием Share this post Link to post Share on other sites