Slipstream  1.00  Viaccess Smartcard Эмулятор.

Предупреждение.

Пожалуйста, помните, что использование этого программного обеспечения для чего-нибудь другого, чем образовательные цели, может быть незаконно в Вашей стране. Это программное обеспечение - результат личного образовательного проекта, не преследующего никакого  коммерческого интереса.

Краткий обзор прошивки. Особенности.

Введение

Slipstream совместим с Funvxs1.2 структурой eeprom. Следовательно, Вы редактируете eeprom Slipstream теми же самыми редакторами, которыми пользуетесь. Фактически, Ваш старый добрый Funvxs1.2 eeprom файл может использоваться без любых модификаций вместе с нашими Flash файлом (ss_flash100.hex) и внутренним eeprom (ss_intee.hex). В этом релизе представлены также несколько внешних eeprom, которые могут использоваться как матрицы. Как только Вы отредактировали внешние eeprom, вставив нужные issuerы, иденты провайдеров и мастер - ключи можно программировать карточку и смотреть TV.

Требования к железу.

Программное обеспечение предназначено для любой Fun карточки с 24C64 (8kByte) или большим внешнем eeprom. Slipstream поддерживает выбор типа протокола и PTS, чтобы работать с широким ассортиментом как встроенных Viaccess модулей, так и внешних CAM-модулей.

Настройка Slipstream.

Ответы команд.

Ответы на FAC команды 87 04, и 87 06 можно изменять, что необходимо для некоторых ресиверов, требующих установки этих данных корректно. Ответы на команды консультации также изменяемы (CAAC ответ), и для некоторых ресиверов разные. Установка, которая работает в большинстве случаев (ядро внешнего eeprom) приведена на одной из вложенных матриц в hex файле.

Флаги конфигурации.

Флаг "LCD" в секции конфигурации вашего редактора активизирует функцию Lock Control Disable. Когда он стоит, то прошивка фактически обойдет 24-ые блокировки PIN-кода, существующие на некоторых ресиверах. Не ставьте флаг "LCD", если Ваш ресивер не показывает блокировку. Другие два флага конфигурации "Control LEDS", и "Key LEDS" не имеют никакого значения в этой версии.

issuerы и providerы.

Позиция в прошивке может быть заполнена либо issuer или provider. Slipstream позволяет множеству issuer работать наряду с множеством provider на одной карточке. Конфигурация их должна следовать строго этим правилам:

  1. Первый issuer должен быть помещен в первую позицию. Все последующие  issuerы должны вписываться по порядку. Полубайт младшего разряда issuerа должен отразить его позицию. Так, первый issuer имеет младший разряд, к примеру 0, второй issuer - 1, и т.д. Issuer должен иметь форму FF ** **.
  2. Первый provider должен быть помещен сразу после последнего issuerа. Любые дополнительные provider должны следовать в последовательном порядке. Полубайт младшего разряда provider равен одному из младших полубайтов issuerа чтобы связать его с issuerом, другими словами; укажите на позицию нужного issuerа. Provider не должен иметь форму FF ** **. Для providerов апдейтящихся issuerом по UA/PPUA, вставьте МК и UA/PPUA в issuer. Для providerов апдейтящихся  в provider по UA/PPUA, вставьте МК и PPUA в provider. Если требуется абдейт по UA, UA поставьте в поле UA issuerа. Всё сделано  как в оригинальной карточке. Только issuer может содержать UA, поле UA в объекте provider не работает.

Посмотрите любую оригинальную карточку - она имеет только один issuer с UA и один или несколько provider. Редактируя Slipstream eeprom, Вы поймёте, что числа младших полубайтов issuerов в первых позициях увеличиваются от 0 по порядку сверху вниз. Редактируйте providerы в следующей части прошивки по аналогии с issuerами. Полубайт младшего разряда provider связывает каждого из них с существующими issuerами. Slipstream действительно создаёт несколько виртуальных карточек в одной, каждая из которых работает в соответствии с реальной карточкой. Если Вы предпочитаете называть Виртуальные Карточки как Multi-Issuer Вам решать!

Редактор.

