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

TOG

Свой
  • Постов

    559
  • Зарегистрирован

  • Посещение

Весь контент TOG


  1. А у Вас точно ESP8266 ? Может ESP32 ? Я не смог найти ни одной прошивки для ESP8266 с HTTP клиентом. Для ESP32 есть такие прошивки. Команда "AT+HTTPCLIENT" нужна.
  2. Товарищи, имеется 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 качает файлы из интернета ?
  3. Решил. После стирания поставил SCB_InvalidateDCache_by_Addr (void *addr, int32_t dsize) Теперь все корректно читает.
  4. Товарищи, работаю с STM32H743 под FreeRTOS. Припух с простейшей задачкой: Нужно стереть одну страницу флэш-памяти МК, а потом прочитать ее. Включен кэш данных и кэш инструкций. ErasePage(); // Стереть страницу флэш-памяти МК ReadPage(&Data); // Прочитать Если проходить пошагово отладчиком, то страница стирается и потом функция ReadPage читает FFFFFFF... как и должно быть. А если отпустить в свободный полет, то функция ReadPage читает старые данные, которые там были до стирания. Пробовал "taskENTER_CRITICAL", "taskEXIT_CRITICAL"- не помогло. Пробовал "__ISB(), "__DSB(), __DMB()" - всякие барьеры синхронизации. Не очень я понимаю как они работают, но и это мне не помогло. Что посоветуете ?
  5. Точно. Получилось ! LOAD ..\..\БУТЛОАДЕР_01\MDK-ARM\БУТЛОАДЕР_01\БУТЛОАДЕР_v01.hex
  6. Товарищи, Есть 2 проекта в соседних папках, расположенных тут "C:\ОБЩИЙ_ПУТЬ_ВСЕХ_ПРОЕКТОВ". "БУТЛОАДЕР_01" "ОСНОВНОЕ_ПРИЛОЖЕНИЕ" В настройках "ОСНОВНОГО ПРИЛОЖЕНИЯ" во вкладке Utilities я использую Init файл. Там командой "LOAD" прошивается hex-файл бутлоадера: LOAD C:\ОБЩИЙ_ПУТЬ_ВСЕХ_ПРОЕКТОВ\БУТЛОАДЕР_01\MDK-ARM\БУТЛОАДЕР_01\БУТЛОАДЕР_v01.hex Нужно как-то заменить этот абсолютный путь до "БУТЛОАДЕР_01" на относительный используя например "Key sequence" или как-то по другому. Чтобы при копировании этих проектов на другой комп не нужно было править этот абсолютный путь "C:\ОБЩИЙ_ПУТЬ_ВСЕХ_ПРОЕКТОВ". Что посоветуете ?
  7. Нам уже прислали на тестирование отладочную плату. Пока начнем осваивать, а когда выйдут более мощные версии этого МК будем уже знать что к чему.
  8. Штыревые антенны на 868 МГц, которые мы покупаем в интернете имеют длину ~ 19 см. И там конструкция не такая простая как Вы предлагаете. (NanoVNA у нас есть).
  9. Вы не читаете что-ли ? Я же посчитал сколько времени нужно чтобы перебрать полностью все варианты 10-символьного пароля.
  10. Я думаю потому-что многие админы не понимают на что способна майнинговая ферма при подборе паролей, поэтому постоянно в сеть утекают базы с персональными данными пользователей сайтов. Взламывают сайт используя уязвимость ПО, и копируют себе базу данных. Да данные там зашифрованы, а пароли пользователей хранятся в виде хэшей. Но даже пароль длиной 10 символов(а обычно они более короткие) взламывается элементарно. Кол-во комбинаций 36^10 = 4e15 комбинаций. Производительность одной видеокарты 300 мегахэшей/c. Перебор всех 4e15 комбинаций 10-значного пароля и вычисление его хэша у одной видеокарты займет 12e6 секунд = 140 суток. А для фермы это будут уже минуты. Перебирают по словарю или по порядку.
  11. Товарищи, имеется прибор с гнездом SMA в которое вставляется внешняя штыревая антенна на 868 МГц (типа как от роутера). В конце смены антенну каждый раз приходится снимать, чтобы уложить прибор в транспортировочный контейнер и ВЧ-разъем со временем помирает. Есть идея сделать совсем гибкую антенну, чтобы ее можно было буквально обернуть вокруг корпуса прибора не снимая ее с ВЧ-разъема. Тогда разъем прослужит дольше... наверное. Разъем SMA для этой цели наверно не годится. Думаю нужно что-то более прочное, может N-type ? Где-то видел вроде антенны на армейских рациях из рулетки сделаны. Посоветуйте где, что посмотреть, почитать как сделать антенну из рулетки или какого-то другого гибкого материала.
  12. Ну так давайте и обсудим, что за дверь и окно такое на распашку. Где Вы видите уязвимость этой стратегии ? Мне то кажется, что концепция надежная. Настолько надежная, что даже нет смысла делать секрет из алгоритма создания кодов продления. Поделитесь своими соображениями. Для этого форум и существует, так ведь ?
  13. Я конечно не эксперт в кибербезопасности, но мне кажется, что вычислять хэш 1 раз не годится. Вот вскрыли хацкеры экзешник, посмотрели алгоритм, поняли, что для создания кода продления аренды нужно в таком-то прядке расположить исходные данные и зашифровать неким хэшем(32 байта). Думаю атаку на сам хэш длиной 32 байта они проводить не станут, потому-что это дело гиблое. Поэтому они будут перебирать пароли по прядку или по словарю вычисляя хэш для каждого пароля, шифруя исходное сообщение этим хэшем и сравнивая результат с известным им кодом продления. Учитывая производительность современных видеокарт, это может быть очень быстро. Поэтому мне кажется хэш от пароля нужно вычислять много раз(миллион например). По идее это затормозит их в отгадывании пароля.
  14. Это продолжение темы про создание сервиса с арендой прибора. Этот сервис будет доступен на сайте, в мобильном приложении и на ПК. Поэтому ни какой секретности тут быть не может. Хацкерам даже сайт взламывать не придется, они просто дизассемблируют приложение для ПК например. А миллион раз вычислялется хэш, чтобы хацкеры получив от нас однажды код продления и зная исходное сообщение не смогли быстро отгадать наш пароль.
  15. Спасибо, 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'шники наверно забыли мануал исправить.
  16. Товарищи, Я сообщаю человеку некое зашифрованное сообщение(AES, длина 16 байт). По условию задачи исходный текст сообщения он знает. У него есть сильное желание узнать каким паролем зашифровано это сообщение. Допустим я для шифрования использовал пароль 8 символов(цифры и латинские буквы в верхнем регистре) из которого я сделал хэш. Хэш я предполагаю делать в цикле примерно так: for (i=0; i<1000000; i++) { SHA256(buf); } На моем STM32H743 на вычисление этого миллиона хэшей уходит ~6 секунд. (Это предел по времени, больше уже нельзя). Вопрос: Как бы понять сколько времени потребуется современному взломщику на подбор такого пароля на каком-нибудь современном железе(майнинговая ферма или чем они пользуются) ? Например я прочитал в интернете, что NVIDIA RTX 4090 выдает 290 мега-хэшей в секунду. Много это или мало ?
  17. Это только включает/отключает прерывание. На саму проверку это никак не влияет. Если уж Double Error словил, то возникает исключение Bus Fault. Если обработчик Bus Fault не подключен, то Hard Fault.
  18. Срабатывает только на 0x7FFFFFFF, 0x3FFFFFFF, а на 0x1FFFFFFF уже возникает Double Error Detection и "лавочка закрывается". Сдается мне, что эти числа можно как-то рассчитать заранее, чтобы они проходили проверку ECC, либо только вызывали Single Error. ST пишет, что отключить нельзя ни фо флэш, ни в RAM, ни в кэш
  19. Товарищи, в микроконтроллерах, в частности в 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 называется).
  20. Спасибо, Сергей Викт. Все получилось. Всю партию антенн исправил, где надо укоротил, где надо удлинил, все теперь хорошо. Мне бы какую-нибудь ссылочку на книжку, где про эту конструкцию почитать можно, т.к у нас куплено еще много антенн, которые вообще в другом диапазоне оказались(~300 МГц) и для них придется эту латунную трубку городить самому.
  21. Товарищи, купили на али штыревые антенны на 868 МГц(для LoRA) у разных продавцов, а они оказались все разные. Ставим одну в прибор, измеряем КСВ = 1.2 .. 1.5. Нормально. Ставим другую, измеряем КСВ = 3.0 .. 4.5 Можно ли как-то доработать эти антенны ? Пластиковый кожух снимается легко. И второй вопрос: Если я например в RfSim99 рассчитаю плату согласования импеданса, то есть ли разница куда ее поставить: рядом с антенным гнездом или рядом с радиомодулем ? Длина кабеля от радиомодуля до антенны ~ 40 см.
  22. У Segger'a на сайте есть бесплатный отладчик Ozone, он может подцепиться к уже работающему процессу. Наверно и отладочную информацию можно ему скормить, чтобы все красиво было. Правда нужен J-Link.
  23. Это не особо надежно. Как я понимаю из более-менее надежных решений выбор такой: 1. Пишем во внутренний флэш МК STM32H743. Из плюсов: хорошая защищенность от хацкеров. Из минусов: если криво запишется, то возможно программа перестанет вообще работать. 2. Ставим ещё один МК, у которого есть внутренний EEPROM(STM32L051 например). Из плюсов: большой ресурс. Если криво запишется, можно восстановить из резервной области. Из минусов: плохая защищенность от хацкеров. Я склоняюсь к варианту 1..
  24. А как шифрование EEPROM'ки поможет от снятия ее дампа в начале срока аренды. А в конце срока аренды записи этого дампа обратно в EEPROM ? Про FRAM спасибо, подумаю.
×
×
  • Создать...