Создание плагина для clang static analyzer для поиска целочисленных переполнений

Фильтры

Выбор интерфейса для захвата

$ sudo tshark -D

1. eth0
2. any
3. lo (Loopback)
4. nflog
5. nfqueue
6. usbmon1
$ sudo tshark -i eth0
$ sudo tshark -i eth0 host 192.168.1.100
$ sudo tshark -i eth0 src host 192.168.1.100 
$ sudo tshark -i eth0 dst host 192.168.1.100 
$ sudo tshark -i eth0 src net 192.168.1.0/24
$ sudo tshark -i eth0 host 192.168.1.1 and port 80
$ sudo tshark -i eth0 -a duration:10 -w traffic.pcap

Фильтры чтения

$ sudo tshark -R "правило" -r "путь к файлу"
$ sudo tshark -R "ip.addr == 192.168.0.1" -r /tmp/capture.cap
$ sudo tshark -R "!(ip.addr == 192.168.0.1)" -r /tmp/capture.cap 
$ sudo tshark -R  "eth.addr == 00:08:15:00:08:15" -r /tmp/capture.cap

$ sudo tshark -R "udp.port == 80" -r /tmp/capture.cap

$ sudo tshark -R "tcp.port == 80" -r /tmp/capture.cap
$ sudo tshark -R "not arp and not (udp.port == 53)" -r /tmp/capture.cap

BetRadar

Софт мирового уровня, который используется преимущественно букмекерскими конторами и игроками хайроллерами. Бренд принадлежит компании Sportradar. В числе клиентов такие БК как: Bet365, Sbobet, WilliamHill, Winline, «Марафон» и др. Простому смертному беттору линейка продуктов «Бетрадара» не по карману.  Цифры, называемые в сети, разнятся, но очевидно, что окончательная стоимость ПО зависит от конечной комплектации. Например, полный пакет инструментов завесит не менее чем на 15000$, а статистическую базу можно приобрести отдельно за 1500$ и оплачивать ежемесячно обновления.


Ознакомиться с возможностями BetRadar можно на официальном сайте betradar.com. Отрадно, что для большинства модулей есть демо-версия. Для некоторых инструментов имеется версия для браузера, т.е. необязательно скачивать ПО на компьютер и устанавливать, как обычную программу.

Неполный перечень того, какие инструменты можно заказать на «Бетрадар»:

  • сервис мониторинга прематч и лайв-коэффициентов;
  • статистическая база – 40 видов спорта, 1900 турниров, включая 500 футбольных лиг;
  • инфографика для live;
  • результаты лайв;
  • прямые трансляции;
  • BetAssist.

Среднестатистический беттор может с пользой для себя использовать демо-версии BetAssist и базы статистики. Первый продукт высчитывает на основе результатов предыдущих игр вероятности основных исходов, тоталы и т.п. Это отличная замена всяким эксель-таблицам. Минус – триал рассчитан только на футбол и баскетбол. А вот база статистики даже в ее урезанном варианте удовлетворит запросы самого взыскательного клиента: таблицы турнира, бомбардиров, успешность игры дома/в гостях, личные встречи и т.д.

Наш скептицизм

  1. Вручную обучить статический анализатор искать различные проблемы, используя синтетические и реальные примеры кода;
  2. Обучить алгоритмы на большом количестве открытого исходного кода (GitHub) и истории изменений, после чего анализатор сам начнёт выявлять ошибки и даже предлагать правки.

Примечание.

Обучение статического анализатора «вручную»

V501V3001V6001

  • if (X && A == A)
  • if (A + 1 == A + 1)
  • if (A == A)
  • if ((A) == (A))
  • и так далее.
  • malloc
  • memcmp
  • string::empty

V530

Chromium: утечки памяти(pkey.n0inv == 0)nBnNewфрагменты кодаАналогия. Вывод

Обучение на большом количестве открытого исходного кода

Первый нюанс. Источник данных.Второй нюанс. Отставание в развитии.появилисьJEP 325constexpr if