Чтобы привести младший разряд к ненулевому значению, Вы должны иметь редактор, позволяющий делать это, такой как FunProm или FunMagic. Picbined не будет работать, если ваш eeprom имеет несколько issuerов.

Пример с тремя ISSUER.

Это реальная карточка, действующая как три виртуальных Viaccess карточки. Пример для Viasat с двумя issuerами FFF400 (обновления по UA в issuerе, используя mk05) и SVTEuropa с одним issuerом FFF450 (UA обновяет provider, используя mk00):

Иденты

Комментарий

FFF400

Вставляем UA + mk05 - апдейт Ticket и Nordic

FFF401

Вставляем UA + mk05 - апдейт Europe

FFF452

Вставляем UA, апдейт SVT Европа

010C00

 

010C10

Используется 0ой  issuerа

010C20

 

010C30

Используется 0ой issuer

010C41

Используется 1ый issuer

009C02

Используется 2ой issuer. Вставьте mk00 здесь

Общее количество issuerов и provider в настоящее время ограничено до 23. Даже если их заполнить, то это не будет иметь смысла, зачем ставить больше issuerов чем providerов?

Не забывайте ставить операционный ключ 08 для providerов, поскольку он используется как аварийный. Другие примеры редактирования внешнего Eeprom смотрите в прилагаемых файлах.

Автоапдейт.

Slipstream поддерживает как автоапдейт на группу карт, так и на каждую отдельно.Для  автоапдейта ключа группы, используется полный PPUA (SA + CustWp). CustWp == 0 - не всегда, так как если установлен 0, она будет работать только если один клиент в группе получает апдейт. Это должно препятствовать карточке сталкиваться с операцией неправильного автоапдейта.

Ручной ввод ключей (ремоут).

Ручной ввод opkey реализован, используя меню смены PIN-кода вашего ресивера. Используемый формат – MultiMac с префиксом. Удостоверьтесь, что сначала введены 4 цифры префикса.

key08 = 1150

key09 = 1250

key0A =1350

key0B =1450

key0C =1550

key0D =1650

key0E =1750

key0F =1850

Затем вводятся 8 групп по четыре цифры. Если ваш ресивер имеет 24-ую блокировку PIN-кода, Вы должны использовать OSD.

On Screen Display

OSD реализован с помощью Subscription Information и лейбла providerа. Эти поля обмениваются информацией о opkeys, которые обрабатывает Slipstream. Как только лейбл соответствует активному providerу, определенным каналом выбранным на вашем ресивере, он будет заменен OSD информацией. Все другие поля лейблов providerов покажут лейблы такие, как отредактировано в Вашем eeprom файле. Управлять OSD можно с помощью PurchaseThreshold/MaturityRating (в дальнейшем PT/MR). Пользуйтесь ими в зависимости от того, какой из них Вы предпочитаете или имеете в ресивере. Помимо управления OSD функциями PT/MR может использоваться чтобы ввести команды в Slipstream. OSD функции и команды объясняются ниже:

OSD функции

Чтобы воспользоваться OSD функциями, введите в PT/MR цифру соответствующую номеру функции. Ниже – список того, что отобразится в поле лейбла активного providerа для каждой OSD функции. Заданной по умолчанию функцией является  2.

8=08,

9=09,

10=0A,

11=0B,

12=0C,

13=0D,

14=0E,

15=0F.

 

Для всех OSD функций кроме функции 0, в меню Subscription Information записывается и показывает хронологию и информацию о том, какие opkeys были изменены. Для последовательного отображения информации о том, когда какие ключи начали использоваться, сначала выполните форматирование секций eeprom, содержащих информацию о opkeys (формат метаданных). Это ниже описано в Командах.

Subscription Information меню для выбранного providerа будет содержать список из 8 массивов:

START DATE

STOP DATE 

CLASS 

THEME

 LEVEL

01/01/1980

01/01/1980

-

77

   08

01/01/1980

01/01/1980

-

77

   09

09/02/2003

10/02/2003

-

115

  110

01/01/1980

01/01/1980

-

77

   11

10/02/2003

01/01/1980

-

115

   12

01/01/1980

01/01/1980

-

77

   13

21/01/2003

24/01/2003

-

200

   14

01/01/1980

