Автор |
Съобщение |
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Cortex-M33
Някой да е попадал на малка по обем, до десетина мегабайта програма за Cortex-M33, която да може да чете hex и bin файлове? Да ги реасемблира, да има вграден емулатор за Cortex-M33, да има прост редактор който да позволява промени в програмата и да има възможност после отново да запише протестваната и редактирана програма в hex или bin файл. Имаше нещо подобно за Cortex-M3. Вижте снимката в прикачения файл.
|
Пет Фев 16, 2018 9:13 am |
|
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 2:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Re: Cortex-M33
Просто ми стана любопитно - ако има, но е примерно 15 мегабайта какво правим тогава?
|
Пет Фев 16, 2018 2:05 pm |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10372 Местоположение: Добрич
|
Re: Cortex-M33
M33 си е Thumb2, т.е. всеки ARMv7 дизасемблер би трябвало да се справи, но като гледам другите изисквания се сещам само за IDA Pro.
|
Пет Фев 16, 2018 5:59 pm |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Tази програма за Cortex-M3 от снимката беше само 2-3 мегабайта, попаднах на нея преди 5-6 години. Беше заедно с още една подобна програма, но за PIC микроконтролери с много странен асемблер, някакъв микс между Z80 и 6502. Поне така ми изглежда на мен. Но машинният код във Hex файла който генерираше, съответстваше на малките PIC микроконтролери. Тогава запазих само тази за PIC микроконтролерите, тази за Cortex-M3 само я пробвах и изтрих. Бях я взел от един руски сайт, но него вече го няма. Останали са само няколко скрийншота от програмата. И тя щеше да ми свърши работа, защото разликите между асемблера на Cortex-M3 и Cortex-M33 са само няколко инструкции (ако изключим dsp & fpu) но не мога да я открия никъде. Тази за PIC микроконтролерите е още по малка. Виж снимката. Затова предполагам, че и други подобни програми няма да са много по големи като обем.
|
Пет Фев 16, 2018 6:03 pm |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Ако е само за дизасемблер IDA Pro върши работа, но на мен ми трябва да има и емулатор(симулатор) с възможност да се правят корекции в програмата и после да се запишат обратно в bin или hex файл. Иначе в интернет има онлайн АRМ асемблери и дизасемлери, но нямат емулатор който да може да изпълнява кода на програмата, за да се види какво точно прави. http://armconverter.comhttp://armconverter.com/hextoarm/
|
Пет Фев 16, 2018 6:15 pm |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Сега пуснах IDA Pro и виждам, че има някаква опция за debugger, но изглежда ползва външна програма за тази цел. Няма ли някоя специализирана програма за Reverse engineering за Cortex-M3?
|
Пет Фев 16, 2018 6:29 pm |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10372 Местоположение: Добрич
|
Re: Cortex-M33
Може и да има, но ти си първия с такъв въпрос (обикновено М3 са заключени и няма какво да ревърсваш). За емулатор QEMU ама едва ли ще ти свърши работа... а и емулатори по принцип не се използват, защото са без емулация на перифериите, което в общия случаи ги прави безполезни.
|
Пет Фев 16, 2018 7:02 pm |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Аз програмата я имам като hex файлове в около 50 версии. В последните версии има някои инструкции които са от ARMv8-M. По принцип зная какво точно прави програмата и имам по старата схема с Cortex-M3. Виж снимката. Но ми трябва подходяща програма за да я доразнищя.
|
Пет Фев 16, 2018 8:15 pm |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10372 Местоположение: Добрич
|
Re: Cortex-M33
Сега остана да ми кажеш че и jtag/swd са ти оставили? и тогава няма да ти трябва емулатор
|
Пет Фев 16, 2018 8:30 pm |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Програмирам го чрез USART Е, нямам изходните файлове които са написани на С. Но асемблерът на Cortex-M3 до такава степен е адаптиран за удобство на С компилаторите, че не е толкова труден за разчитане. Това е схема на металдетектор работещ на принципа на индуктивния баланс. Трябва да променя някои от параметрите му.
|
Пет Фев 16, 2018 9:01 pm |
|
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 5:52 pm Мнения: 10372 Местоположение: Добрич
|
Re: Cortex-M33
На снимката не се вижда какъв е чепа, но предполагам ти си го знаеш, така че може да проследиш jtag/swd пиновете дали са изведени на някой конектор или в краен случай ти да си ги изведеш. След това ти трябва openocd или jlink или там каквото намериш. Те си имат конзола (за jlink-a и приложения), та през конзолата може да четеш/пишеш памети/регистри въобще имаш пълен достъп до проца. Може и да дебъгваш през конзолата, но по-удобно е с нормален дебъгер. При варианта с openocd то си отваря два порта 3333 и 4444 мисля бяха, единият ти е за конзола за теб (ако искаш) другия е gdb server (remote). При jlink се пускаше jserver или нещо подобно за да ти направи gdb server. Към тоя сървър може да се закачаш с всякакви GDB базирани дебъгери. Включително и IDA-та би трябвало да го поддържа. Така че закачаш се, дебъгваш, може да слагаш брейкпоинти там където си мислиш че е интересно. Примерно някъде се зарежда константа в някой регистър, след зареждането ти може да промениш регистъра все едно че константата е била друга и да видиш нататък как ще се държи програмата. Но ти сигурно си наясно как стават тия работи
|
Съб Фев 17, 2018 9:16 am |
|
|
bobihot
Ранг: Форумен бог
Регистриран на: Сря Фев 13, 2013 2:35 pm Мнения: 1748
|
Re: Cortex-M33
Добре де- какви чепове М23-33 са се появили, че не съм срещал още?
|
Съб Фев 17, 2018 11:35 am |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Не са изведени, но си прав, май най добре да ги изведа и да действам по класическия начин.
|
Съб Фев 17, 2018 11:53 am |
|
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 9:16 am Мнения: 1705
|
Re: Cortex-M33
Е можеше просто да ни пуснеш един линк до тук вместо да ни мъчиш с онази схема-тъмбнейл.
|
Съб Фев 17, 2018 12:23 pm |
|
|
Garcor
Ранг: Минаващ
Регистриран на: Пет Фев 16, 2018 8:07 am Мнения: 51
|
Re: Cortex-M33
Засега ги използват за IoT, но сигурно скоро ще ги пуснат и за масова употреба, защото големите производители на микроконтролери вече са купили лиценза. Иначе документацията за ARMv8-M я има отдавна. Arm Cortex‑M33 Processor Technical Reference Manual https://developer.arm.com/docs/100230/0003The ARMv8-M Baseline offers improvements over previous M-profile architectures in the following areas: • The optional Security Extension. • An improved, optional, Memory Protection Unit (MPU) model. • Alignment with ARMv8-A and ARMv8-R memory types. • Stack pointer limit checking. • Improved support for multi-processing. • Better alignment with C11 and C11++ standards. • Enhanced debug capabilities. The ARMv8-M architecture introduces a number of new instructions to the M-profile architecture to support asset protection. These instructions are only available to implementations that support the Security Extension' The ARMv8-M architecture adds instructions to support: • Improved facilitation of execute-only code generation. • Improved code optimization. • Exclusive memory access instructions to enhance support for multiprocessor systems. • Semaphores and atomics (Load-Acquire/Store-Release instructions).
|
Съб Фев 17, 2018 12:28 pm |
|
|