push_back__begin__endV789реальные ошибкитри случаяуказатель разыменовывается до проверкиТретий нюанс. Документация.документацииCWE

memcmpintV642

java.io.ObjectOuputStreamV6076понимать ПримечаниеЧетвёртый нюанс. Узкоспециализированные языки.3,128,8841C551 Серебряная ПуляПятый нюанс. C, C++, #includeпрепроцессирование

(x == «y»)m_name

std::string

ПримечаниеШестой нюанс. Цена устранения ложных срабатываний.V789

Седьмой нюанс. Редко используемые функции и длинный хвост.strcmp

  • strcmp — 40,462,158
  • stricmp — 1,256,053
  • Странно, если строка сравнивается сама собой. Это исправляют.
  • Странно, если один из указателей NULL. Это исправляют.
  • Странно, что результат работы этой функции не используют. Это исправляют.
  • И так далее.
  • g_ascii_strncasecmp — 35,695
  • lstrcmpiA — 27,512
  • _wcsicmp_l — 5,737
  • _strnicmp_l — 5,848
  • _mbscmp_l — 2,458
  • и т.д.
  • WinAPI
  • стандартная библиотека C,
  • стандартная библиотека шаблонов (STL),
  • glibc (GNU C Library)
  • Qt
  • MFC
  • zlib
  • libpng
  • OpenSSL
  • и т.д.

strcmp malloc_fread_nolockfread

  1. Ничего не делать. Это путь в никуда.
  2. Обучать анализатор, написав сотни примеров только для одной этой функции, чтобы анализатор понял взаимосвязь между размером буфера и другими аргументами. Да, так поступить можно, но это экономически нерационально. Это путь в никуда.
  3. Можно придумать способ, аналогичный нашему, когда аннотации к функциям будут задаваться вручную. Хороший, разумный способ. Вот только ML тогда тут вообще ни при чём :). Это возврат к классическому способу написания статических анализаторов.

поймёт его_fread_nolockmemmove

__builtin___memmove_chkmemmoveпервый попавшийся вариант на ассемблереПрочие нюансы

  • Устаревшие рекомендации. Как уже говорилось, языки меняются, меняются и рекомендации по их использованию. В случае обучения на коллекциях старого исходного кода может возникнуть ситуация, когда анализатор в какой-то момент будет выдавать устаревшие рекомендации. Пример. Раньше C++ программистам рекомендовалось вместо сырых указателей перейти к использованию auto_ptr. Теперь этот умный указатель считается устаревшим и рекомендуется использовать unique_ptr.
  • Модели данных. Как минимум, в языках C и C++ существует такое понятие, как модель данных. Это означает, что типы данных имеют различную разрядность на различных платформах. Если это не учитывать, то можно неверно обучить анализатор. Например, тип long в Windows 32/64 всегда имеет разрядность 32 бита. А вот в Linux его размер будет меняться и занимать 32/64 бита в зависимости от разрядности платформы. Не учитывая всё это, анализатор может научиться неправильно считать размеры типов и образуемых им структур. А ведь типы ещё и выравниваются по-разному. Всё это, конечно, можно учесть. Можно научить анализатор знать про размеры типов, их выравнивание и разметить проекты (указать как они собираются). Однако всё это дополнительная сложность, про которую нет упоминаний в исследовательских статьях.
  • Однозначность поведения. Раз мы говорим про ML, то результат анализа, скорее всего, будет иметь вероятностный характер. Т.е. иногда ошибочный паттерн будет распознаваться, а иногда — нет, в зависимости от того, как написан код. По нашему опыту мы знаем, что пользователя крайне раздражает неоднозначность поведения анализатора. Он хочет точно понимать, какой паттерн будет считаться ошибочным, а какой — нет, и почему. В случае классического подхода написания анализаторов эта проблема выражена слабо. Только иногда нам приходится объяснять клиентам, почему вот здесь есть/нет срабатывания анализатора, объясняя, как работает алгоритм, и обработка каких исключений в него заложена. Алгоритмы чётки и всегда всё можно легко пояснить. Пример подобного общения: «Ложные срабатывания в PVS-Studio: как глубока кроличья нора». Как будут решать описанную проблему в анализаторах, построенных на обучении, непонятно.

