TOG
Свой-
Постов
559 -
Зарегистрирован
-
Посещение
Весь контент TOG
-
А у Вас точно ESP8266 ? Может ESP32 ? Я не смог найти ни одной прошивки для ESP8266 с HTTP клиентом. Для ESP32 есть такие прошивки. Команда "AT+HTTPCLIENT" нужна.
-
По HTTP качает ? Или по HTTPS тоже ?
-
Товарищи, имеется WI-FI модуль ESP8266. Научился подключаться к точке доступа, но скачать что-то из интернета не получается. AT+CWJAP="Keenetic-1","password" (подключился по WI-FI к точке доступа) AT+CIPSTART="TCP","ya.ru",80 (создать TCP соединение с ya.ru) AT+CIPSEND=18 (готовимся послать 18 байт) GET /robots.txt HTTP/1.1 (Посылаем запрос на файл robots.txt) А в ответ только это: HTTP/1.1 406 Not acceptable Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA, Sec-CH-UA-Full-Version-List, Sec-CH-UA-WoW64, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Platform, Sec-CH-UA-Full-Version, Viewport-Width, DPR, Device-Memory, RTT, Downlink, ECT Connection: Close Content-Length: 0 NEL: {"report_to": "network-errors", "max_age": 100, "success_fraction": 0.001, "failure_fraction": 0.1} Report-To: { "group": "network-errors", "max_age": 100, "endpoints": [{"url": "https://dr.yandex.net/nel", "priority": 1}, {"url": "https://dr2.yandex.net/nel", "priority": 2}]} X-Content-Type-Options: nosniff X-Yandex-Req-Id: 1725525692040099-15617238874479035269-balancer-l7leveler-kubr-yp-sas-140-BAL Пробовал и другие сайты. Нашел несколько сайтов, у которых не https соединение, а обычное http(типа без шифрования). Но посмотрев программой wireshark на сетевой трафик я увидел, что даже при http соединении все шифруется TLS. Или я что-то не понимаю и делаю не так ? У кого-то ESP8266 качает файлы из интернета ?
-
Припух с кэшем. Рассинхронизация данных на STM32H743.
TOG ответил TOG тема в ARM, 32bit
Решил. После стирания поставил SCB_InvalidateDCache_by_Addr (void *addr, int32_t dsize) Теперь все корректно читает. -
Припух с кэшем. Рассинхронизация данных на STM32H743.
TOG опубликовал тема в ARM, 32bit
Товарищи, работаю с STM32H743 под FreeRTOS. Припух с простейшей задачкой: Нужно стереть одну страницу флэш-памяти МК, а потом прочитать ее. Включен кэш данных и кэш инструкций. ErasePage(); // Стереть страницу флэш-памяти МК ReadPage(&Data); // Прочитать Если проходить пошагово отладчиком, то страница стирается и потом функция ReadPage читает FFFFFFF... как и должно быть. А если отпустить в свободный полет, то функция ReadPage читает старые данные, которые там были до стирания. Пробовал "taskENTER_CRITICAL", "taskEXIT_CRITICAL"- не помогло. Пробовал "__ISB(), "__DSB(), __DMB()" - всякие барьеры синхронизации. Не очень я понимаю как они работают, но и это мне не помогло. Что посоветуете ? -
Точно. Получилось ! LOAD ..\..\БУТЛОАДЕР_01\MDK-ARM\БУТЛОАДЕР_01\БУТЛОАДЕР_v01.hex
-
Как задать относительный путь в в Keil MDK-ARM uVision
TOG опубликовал тема в Программирование
Товарищи, Есть 2 проекта в соседних папках, расположенных тут "C:\ОБЩИЙ_ПУТЬ_ВСЕХ_ПРОЕКТОВ". "БУТЛОАДЕР_01" "ОСНОВНОЕ_ПРИЛОЖЕНИЕ" В настройках "ОСНОВНОГО ПРИЛОЖЕНИЯ" во вкладке Utilities я использую Init файл. Там командой "LOAD" прошивается hex-файл бутлоадера: LOAD C:\ОБЩИЙ_ПУТЬ_ВСЕХ_ПРОЕКТОВ\БУТЛОАДЕР_01\MDK-ARM\БУТЛОАДЕР_01\БУТЛОАДЕР_v01.hex Нужно как-то заменить этот абсолютный путь до "БУТЛОАДЕР_01" на относительный используя например "Key sequence" или как-то по другому. Чтобы при копировании этих проектов на другой комп не нужно было править этот абсолютный путь "C:\ОБЩИЙ_ПУТЬ_ВСЕХ_ПРОЕКТОВ". Что посоветуете ? -
Нам уже прислали на тестирование отладочную плату. Пока начнем осваивать, а когда выйдут более мощные версии этого МК будем уже знать что к чему.
-
Штыревые антенны на 868 МГц, которые мы покупаем в интернете имеют длину ~ 19 см. И там конструкция не такая простая как Вы предлагаете. (NanoVNA у нас есть).
-
Вы не читаете что-ли ? Я же посчитал сколько времени нужно чтобы перебрать полностью все варианты 10-символьного пароля.
-
Я думаю потому-что многие админы не понимают на что способна майнинговая ферма при подборе паролей, поэтому постоянно в сеть утекают базы с персональными данными пользователей сайтов. Взламывают сайт используя уязвимость ПО, и копируют себе базу данных. Да данные там зашифрованы, а пароли пользователей хранятся в виде хэшей. Но даже пароль длиной 10 символов(а обычно они более короткие) взламывается элементарно. Кол-во комбинаций 36^10 = 4e15 комбинаций. Производительность одной видеокарты 300 мегахэшей/c. Перебор всех 4e15 комбинаций 10-значного пароля и вычисление его хэша у одной видеокарты займет 12e6 секунд = 140 суток. А для фермы это будут уже минуты. Перебирают по словарю или по порядку.
-
Можно ли сделать штыревую антенну на 868 МГц из рулетки ?
TOG опубликовал тема в RF & Microwave Design
Товарищи, имеется прибор с гнездом SMA в которое вставляется внешняя штыревая антенна на 868 МГц (типа как от роутера). В конце смены антенну каждый раз приходится снимать, чтобы уложить прибор в транспортировочный контейнер и ВЧ-разъем со временем помирает. Есть идея сделать совсем гибкую антенну, чтобы ее можно было буквально обернуть вокруг корпуса прибора не снимая ее с ВЧ-разъема. Тогда разъем прослужит дольше... наверное. Разъем SMA для этой цели наверно не годится. Думаю нужно что-то более прочное, может N-type ? Где-то видел вроде антенны на армейских рациях из рулетки сделаны. Посоветуйте где, что посмотреть, почитать как сделать антенну из рулетки или какого-то другого гибкого материала. -
Ну так давайте и обсудим, что за дверь и окно такое на распашку. Где Вы видите уязвимость этой стратегии ? Мне то кажется, что концепция надежная. Настолько надежная, что даже нет смысла делать секрет из алгоритма создания кодов продления. Поделитесь своими соображениями. Для этого форум и существует, так ведь ?
-
Я конечно не эксперт в кибербезопасности, но мне кажется, что вычислять хэш 1 раз не годится. Вот вскрыли хацкеры экзешник, посмотрели алгоритм, поняли, что для создания кода продления аренды нужно в таком-то прядке расположить исходные данные и зашифровать неким хэшем(32 байта). Думаю атаку на сам хэш длиной 32 байта они проводить не станут, потому-что это дело гиблое. Поэтому они будут перебирать пароли по прядку или по словарю вычисляя хэш для каждого пароля, шифруя исходное сообщение этим хэшем и сравнивая результат с известным им кодом продления. Учитывая производительность современных видеокарт, это может быть очень быстро. Поэтому мне кажется хэш от пароля нужно вычислять много раз(миллион например). По идее это затормозит их в отгадывании пароля.
-
Это продолжение темы про создание сервиса с арендой прибора. Этот сервис будет доступен на сайте, в мобильном приложении и на ПК. Поэтому ни какой секретности тут быть не может. Хацкерам даже сайт взламывать не придется, они просто дизассемблируют приложение для ПК например. А миллион раз вычислялется хэш, чтобы хацкеры получив от нас однажды код продления и зная исходное сообщение не смогли быстро отгадать наш пароль.
-
Спасибо, makc. Интересная штука. Попробую освоить. Жаль ее нет в стандартной STM'овской криптобиблиотеке. Спасибо, girts. По Вашей формуле получается 26^8 ~ 2e11 (примерно 209 млрд. возможных комбинаций). Но это без учета цифр. Вы же только латинские буквы посчитали. Если использовать и цифры и буквы, то это уже 36^8 = 3e12 (2821 млрд. комбинаций). То есть если видеокарта считает ~ 300 мегахешей в секунду, то: За 1 секунду она сможет перебрать всего 300 паролей. На 209 млрд. комбинаций уйдет ~ 8000 суток = 22 года. (подбор пароля только из 8 заглавных латинских букв ) И ~ 100000 суток = 300 лет на подбор пароля из 8 заглавных латинских букв и цифр. Наверно ферма из 10 тыс. видеокарт такую задачку решит и не подавится. 🤑 Спасибо, jcxz. Программно считаю. Да, в RM я вижу, что есть аппаратный вычислитель, но по факту его нет. Хорошо хоть CRC и RNG есть. Аппаратный крипто модуль похоже есть только в STM32H73x. ST'шники наверно забыли мануал исправить.
-
Товарищи, Я сообщаю человеку некое зашифрованное сообщение(AES, длина 16 байт). По условию задачи исходный текст сообщения он знает. У него есть сильное желание узнать каким паролем зашифровано это сообщение. Допустим я для шифрования использовал пароль 8 символов(цифры и латинские буквы в верхнем регистре) из которого я сделал хэш. Хэш я предполагаю делать в цикле примерно так: for (i=0; i<1000000; i++) { SHA256(buf); } На моем STM32H743 на вычисление этого миллиона хэшей уходит ~6 секунд. (Это предел по времени, больше уже нельзя). Вопрос: Как бы понять сколько времени потребуется современному взломщику на подбор такого пароля на каком-нибудь современном железе(майнинговая ферма или чем они пользуются) ? Например я прочитал в интернете, что NVIDIA RTX 4090 выдает 290 мега-хэшей в секунду. Много это или мало ?
-
Вопрос по Error Correction Code(SEC-DED)
TOG ответил TOG тема в Программирование
Это только включает/отключает прерывание. На саму проверку это никак не влияет. Если уж Double Error словил, то возникает исключение Bus Fault. Если обработчик Bus Fault не подключен, то Hard Fault. -
Вопрос по Error Correction Code(SEC-DED)
TOG ответил TOG тема в Программирование
Срабатывает только на 0x7FFFFFFF, 0x3FFFFFFF, а на 0x1FFFFFFF уже возникает Double Error Detection и "лавочка закрывается". Сдается мне, что эти числа можно как-то рассчитать заранее, чтобы они проходили проверку ECC, либо только вызывали Single Error. ST пишет, что отключить нельзя ни фо флэш, ни в RAM, ни в кэш -
Вопрос по Error Correction Code(SEC-DED)
TOG опубликовал тема в Программирование
Товарищи, в микроконтроллерах, в частности в STM32 производитель использует ECC(Error Correction Code) для внутренней памяти МК. Поэтому записывать во внутренний флэш без предварительного стирания не так просто как в EEPROM. При чтении данных, которые были записаны без предварительного стирания могут возникать такие события: 1. "Single Error Correction" - это когда при чтении флэша система выявила одиночную ошибку, смогла ее исправить, но данные мы все-таки от нее получаем. 2. "Double Error Detection" - это когда при чтении флэша система выявила двойную ошибку, это совсем плохо, возникает исключение Bus Error и данные мы не получаем. Задача такая: Мне нужно сохранять счетчик времени во внутренней флэш памяти, максимально сберегая ее ресурс. В STM32H7 запись во внутренний флэш идет блоками по 32 байта. Если например сохранять счетчик каждую минуту записывая по 32 байта, то страницы памяти 128 кБ хватит всего на ~68 часов работы. Однако, вот что я обнаружил. (Хотя наверно это уже давно всем известно) Первый раз пишем такую последовательность(32 байта): 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 Пишем поверх нее: 0, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 Пишем поверх нее: 0, 0, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 Пишем поверх нее: 0, 0, 0, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 Пишем поверх нее: 0, 0, 0, 0, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 Пишем поверх нее: 0, 0, 0, 0, 0, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, 16, 32, 64, 128 И все эти 5 раз система обнаруживает только Single Error и позволяет считать данные. Однако дальше я не продвинулся. Дальше всегда у меня возникал Double Error Detection и данные считать уже не получалось. Хотелось бы узнать у форума, как бы вычислить заранее побольше таких кодов, которые бы распознавались системой как одиночные ошибки, чтобы без стирания уместить в эти 32 байта как можно больше значений счетчика. ST пишет, что сей алгоритм основан на коде Хэмминга(SEC-DED называется). -
Купили антенны на 868 МГц, а они все разные.
TOG ответил TOG тема в RF & Microwave Design
Спасибо, Сергей Викт. Все получилось. Всю партию антенн исправил, где надо укоротил, где надо удлинил, все теперь хорошо. Мне бы какую-нибудь ссылочку на книжку, где про эту конструкцию почитать можно, т.к у нас куплено еще много антенн, которые вообще в другом диапазоне оказались(~300 МГц) и для них придется эту латунную трубку городить самому. -
Купили антенны на 868 МГц, а они все разные.
TOG опубликовал тема в RF & Microwave Design
Товарищи, купили на али штыревые антенны на 868 МГц(для LoRA) у разных продавцов, а они оказались все разные. Ставим одну в прибор, измеряем КСВ = 1.2 .. 1.5. Нормально. Ставим другую, измеряем КСВ = 3.0 .. 4.5 Можно ли как-то доработать эти антенны ? Пластиковый кожух снимается легко. И второй вопрос: Если я например в RfSim99 рассчитаю плату согласования импеданса, то есть ли разница куда ее поставить: рядом с антенным гнездом или рядом с радиомодулем ? Длина кабеля от радиомодуля до антенны ~ 40 см. -
У Segger'a на сайте есть бесплатный отладчик Ozone, он может подцепиться к уже работающему процессу. Наверно и отладочную информацию можно ему скормить, чтобы все красиво было. Правда нужен J-Link.
-
Нужно сделать сервис аренды прибора
TOG ответил TOG тема в Программирование
Это не особо надежно. Как я понимаю из более-менее надежных решений выбор такой: 1. Пишем во внутренний флэш МК STM32H743. Из плюсов: хорошая защищенность от хацкеров. Из минусов: если криво запишется, то возможно программа перестанет вообще работать. 2. Ставим ещё один МК, у которого есть внутренний EEPROM(STM32L051 например). Из плюсов: большой ресурс. Если криво запишется, можно восстановить из резервной области. Из минусов: плохая защищенность от хацкеров. Я склоняюсь к варианту 1.. -
Нужно сделать сервис аренды прибора
TOG ответил TOG тема в Программирование
А как шифрование EEPROM'ки поможет от снятия ее дампа в начале срока аренды. А в конце срока аренды записи этого дампа обратно в EEPROM ? Про FRAM спасибо, подумаю.