diff --git a/frontend/help-ru.html b/frontend/help-ru.html index 08fbc4a..dd986e5 100644 --- a/frontend/help-ru.html +++ b/frontend/help-ru.html @@ -44,17 +44,17 @@

2. Вкладка C-APDU

-

Построение командных APDU (C-APDU). Шесть подвкладок охватывают разные поколения карт и наборы команд: SIM RFM, USIM RFM, Expanded Script, RAM/GP, HTTP OTA и C-APDU Parser.

+

Построение командных APDU (C-APDU). Шесть подвкладок охватывают разные поколения карт и наборы команд: SIM RFM, USIM RFM, Expanded Script, RAM/GP, HTTP OTA и Разбор C-APDU.

2.1 SIM RFM

CLA = A0 (GSM 11.11 / TS 151 011, ISO 7816-4). Удалённое управление файлами классических SIM-карт.

-

Команды собираются в виде цепочки: нажмите кнопку + Command, чтобы добавить строку, заполните её поля — предпросмотр цепочки (над кнопкой упаковки) обновится автоматически. Добавьте строку GET RESPONSE, чтобы получить данные после SELECT. Кнопка Pack into Secured packet упаковывает всю цепочку в пакет SCP80.

+

Команды собираются в виде цепочки: нажмите кнопку + SELECT (или другую командную кнопку), чтобы добавить строку, заполните её поля — предпросмотр цепочки (над кнопкой упаковки) обновится автоматически. Добавьте строку GET RESPONSE, чтобы получить данные после SELECT. Кнопка Упаковать в Secured packet упаковывает всю цепочку в пакет SCP80.

@@ -138,7 +138,7 @@

Декодирование ответов (TS 102 226 §5.2.2)

-

Входящие ответы Proof of Receipt декодируются сервером — формат expanded Remote Application response data (TS 102 226 §5.2.2) или компактный формат. Представление Secured Packet показывает результат после Send to Card (см. §3.1): статус PoR (TAR, счётчик, сырой PoR), а статусное слово и данные ответа последней команды подставляются на вкладку Response parser.

+

Входящие ответы Proof of Receipt декодируются сервером — формат expanded Remote Application response data (TS 102 226 §5.2.2) или компактный формат. Представление Secured Packet показывает результат после Отправить на карту (см. §3.1): статус PoR (TAR, счётчик, сырой PoR), а статусное слово и данные ответа последней команды подставляются на вкладку «Парсер ответов».

2.4 RAM/GP

CLA = 80 (GlobalPlatform Card Specification v2.3.1). Команды удалённого управления приложениями. Строятся тем же сборщиком цепочки, что и SIM/USIM.