Современные компиляторы

Может показаться забавным, но одними из самых эффективных анализаторов кода являются сами компиляторы. Конечно, предназначены они совсем для другого, но в качестве бонуса каждый из них предлагает неплохой верификатор исходников, способный обнаружить большое количество ошибок. Почему же он не спасает? Изначально настройки такой верификации кода выставлены достаточно лояльно: в результате, чтобы не смущать программиста, компилятор начинает ругаться только в случае самых серьезных косяков. А вот и зря — если поставить уровень предупреждений повыше, вполне реально откопать немало сомнительных мест в коде. Выглядит это примерно следующим образом. Скажем, в коде есть отсутствие проверки на длину строки перед копированием ее в буфер. Сканер находит функцию, копирующую строку (или ее фрагмент) в буфер фиксированного размера без предварительной проверки ее длины. Он прослеживает траекторию передачи аргументов: от входных данных до уязвимой функции и смотрит: возможно ли подобрать такую длину строки, которая бы вызывала переполнение в уязвимой функции и не отсекалась бы предшествующими ей проверками. В случае если такой проверки нет, находим практически 100% переполнение буфера. Главная сложность в использовании для проверки компилятора — заставить его «проглотить» чужой код. Если ты хоть раз пытался скомпилировать приложение из исходников, то знаешь, насколько сложно удовлетворить все зависимости, особенно в больших проектах. Но результат стоит того! Тем более, помимо компилятора в мощные IDE встроены и некоторые другие средства для анализа кода. К примеру, на следующий участок кода в Visual Studio будет выдано предупреждение об использовании в цикле функции _alloca, что может быстро переполнить стек:

В этом заслуга статического анализатора PREfast. Подобно FxCop, предназначенной для анализа управляемого кода, PREfast изначально распространялся в виде отдельной утилиты и лишь позже стал частью Visual Studio.

Возможности

Основные возможности сводятся к удобной отладке HTTP-запросов, да и кнопочки на скриншотах выше достаточно очевидны.

Этим сейчас никого не удивишь, если бы не одно БОЛЬШОЕ НО.

Программа дает возможность удобно просматривать потоковые запросы.


Т.е, например, отлаживаете Вы чат. А он держит непрерывный iframe, через который сервер передает данные. Программы типа Fiddler будут честно ждать конца запроса, чтобы показать Вам его, а IE HTTP Analyzer не менее честно будет сбрасывать поток пред Ваши светлы очи.

Есть расширение для Fiddler, которое позволяет включать Streaming mode, и наверняка существуют другие специализированные прокси для отладки таких соединений, но IE HTTP Analyzer почему-то понравился больше всех.

Запросы могут поступать все новые и новые, но в панели инспектора есть кнопка , которая управляет автопереходом к следующему запросу. При анализе потока она должна быть выключена.

Эта «потоковость» IE Http Analyzer- один из важных его плюсов.

В отличие от правил на языке JScript.NET, которые используются для фильтрации в Fiddler, здесь фильтры на интересующие Вас запросы можно конструировать из стандартных компонент, объединяя их условиями ИЛИ/И.

Очистка куков и кеша браузера. Проверено, работает.

Программа платная, хотя, конечно, пиратские версии ее есть. В остальном — пользуюсь, доволен.

Анализатор PVS-Studio: выявления потенциальных проблем совместимости Java SE API

2019 был очень насыщенным годом в плане конференций. Наша команда могла уезжать на целые недели в командировки. А как известно, конференция – время делиться знаниями. Помимо того, что мы выступали с докладами и много интересного рассказывали на нашем стенде, мы также узнавали много нового от общения с участниками конференции и от докладчиков. Так вот на осенней конференции Joker 2019 доклад от Dalia Abo Sheasha «Migrating beyond Java 8» вдохновил нас на реализацию нового диагностического правила, которое позволяет выявлять несовместимости в Java SE API между разными версиями Java. Об этом и пойдет речь.