01/01/1980

-

77

   15

START DATE => дата, когда opkey был введён, либо автоапдейтом либо ремоутом. STOP DATE => дата, когда opkey последний раз использовался. Если START DATE = STOP DATE предыдущего ключа, это означает, что прописавшийся ключ - "следующий".CLASS => не используется.THEME => информация о том, как opkey был модифицирован. Посмотрим на THEME как на "xyz":

буква

информация

расшифровка

x : 

изменен с помощью:

0 => автоапдейт использующий SA адресацию,

1 => автоапдейт использующий UA адресацию,

2 => ручной ввод (ремоут)

y : 

изменен с помощью:

Issuer/provider

0 => автоапдейт по providerу,

1 => автоапдейт по issuerу. Только для автоапдейта.

z : 

мастер - ключ

индекс используемого мастер - ключа. Только для автоапдейта.

LEVEL => Индекс opkey. Если opkey используется и в данный момент открывает канал, то 100 или 200 добавляется к индексу. 100 + индекс подразумевает, что ключ используется и он правильный. 200 + индекс подразумевает, что ключ используется, и он сохраненный в карточке не рабочий.

Так, взглянув на пример выше с 8 массивами данных, мы можем сказать что:

Некоторые ресиверы сортируют массивы на основании дат. Это означает что порядок в котором массивы представлены, может отличаться от этого примера. Не забудьте проверять значение LEVEL, чтобы не потерять последовательность.

Команды.

Чтобы посылать команду Slipstream, введите номер команды в меню PT/MT. Предварительно выбранная OSD функция не изменится

Никаких других команд в этой версии Slipstream нет.

Феникс handles.

Slipstream удобен ещё и тем, что специальные команды делают запись и чтение внешнего eeprom возможным не перепрограммируя AVR controller с загрузчиком. Доступ к eeprom возможен через любой Феникс или Smartmouse, совместимый с ISO7816 interface.

Редактор, прилагающийся к Slipstream предлагает более быстрый путь к данным, по сравнению с редактором/программатором, имеющимся у Вас, который перед чтением пишет загрузчик для шлюза поверх AVR. В Slipstream этот шлюз уже встроен.

Команды обращения к eeprom CB 25 и CB 26 описаны ниже. Максимум можно делать длину L байта – 100 dec. Все цифры в HEX. >> обозначает передачу данных в направлении к карточке. << обозначает передачу данных в направлении из карточки.

Read instruction:
>> CB 25 < 2 bytes of address > < 1 byte, length L >
<< 25
<< < L bytes of data returned from card >
<< 90 00

Write instruction:
>> CB 26 < 2 bytes of address > < 1 byte, length L >
<< 26
>> < L bytes of data transferred to card >
<< 90 00

Релиз.

1.00 релиз состоит из следующих файлов:

Имя

Комментарий

slipstream.htm

Это Руководство пользователя.

ss_flash100.hex

AVR flash HEX файл.

ss_intee.hex

AVR внутренний eeprom HEX файл.

ss_extee_viasat2i.hex

Внешний eeprom HEX файл - пример/матрица для Viasat с двумя issuerами.

ss_extee_senda.hex

Внешний eeprom HEX файл - пример/матрица для Senda

ss_extee_comhem_lcd.hex

Внешний eeprom HEX файл - пример/матрица для Comhem.

Этому файлу активизировали LCD и попробовали по другому поставить providerы; потому что некоторые аппараты не отображают список providerов, кроме одного.

ss_extee_loaded.hex

Внешний eeprom HEX файл - пример/матрица загружен большим количеством issuerов и providerов, в которых Вы будете нуждаться... Набор доступа к каналам Viasat.

Информация релиза.

Версия: Первый паблик вышел в марте 2003г.

Автор: Dauntless

Специальное спасибо: всем, кто способствовал - Вы знаете, кому!

Условия использования: не используйте программное обеспечение для других целей чем образовательные. Не переделывайте и не дополняйте релиз файлами без одобрения авторов. Нарушение любого из этих условий использования считают непочтительным.

Перевод на русский язык: Billy Kotus kotus@pub.sovtest.ru

 пишите письма.

 

Hosted by uCoz