@@ -204,14 +204,14 @@
  • Nibble swap — поменять пары полубайтов hex-строки чётной длины.
  • -

    2.6 C-APDU Parser

    +

    2.6 Разбор C-APDU

    Вставка raw APDU hex и отображение сворачиваемого дерева. Автоматически определяет контейнер: Expanded Script (начало AA или AE80, декодируется по ETSI TS 102 226 §5.2.1) или Compact C-APDU chain (последовательность C-APDU ISO 7816). Каждый узел показывает метку, hex и краткое описание; родительские узлы раскрываются в подэлементы.

    2.7 HTTP OTA

    Сборка payload’ов Remote Application Management over HTTP по GlobalPlatform GPC v2.2 Amendment B v1.1 (§4.7). Два режима:

    Разделы соответствуют таблицам спецификации:

    КомандаINSОписание
    @@ -223,13 +223,13 @@
    HTTP POST89Таблицы 4-8/9/10: Host-заголовок (8A), X-Admin-From agent ID (8B), URI (8C) — текст преобразуется в октеты.
    -

    Command Scripting template (флажок) оборачивает всю команду 81 в формат Expanded Remote Application data с определённой длиной (AA, ETSI TS 102 226 §5.2.1) для TAR-ов, обрабатывающих расширенный формат (RAM-over-HTTP §4.7).

    -

    Pack into Secured packet отправляет готовый payload на вкладку SCP80 для заполнения SPI/счётчика — там укажите TAR, который слушает SD (обычно TAR OTASD).

    +

    Флажок Обёртка в Command Scripting template ('AA') оборачивает всю команду 81 в формат Expanded Remote Application data с определённой длиной (AA, ETSI TS 102 226 §5.2.1) для TAR-ов, обрабатывающих расширенный формат (RAM-over-HTTP §4.7).

    +

    Упаковать в Secured packet отправляет готовый payload на вкладку SCP80 для заполнения SPI/счётчика — там укажите TAR, который слушает SD (обычно TAR OTASD).

    3. Вкладка SCP80

    -

    Верхнеуровневая вкладка SCP80 объединяет разделы, связанные с SCP80. Переключение — тремя переключателями: Secured Packet, Cards и RAM. Собирает защищённые пакеты SCP80 по ETSI TS 102 225.

    +

    Верхнеуровневая вкладка SCP80 объединяет разделы, связанные с SCP80. Переключение — тремя переключателями: Secured Packet, Карты и RAM. Собирает защищённые пакеты SCP80 по ETSI TS 102 225.

    3.1 Secured Packet

    Собирает защищённые пакеты SCP80 по ETSI TS 102 225.

    @@ -260,9 +260,9 @@
  • AES требует счётчик с защитой от повтора: биты SPI1 b5 b4 должны быть 10 (счётчик больше) или 11 (счётчик +1) согласно TS 102 225 §5.1.2/§5.1.3.1
  • Байт паддинга настраивается (00 по умолчанию или FF)
  • -

    Кнопка «Verify vs pySim» сверяет собранный пакет с эталонной реализацией OtaDialectSms.encode_cmd. Кнопка «Send to Card» доставляет пакет через ENVELOPE SMS-PP-DOWNLOAD (при подключении к серверу). Полученный Proof of Receipt декодируется и показывается строкой статуса PoR (статус, TAR, счётчик, сырой PoR); статусное слово и данные ответа последней команды подставляются на вкладку Response parser, а успешный PoR увеличивает счётчик повторов и очищает пакет.

    +

    Кнопка Проверить в pySim сверяет собранный пакет с эталонной реализацией OtaDialectSms.encode_cmd. Кнопка Отправить на карту доставляет пакет через ENVELOPE SMS-PP-DOWNLOAD (при подключении к серверу). Полученный Proof of Receipt декодируется и показывается строкой статуса PoR (статус, TAR, счётчик, сырой PoR); статусное слово и данные ответа последней команды подставляются на вкладку «Парсер ответов», а успешный PoR увеличивает счётчик повторов и очищает пакет.

    -

    3.2 Cards

    +

    3.2 Карты

    Хранит предустановки карт локально в браузере (localStorage), чтобы представление Secured Packet могло автоматически подставлять ключи и параметры.

    @@ -276,33 +276,33 @@
    ПолеОписание
    KIc key / KID key16/24/32 hex-символа (ключи 8/16/24 байта 3DES) или 32/48/64 hex-символа (ключи 16/24/32 байта AES)
    -

    Обмен предустановками: Export as JSON и Export to file для выгрузки, Import from file, Paste & import или Import JSON from clipboard для загрузки. Выбранная предустановка автоматически заполняет форму Secured Packet.

    +

    Обмен предустановками: Экспорт в JSON и Экспорт в файл для выгрузки, Импорт из файла, Вставить и импортировать или Импорт JSON из буфера для загрузки. Выбранная предустановка автоматически заполняет форму Secured Packet.

    3.3 RAM

    -

    Выполняет операции удалённого управления приложениями (Remote Application Management) как защищённые пакеты SCP80 через SMS-PP-DOWNLOAD ENVELOPE. Карта должна поддерживать SCP03 (AES или 3DES). Предустановка карты из подвкладки Cards обеспечивает SPI, ключи, TAR и счётчик.

    +

    Выполняет операции удалённого управления приложениями (Remote Application Management) как защищённые пакеты SCP80 через SMS-PP-DOWNLOAD ENVELOPE. Карта должна поддерживать SCP03 (AES или 3DES). Предустановка карты из подвкладки Карты обеспечивает SPI, ключи, TAR и счётчик.

    Операции

    - - + +
    ОперацияОписание
    Explore Card (all GP data)Запрос GET STATUS для ISD, приложений, ELF и модулей ELF, а также GET DATA FF21 для информации о памяти. Результаты отображаются в обзоре с кнопками Delete для каждого элемента.
    Install Package (.cap file)Отправка .cap файла на карту через сервер: INSTALL[for load] → LOAD ×N → INSTALL[for install (+make selectable)].
    Обзор карты (все данные GP)Запрос GET STATUS для ISD, приложений, ELF и модулей ELF, а также GET DATA FF21 для информации о памяти. Результаты отображаются в обзоре с кнопками Удалить для каждого элемента.
    Установка пакета (.cap файл)Отправка .cap файла на карту через сервер: INSTALL[for load] → LOAD ×N → INSTALL[for install (+make selectable)].

    Обзор карты (Explorer View)

    -

    После выполнения «Explore Card» отображается:

    +

    После выполнения «Обзор карты» отображается:

    Удаление подтверждается через диалог браузера перед отправкой команды GP DELETE через SCP80. Обзор автоматически обновляется после успешного удаления.

    -

    4. Вкладка Response parser

    -

    Декодирует raw-ответ команды: выберите отправленную команду, введите SW (например, 9000) и hex данных ответа, затем нажмите Decode. Поля также автоматически заполняются статусным словом и данными ответа последней команды после успешного «Send to Card» (см. §3.1).

    +

    4. Вкладка «Парсер ответов»

    +

    Декодирует raw-ответ команды: выберите отправленную команду, введите SW (например, 9000) и hex данных ответа, затем нажмите Декодировать. Поля также автоматически заполняются статусным словом и данными ответа последней команды после успешного нажатия Отправить на карту (см. §3.1).

    • Команда — группа SIM/USIM (SELECT, STATUS, READ/UPDATE, PIN-операции, CAT-команды типа TERMINAL PROFILE/ENVELOPE/FETCH/TERMINAL RESPONSE, MANAGE CHANNEL, …) или группа RAM/GP (INSTALL, LOAD, DELETE, GET/STORE DATA, auth, SCP-команды).
    • Декодирование SW — статусные слова разрешаются по generic-, UICC- (TS 102 221) и GlobalPlatform-таблицам, контекст определяется автоматически.
    • @@ -312,34 +312,34 @@
      -

      5. Вкладка Card reader (pySim)

      -

      Подключение к локальному pysim-otaman-server для работы с картой: введите URL сервера (по умолчанию http://127.0.0.1:8080) и нажмите Connect. Область статуса показывает состояние ридера/карты, а Equip card (пере)инициализирует карту после вставки. Подвкладки: File manager, Custom files, Profiler, pySim command line, Raw APDU и Proactive UICC.

      +

      5. Вкладка «Картридер» (pySim)

      +

      Подключение к локальному pysim-otaman-server для работы с картой: введите URL сервера (по умолчанию http://127.0.0.1:8080) и нажмите Подключиться. Область статуса показывает состояние ридера/карты, а Подключить карту (пере)инициализирует карту после вставки. Подвкладки: Файловый менеджер, Пользовательские файлы, Профайлер, Командная строка pySim, Отправка APDU и Проактивный UICC.

      -

      5.1 File manager

      +

      5.1 Файловый менеджер

      Дерево файловой системы отображается слева; выбор файла открывает панель деталей справа.

        -
      • Read — чтение файла (автоопределение transparent/record)
      • -
      • Edit — изменение hex-данных, Save для записи (или Cancel)
      • -
      • Raw / Decoded — переключение между hex-дампом и декодированным JSON
      • +
      • Прочитать — чтение файла (автоопределение transparent/record)
      • +
      • Редактировать — изменение hex-данных, Сохранить для записи (или Отмена)
      • +
      • Данные как на карте / Декодированные данные — переключение между hex-дампом и декодированным JSON
      -

      5.2 Custom files

      -

      Добавление файлов, не покрытых моделью pySim: введите полный путь (например, 3F00/7F20/6F46) и псевдоним (например, EF.SPN), затем нажмите Add; добавленные файлы появляются в дереве File manager. Список сохраняется в localStorage; обмен — Export as JSON / Export to file и Import from file / Paste & import / Import JSON from clipboard.

      +

      5.2 Пользовательские файлы

      +

      Добавление файлов, не покрытых моделью pySim: введите полный путь (например, 3F00/7F20/6F46) и псевдоним (например, EF.SPN), затем нажмите Добавить; добавленные файлы появляются в дереве «Файловый менеджер». Список сохраняется в localStorage; обмен — Экспорт в JSON / Экспорт в файл и Импорт из файла / Вставить и импортировать / Импорт JSON из буфера.

      -

      5.3 pySim command line

      +

      5.3 Командная строка pySim

      Выполнение любых команд pySim-shell с подсказками (300 мс) и автодополнением.

      -

      5.4 Raw APDU

      +

      5.4 Отправка APDU

      Отправка произвольного APDU и просмотр ответа.

      -

      5.5 Proactive UICC

      +

      5.5 Проактивный UICC

      Работа с сессией Card Application Toolkit: меню STK, подписанные события, журнал проактивных команд, словарь данных PROVIDE LOCAL INFORMATION и опрос STATUS.

      5.5.1 Меню STK

      -

      Если карта выдала команду SET UP MENU, вверху этого представления появляется блок «STK menu» с изумрудной кнопкой STK: <название>, открывающей оверлей меню (браузер STK-меню карты). Если карта не задала меню, вместо кнопки показывается «No menu set by the card». Состояние меню обновляется при каждом открытии представления.

      +

      Если карта выдала команду SET UP MENU, вверху этого представления появляется блок «Меню STK» с изумрудной кнопкой STK: <название>, открывающей оверлей меню (браузер STK-меню карты). Если карта не задала меню, вместо кнопки показывается «Меню не задано картой». Состояние меню обновляется при каждом открытии представления.

      5.5.2 Подписанные события (SET UP EVENT LIST)

      -

      События, которые отслеживает карта. У каждого события есть кнопка Send, открывающая форму, специфичную для типа события:

      +

      События, которые отслеживает карта. У каждого события есть кнопка Отправить, открывающая форму, специфичную для типа события:

      • События без данных (User Activity, Idle Screen, Data Available, …) — уведомление в один клик
      • Location Status — выпадающий список: Normal / Limited / No service (тег 9B)
      • @@ -349,7 +349,7 @@

        Отправка события использует ENVELOPE(Event Download) по TS 102 223 / TS 131 111.

        5.5.3 Журнал проактивных команд

        -

        Хронологический список извлечённых проактивных команд. Каждая строка показывает время, код типа, имя и декодированный квалификатор (для команд, у которых он есть). Для команд с данными ответа показывается строка Response: с байтами TERMINAL RESPONSE (без служебных TLV); ответы PROVIDE LOCAL INFORMATION декодируются через словарь данных PLI.

        +

        Хронологический список извлечённых проактивных команд. Каждая строка показывает время, код типа, имя и декодированный квалификатор (для команд, у которых он есть). Для команд с данными ответа показывается строка Ответ: с байтами TERMINAL RESPONSE (без служебных TLV); ответы PROVIDE LOCAL INFORMATION декодируются через словарь данных PLI.

        5.5.4 Словарь данных PROVIDE LOCAL INFORMATION

        Редактируемые hex-значения для всех 22 квалификаторов PLI (TS 102 223 §8.6 + TS 131 111). У десяти квалификаторов есть встроенные формы декодирования/кодирования:

        @@ -362,69 +362,69 @@

        Значения хранятся на сервере до перезапуска. Когда карта выдаёт PLI, сервер вставляет значения словаря в TERMINAL RESPONSE.

        5.5.5 Опрос STATUS

        -

        Кнопка Send STATUS отправляет STATUS (F2) вручную. Переключатель Polling включает фоновый опрос: после настраиваемого интервала бездействия (аргумент сервера --poll-interval, 1–255 с, по умолчанию 30 с) сервер отправляет STATUS и обрабатывает любую ожидающую проактивную команду. При извлечении карты опрос останавливается, а состояние карты сбрасывается.

        +

        Кнопка Отправить STATUS отправляет STATUS (F2) вручную. Переключатель Опрос включает фоновый опрос: после настраиваемого интервала бездействия (аргумент сервера --poll-interval, 1–255 с, по умолчанию 30 с) сервер отправляет STATUS и обрабатывает любую ожидающую проактивную команду. При извлечении карты опрос останавливается, а состояние карты сбрасывается.

        -

        5.6 Profiler

        +

        5.6 Профайлер

        Проверяет соответствие карты именованному профилю — упорядоченному набору правил, описывающих ожидаемую файловую систему и (опционально) содержимое файлов. Профили хранятся в localStorage.

        Список профилей

          -
        • New profile — создаёт пустой набор правил, запросив имя.
        • -
        • Profile from card — сканирует подключённую карту и создаёт по одному правилу на каждый существующий файл (см. ниже), затем открывает редактор.
        • -
        • Import profile — загружает набор правил из JSON-файла (имя хранится внутри JSON).
        • -
        • В каждой строке профиля показаны имя и время создания, а также действия Edit, Check, Export (скачать JSON) и Delete.
        • +
        • Новый профиль — создаёт пустой набор правил, запросив имя.
        • +
        • Профиль с карты — сканирует подключённую карту и создаёт по одному правилу на каждый существующий файл (см. ниже), затем открывает редактор.
        • +
        • Импорт профиля — загружает набор правил из JSON-файла (имя хранится внутри JSON).
        • +
        • В каждой строке профиля показаны имя и время создания, а также действия Редактировать, Проверить, Экспорт (скачать JSON) и Удалить.

        Правила файловой системы

        -

        Правила выполняются последовательно. Редактор показывает символьное имя файла pySim (если известно) рядом с путём правила; Add rule добавляет правило, Save сохраняет изменения. Правило файловой системы задаётся:

        +

        Правила выполняются последовательно. Редактор показывает символьное имя файла pySim (если известно) рядом с путём правила; Добавить правило добавляет правило, Сохранить сохраняет изменения. Правило файловой системы задаётся:

        • Путь — начинается с MF (например, MF/7F10/6F3A) или с AID ADF (например, A0000000871002/6F07).
        • -
        • Проверка FCP/FCI — какая часть информации об управлении файлом проверяется: Filetype only (FCP) (существование + тип файла), Filetype + size (FCP) (добавляются размер файла либо длина/число записей для record-файлов) или Exact FCI (добавляется побайтовое сравнение сырого ответа SELECT — шаблона FCP '62' — выявляет изменения FID/AID, жизненного цикла, атрибутов безопасности и проприетарных параметров).
        • +
        • Проверка FCP/FCI — какая часть информации об управлении файлом проверяется: Только тип файла (FCP) (существование + тип файла), Тип файла + размер (FCP) (добавляются размер файла либо длина/число записей для record-файлов) или Точный FCI (добавляется побайтовое сравнение сырого ответа SELECT — шаблона FCP '62' — выявляет изменения FID/AID, жизненного цикла, атрибутов безопасности и проприетарных параметров).
        • Атрибуты файла — тип файла, размер, длина записи и число записей из FCP-шаблона (любой можно оставить незаданным).
        • -
        • Проверить содержимое (опционально) — Exact (точное совпадение hex) или Mask, где ? — шаблон на один полубайт (маска без ? — совпадение префикса, например 0891 для MCC/MNC из IMSI). Для record-файлов хранится список по записям.
        • +
        • Проверить содержимое (опционально) — Точное (точное совпадение hex) или Маска, где ? — шаблон на один полубайт (маска без ? — совпадение префикса, например 0891 для MCC/MNC из IMSI). Для record-файлов хранится список по записям.
        -

        Check выполняет каждое правило на подключённой карте и показывает строку прогресса и отчёт прохождения. Рядом с путём файла указывается, что именно проверялось (например, тип файла и размер, содержимое или точный FCI); если часть проверок прошла, а часть нет — каждый аспект помечается (тип файла ✓, размер ✗, содержимое ✓), а расхождения расписываются ниже. Несовпавшие сырые данные (FCI, содержимое, данные записей) показываются как поля только для чтения с моноширинным шрифтом — ожидаемое над фактическим, в одной и той же колонке — для удобного сравнения. Для record-файлов при расхождении содержимого добавляется пометка совпадающие записи: 1-5, 7-10 со списком записей, которые совпали.

        -

        Опции сканирования «Profile from card»

        -

        Диалог сканирования запрашивает имя профиля и предлагает селектор «FCP/FCI check» (те же три режима, по умолчанию Filetype + size), применяемый ко всем создаваемым правилам, а также список «Ignore contents of» (все отмечены по умолчанию) часто перезаписываемых файлов, содержимое которых пропускается: EF.LOCI, EF.PSLOCI, EF.EPSLOCI, EF.5GS3GPPLOCI, EF.Keys, EF.KeysPS, EF.SMS, EF.Kc, EF.KcGPRS, EF.LOCIGPRS, EF.CBMID, EF.SMSS. Ещё две отмеченные по умолчанию опции «Match first 4 bytes for» EF.IMSI и EF.ICCID захватывают содержимое этих файлов как маску только первых 4 байт (снимите для точного сравнения). Строка прогресса показывает N / всего файлов с текущим путём файла во время сканирования; при сканировании опции скрываются, а кнопки блокируются. Правила создаются только для файлов, которые реально существуют на карте (возвращён FCP-шаблон); отсутствующие файлы пропускаются. Пользовательские файлы из подвкладки Custom files включаются с той же проверкой существования.

        +

        Проверить выполняет каждое правило на подключённой карте и показывает строку прогресса и отчёт прохождения. Рядом с путём файла указывается, что именно проверялось (например, тип файла и размер, содержимое или точный FCI); если часть проверок прошла, а часть нет — каждый аспект помечается (тип файла ✓, размер ✗, содержимое ✓), а расхождения расписываются ниже. Несовпавшие сырые данные (FCI, содержимое, данные записей) показываются как поля только для чтения с моноширинным шрифтом — ожидаемое над фактическим, в одной и той же колонке — для удобного сравнения. Для record-файлов при расхождении содержимого добавляется пометка совпадающие записи: 1-5, 7-10 со списком записей, которые совпали.

        +

        Опции сканирования «Профиль с карты»

        +

        Диалог сканирования запрашивает имя профиля и предлагает селектор «Проверка FCP/FCI» (те же три режима, по умолчанию Тип файла + размер (FCP)), применяемый ко всем создаваемым правилам, а также список «Игнорировать содержимое» (все отмечены по умолчанию) часто перезаписываемых файлов, содержимое которых пропускается: EF.LOCI, EF.PSLOCI, EF.EPSLOCI, EF.5GS3GPPLOCI, EF.Keys, EF.KeysPS, EF.SMS, EF.Kc, EF.KcGPRS, EF.LOCIGPRS, EF.CBMID, EF.SMSS. Ещё две отмеченные по умолчанию опции «Сравнивать первые 4 байта для» EF.IMSI и EF.ICCID захватывают содержимое этих файлов как маску только первых 4 байт (снимите для точного сравнения). Строка прогресса показывает N / всего файлов с текущим путём файла во время сканирования; при сканировании опции скрываются, а кнопки блокируются. Правила создаются только для файлов, которые реально существуют на карте (возвращён FCP-шаблон); отсутствующие файлы пропускаются. Пользовательские файлы из подвкладки «Пользовательские файлы» включаются с той же проверкой существования.

        5.7 Сценарии использования

        -

        Сценарий A — Работа с файлами, не входящими в модель pySim (Custom files)

        +

        Сценарий A — Работа с файлами, не входящими в модель pySim («Пользовательские файлы»)

        1. Получите FID целевого файла (документация вендора или анализ ATR/файловой системы; такие файлы часто отсутствуют в открытых спецификациях).
        2. -
        3. Откройте вкладку Card reader → подвкладку Custom files.
        4. +
        5. Откройте вкладку «Картридер» → подвкладку «Пользовательские файлы».
        6. Введите полный путь (например, 3F00/7F20/6F46) и псевдоним (например, EF.SPN).
        7. -
        8. Нажмите Add — файл появится в дереве курсивом (непроверенный).
        9. +
        10. Нажмите Добавить — файл появится в дереве курсивом (непроверенный).
        11. Кликните по файлу для проверки существования; при успехе (9000) он работает как обычный файл.
        12. -
        13. Читайте, редактируйте и сохраняйте hex-данные; переключайте Raw/Decoded.
        14. +
        15. Читайте, редактируйте и сохраняйте hex-данные; переключайте Данные как на карте / Декодированные данные.
        16. Экспортируйте список пользовательских файлов в JSON для переноса на другие машины.

        Сценарий B — Симуляция реальной сетевой среды для тестирования SIM

        B.1 Ответы на PROVIDE LOCAL INFORMATION (PLI)

          -
        1. Откройте Proactive UICCPROVIDE LOCAL INFORMATION response data.
        2. +
        3. Откройте Проактивный UICCДанные для PROVIDE LOCAL INFORMATION.
        4. Используйте формы декодирования/кодирования для IMEI (01), Location Info (00), Access Technology (06) и т.д.
        5. -
        6. Нажмите Save — значения сохранятся на сервере.
        7. -
        8. Включите Polling (интервал 30 с), чтобы карта периодически выдавала PLI.
        9. +
        10. Нажмите Сохранить — значения сохранятся на сервере.
        11. +
        12. Включите Опрос (интервал 30 с), чтобы карта периодически выдавала PLI.
        13. Сервер вставляет значения словаря в каждый TERMINAL RESPONSE.
        14. Проверьте в журнале проактивных команд: запись PLI покажет декодированный ответ.

        B.2 Симуляция сетевых действий через ENVELOPE (event download)

        1. Проверьте список подписанных событий (из SET UP EVENT LIST).
        2. -
        3. Нажмите Send на событии (например, Location Status) и заполните форму; будет отправлен ENVELOPE(Event Download).
        4. +
        5. Нажмите Отправить на событии (например, Location Status) и заполните форму; будет отправлен ENVELOPE(Event Download).
        6. Для Network Rejection выберите тип регистрации → поля местоположения → технологию доступа → причину отклонения.
        7. Карта может ответить проактивной командой, которую обработчик цепочки зарегистрирует и обработает автоматически.

        B.3 Проверка симулированной среды

        • Журнал проактивных команд показывает полный цикл (команда + байты TERMINAL RESPONSE).
        • -
        • Кнопка STATUS / автопросмотр поддерживают сессию CAT (цикл дренажа).
        • +
        • Кнопка Отправить STATUS / автопросмотр поддерживают сессию CAT (цикл дренажа).

        6. Установка сервера

        -

        Для работы с картой (вкладка Card reader, Proactive UICC, доставка OTA) нужен локальный pysim-otaman-server — встроенный в OTAMan HTTP-сервер, оборачивающий pySim, работающий с ридером через PC/SC или serial и раздающий сам PWA (откройте http://127.0.0.1:8080).

        +

        Для работы с картой (вкладка «Картридер», «Проактивный UICC», доставка OTA) нужен локальный pysim-otaman-server — встроенный в OTAMan HTTP-сервер, оборачивающий pySim, работающий с ридером через PC/SC или serial и раздающий сам PWA (откройте http://127.0.0.1:8080).

        6.1 Требования

          @@ -463,7 +463,7 @@ start.bat # запускает сервер (PWA + API)
        • Резерв сервера — при запуске без аргументов ридера сервер сам опрашивает PC/SC-ридер при старте (3 попытки с интервалом 2 с)
        • Serial-ридеры — запустите сервер вручную с -d /dev/ttyUSB0 (Linux)
        -

        Если карта отсутствует, вкладка Card reader показывает «No card detected». Вставьте карту и нажмите Equip card для инициализации.

        +

        Если карта отсутствует, вкладка «Картридер» показывает «Карта не обнаружена. Вставьте карту и нажмите Подключить карту».

        6.6 Ручная установка

        # Создать и активировать venv
        diff --git a/frontend/help.html b/frontend/help.html
        index 440e822..f07d220 100644
        --- a/frontend/help.html
        +++ b/frontend/help.html
        @@ -54,7 +54,7 @@
         
         	

        2.1 SIM RFM

        CLA = A0 (GSM 11.11 / TS 151 011, ISO 7816-4). Remote File Management for classic SIM cards.

        -

        Commands are assembled as a chain: press a + Command button to append a row, fill that row’s fields, and the chain preview (above the pack button) updates automatically. Add a GET RESPONSE row to fetch data following a SELECT. Press Pack into Secured packet to wrap the whole chain into an SCP80 packet.

        +

        Commands are assembled as a chain: press a command button (e.g. + SELECT) to append a row, fill that row’s fields, and the chain preview (above the pack button) updates automatically. Add a GET RESPONSE row to fetch data following a SELECT. Press Pack into Secured packet to wrap the whole chain into an SCP80 packet.

        diff --git a/frontend/sw.js b/frontend/sw.js index 36ff3d5..2f3944a 100644 --- a/frontend/sw.js +++ b/frontend/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'otaman-v63'; +const CACHE = 'otaman-v64'; const URLS = [ 'index.html', 'help.html',
        CommandINSDescription