Руководство по быстрому выбору (ссылки на скачивание бесплатных программ анализа пространства жесткого диска)

SpaceSniffer

  Древовидный подход к представлению данных, поддержка фильтров, настройка цветового отображения. Для своей работы не требуется установка. Содержит руководство.
  Нет статистики.
 
  —————
  1501 KB  1.1.4.0  Unrestricted freeware  Win 98 — Win 7
     
  Только портативная версия

Folder Size

  Высокая гибкость, всеобъемлющие отчеты, отображение в виде круговой диаграммы
  —————
  1.75 MB  2.9.0.0  Unrestricted freeware  Windows 95/98/ME/NT4/2000/XP/2003/Vista/Windows 7
     

GetFolderSize

  Множество различных опций. Быстро работает.
  ————
  2.38 MB  2.5.24  Unrestricted freeware  Windows XP/Vista/7
     

Scanner

  Прекрасные визуальные эффекты. Для работы не требуется установка.
  ————
  243 KB  2.13  Unrestricted Freeware  Windows XP и выше
     

JDiskReport

  Визуально привлекательный. Имеет очень полезные опции по настройке отображения на экране. Будет работать на любом компьютере, где установлена Java.
  —————
  613 KB  1.4.0  Unrestricted Freeware  Java

Рубрики:

  • анализатор
  • диск
  • измеритель
  • размер
  • Лучшие бесплатные утилиты для тестирования памяти
  • Лучшие бесплатные программы архиваторы для создания архивов файлов

FEATURES INCLUDE

Arbutus Connect — a comprehensive suite of new data connectors (Active Directory, Excel, MySQL, SQL Server, etc)

Speed time to visualization — export directly to Tableau TDE format

Improved security — prevent local storage with Arbutus Server configuration

Arbutus SmartApps — access 60+ SmartApps automatically as part of install

Arbutus QuickStats — highlight cells to see total, average, and count

Expanded Fuzzy Matching — improve audit findings with meaningful fuzzy matches using Dice’s Coefficient

ArbutusLearning — new online learning portal.  Get up to speed quickly and work at your own pace OR refresh your Arbutus skillsets if you haven’t been to training in a while.

Анализ дискового пространства

Один из способов выяснить, какие файлы «съедают» дисковое пространство (что особенно важно, когда место на вашем диске кончается) — это использование специальных утилит, которые позволяют визуально отобразить использование дискового пространства. Другими словами провести анализ диска

Есть множество отличных бесплатных утилит, которые главным образом отличаются именно в способе визуального представления информации.


Такие анализаторы дискового пространства в основном представляют информацию в виде проводника (с файлами и папками с указанием их размеров). Обычно построение визуального отображения идет из расчета пропорционального представления занимаемого дискового пространства файлами от всего пространства (т.е. чем больше файл, тем заметнее он выделен). Такое представление размеров позволяет быстро находить большие файлы.

Начало работы

$ sudo apt-get install tshark
$ sudo tshark
Capturing on eth0
0.000000 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.120? Tell 31.186.98.1
0.322046 5a:58:74:bf:a9:9c -> Broadcast ARP Who has 31.186.98.77? Tell 31.186.98.226
0.351801 31.186.98.235 -> 188.93.16.50 SSH Encrypted response packet len=224
0.352414 188.93.16.50 -> 31.186.98.235 TCP cap > ssh  Seq=1 Ack=225 Win=331 Len=0 TSV=194287231 TSER=416767897
0.600054 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.120? Tell 31.186.98.1
0.622913 Cisco_0d:0d:96 -> PVST+ STP Conf. Root = 32768/398/00:21:1c:0d:0d:80 Cost = 0 Port = 0×8016
0.800377 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.107? Tell 31.186.98.1
1.320775 31.186.98.235 -> 188.93.16.50 SSH Encrypted response packet len=528
1.321507 188.93.16.50 -> 31.186.98.235 TCP cap > ssh  Seq=1 Ack=753 Win=331 Len=0 TSV=194287474 TSER=416768866
1.322109 5a:58:74:bf:a9:9c -> Broadcast ARP Who has 31.186.98.77? Tell 31.186.98.226
1.400654 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.107? Tell 31.186.98.1
1.589797 Cisco_0d:0d:96 -> PVST+ STP Conf. Root = 32768/401/00:21:1c:0d:0d:80 Cost = 0 Port = 0×8016
2.100769 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.107? Tell 31.186.98.1
2.322163 5a:58:74:bf:a9:9c -> Broadcast ARP Who has 31.186.98.77? Tell 31.186.98.226
2.322764 31.186.98.235 -> 188.93.16.50 SSH Encrypted response packet len=720
2.323594 188.93.16.50 -> 31.186.98.235 TCP cap > ssh  Seq=1 Ack=1473 Win=331 Len=0 TSV=194287724 TSER=416769868
2.520048 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.64? Tell 31.186.98.1
2.635370 Cisco_0d:0d:96 -> PVST+ STP Conf. Root = 32768/398/00:21:1c:0d:0d:80 Cost = 0 Port = 0×8016
3.200299 88:e0:f3:b6:47:c0 -> Broadcast ARP Who has 31.186.98.64? Tell 31.186.98.1
3.451774 31.186.98.235 -> 188.93.16.50 SSH Encrypted response packet len=528

Причины ошибок в файле Httpanalyzerff5v6.dll

Большинство ошибок httpanalyzerff5v6.dll связано с отсутствием или повреждениями файлов httpanalyzerff5v6.dll. Тот факт, что httpanalyzerff5v6.dll – внешний файл, открывает возможность для всяческих нежелательных последствий.

Непредвиденные завершения работы вашего компьютера или заражение вирусом может повредить httpanalyzerff5v6.dll, что приведет к ошибкам dll. Когда файл httpanalyzerff5v6.dll повреждается, он не может быть нормально загружен и выведет сообщение об ошибке.

В других случаях ошибки файла httpanalyzerff5v6.dll могут быть связаны с проблемами в реестре Windows. Нерабочие ссылки DLL файлов могут помешать зарегистрировать файл dll должным образом и вызвать ошибку httpanalyzerff5v6.dll. Эти нерабочие ключи реестра могут появиться в результате отсутствия файла DLL, перемещения файла DLL или ввиду наличия остаточной ссылки DLL файла в реестре Windows после неудачной установки или удаления программы.

Более конкретно, данные ошибки httpanalyzerff5v6.dll могут быть вызваны следующими причинами:

  • Ошибочные или поврежденные записи реестра для httpanalyzerff5v6.dll
  • Вирус или вредоносное ПО, повредившее файл httpanalyzerff5v6.dll.
  • Отказ оборудования IEInspector Software, например, некачественный жесткий диск, вызвавший повреждение файла httpanalyzerff5v6.dll.
  • Другая программа изменила требуемую версию httpanalyzerff5v6.dll.
  • Другая программа злонамеренно или по ошибке удалила файл httpanalyzerff5v6.dll.
  • Другая программа удалила файл httpanalyzerff5v6.dll.

A. About ME Analyzer

ME Analyzer is a tool which parses Intel Engine, PMC & PCHC firmware images from the (Converged Security) Management Engine, (Converged Security) Trusted Execution Engine, (Converged Security) Server Platform Services, Power Management Controller & Platform Controller Hub Configuration families. It can be used by end-users who are looking for all relevant firmware information such as Family, Version, Release, Type, Date, SKU, Platform etc. It is capable of detecting new/unknown firmware, checking firmware health, Updated/Outdated status and many more. ME Analyzer is also a powerful Engine firmware research analysis tool with multiple structures which allow, among others, full parsing and unpacking of Converged Security Engine (CSE) code & file system, Flash Partition Table (FPT), Boot Partition Descriptor Table (BPDT/IFWI), CSE Layout Table (LT), CSE File Table (FTBL), advanced Size detection etc. Moreover, with the help of its extensive database, ME Analyzer is capable of uniquely categorizing all supported Engine firmware as well as check for any firmware which have not been stored at the Intel Engine Firmware Repositories yet.

A1. ME Analyzer Features

  • Supports all Engine firmware Families (CS)ME 2-14, (CS)TXE 0-4, (CS)SPS 1-5
  • Supports all types of firmware images (Engine Regions, SPI/BIOS etc)
  • Detection of Family, Version, SKU, Date, Revision, Platform etc info
  • Detection of Production, Pre-Production, ROM-Bypass etc Releases
  • Detection of Region (Stock/clean or Extracted/dirty), Update etc Types
  • Detection of Security Version Numbers (SVN), Version Control Number (VCN)
  • Detection of Power Management Controller (PMC) firmware Version, SKU etc
  • Detection of Platform Controller Hub Configuration (PCHC) firmware Version etc
  • Detection of whether the imported Engine firmware is updated or not
  • Detection of unusual Engine firmware (Corrupted, Compressed, OEM etc)
  • Ability to fully unpack CSE firmware CSME 11+, CSTXE 3+ and CSSPS 4+
  • Ability to validate Engine RSA Signature and Region table checksums
  • Advanced detection & validation of Engine region’s firmware Size
  • Ability to detect & analyze Integrated Firmware Images (IFWI/BPDT)
  • Ability to analyze multiple files by drag & drop or by input path
  • Detection of unique Apple Macintosh Engine firmware «Slim» SKUs
  • Detection of multiple Engine regions in input file, number only
  • Ability to detect & categorize firmware which require attention
  • Reports all firmware which are not found at the Engine Firmware Repositories
  • Reports any new, unknown, problematic, incomplete etc Engine firmware images
  • Features command line parameters to enhance functionality & assist research
  • Features user friendly messages & proper handling of unexpected code errors
  • Shows colored text to signify the importance of notes, warnings & errors
  • Open Source project under permissive license, comment assisted code

Ounce 6

Сайт: www.ouncelabs.com/products Лицензия: Shareware Платформа: Windows

Увы, существующие бесплатные решения пока на голову ниже, чем коммерческие аналоги. Достаточно изучить качество и детальность отчета, который составляет Ounce 6 – и понять, почему. В основе программы лежит специальный анализирующий движок Ounce Core, который проверяет код на соответствие правилам и политикам, составленными командой профессиональных пентестеров, аккумулировавших опыт известных security-компаний, хакерского комьюнити, а также стандартов безопасности. Программа определяет самые разные уязвимости в коде: от переполнения буфера до SQL-инъекций. При желании Ounce несложно интегрируется с популярными IDE, чтобы реализовать автоматическую проверку кода во время сборки каждого нового билда разрабатываемого приложения. Кстати говоря, компанию-разработчика — Ounce Labs — летом этого года приобрела сама IBM. Так что продукт, скорее всего, продолжит развитие уже как часть одного из коммерческих приложений IBM.

3Примеры работы с логическим анализатором

Для первого эксперимента возьмём преобразователь USB-UART на микросхеме FTD1232. Подключим анализатор к порту USB. Выводы каналов с 1 по 6 подключим к выводам USB-UART преобразователя. По большому счёту, больше всего нас интересует только две линии – Rx и Tx, можно обойтись только ими. Преобразователь определился в системе как COM-порт. Запустим любую терминалку (вот, например, неплохая программа для работы с COM-портом) и подключимся к порту.

Подключение USB-UART конвертера на микросхеме FTD1232 к логическому анализатору

Запускаем программу Saleae Logic. Если драйверы для анализатора установлены корректно, в заголовке программы будет указано Connected – подключено. Допустим, мы не знаем на каком канале будет сигнал, а на каком нет, поэтому не будем выставлять триггер для начала захвата сигнала. Просто нажмём на стрелки большой зелёной кнопки Start (Старт) и выставим в поле Duration (Длительность), скажем, 10 секунд. Это время, в течение которого логический анализатор будет собирать приходящие по всем 8-ми каналам данные после нажатия кнопки «Старт». Запускаем захват и одновременно отправляем в COM-порт какое-нибудь сообщение. Через 10 секунд анализатор закончит сбор данных и выведет результат в поле просмотра сигналов. В данном случае сигнал будет лишь на одном канале, который присоединён к выводу Tx (передатчик) USB-UART преобразователя.

Последовательный сигнал, захваченный логическим анализатором

Для наглядности можно настроить декодер перехваченных данных. Для этого в правом столбце находим поле Analyzers, нажимаем иконку в виде плюса – «Добавить», указываем тип – Async Serial. Появится окно с выбором настроек. В первое поле вводим номер канала, на котором у вас данные. Остальное оставим как есть. После нажатия кнопки Save (Сохранить), над полем соответствующего канала появятся метки голубого цвета с отображением значений байтов, которые были перехвачены. Нажав на шестерёнку в данном дешифраторе, можно задать режим отображения значений – ASCII, HEX, BIN или DEC. Если вы передавали в COM-порт строку, выберите режим ASCII, и увидите тот текст, который был вами передан в порт.

Настройки декодера данных

Тут же, в правом столбце программы Saleae Logic, можно добавлять к перехваченным данным закладки, проводить измерения задержек и длительностей, выставлять всевозможные маркеры и даже проводить поиск по данным для декодированных протоколов.


Аналогичным образом подключим логический анализатор к преобразователю USB-RS485. Линии данных всего две, поэтому можно установить триггер срабатывания по фронту любого из каналов: сигнал в протоколе RS-485 дифференциальный и фронты импульсов появляются одновременно на каждом из каналов, но в противофазе.

Подключение конвертера USB-RS485 к логическому анализатору

Нажмём кнопку «Старт» в программе анализатора. С помощью нашей терминалки подключимся к USB-RS485 конвертеру и передадим какие-нибудь данные. По срабатыванию триггера программа начнёт собирать данные, по завершению выведет их на экран.

Последовательный сигнал RS485, захваченный логическим анализатором

Программа Saleae Logic позволяет экспортировать сохранённые данные в виде изображений и текстовых данных, сохранять настройки программы, аннотации и декодеры каналов.

Последний пример в данном небольшом обзоре – захваченный кадр данных, переданный по последовательному протоколу SPI. В канале 2 виден сигнал выбора ведомого, в канале 0 – тактовые импульсы, а в канале 1 – собственно данные от ведущего устройства к ведомому.

Последовательный сигнал SPI, захваченный логическим анализатором

Выводы

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

«Вай-фай Анализер» — чудо программа

Всего за пару секунд можно получить всю полезную информацию о своем и чужом Wi-Fi, которая содержит данные о наполненности сети и качестве получаемого трафика. Когда проверка будет окончена, станут доступны две вкладки:

  • Первая содержит данные о качестве приема и передачи сигнала. Вкладка поможет быстро определить, к какому источнику лучше всего подключиться, а какой переполнен.
  • Вторая вкладка предоставляет данные о каждом канале в индивидуальном порядке. В ней можно узнать, насколько именно загружен выбранный канал связи. Обе вкладки поданы в виде таблиц с удобным обозначением в виде графиков разных цветов. Слева от них находятся все найденные сети, а справа наверху — раздел настроек приложения.

FutAnaliz

«Футбольный анализ» – программа-анализатор статистики. По техническим характеристикам и принципу работы напоминает Tenanaliz. Представляет собой обширную базу футбольных данных, с помощью которых можно проанализировать практически любую игру. Естественно, что ПО не может гарантировать точного прогноза, как и любой др. софт подобного рода, его стоит рассматривать в качестве помощника при сборе и интерпретации информации.

Стоимость ключа – 6000 рублей, продление – 1200 рублей. Базы данных обновляются бесплатно. В комплекте идет видео и примеры использования.

Завершим материал все-таки несколькими Excel-калькуляторами, которые, строго говоря, не являются самодостаточными программами, но в виду бесплатного характера распространения должны быть в арсенале беттора.


С этим читают