Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Магнитные карты и ПК - Гёлль Патрик - Страница 14
Считывание дорожки ISO 2
Логично сначала заинтересоваться именно этой дорожкой, расположенной посередине, поскольку она одновременно и наиболее используемая, и самая легкая в интерпретации. Даже при плотности 75 bpi сигналы, поступающие от декодера, могут быть достаточно высокой частоты.
Не доходя до программирования на ассемблере, нам пришлось использовать язык, известный своим быстродействием, — Turbo Pascal. Даже в этих условиях не стоит надеяться обойтись компьютером с производительностью ниже, чем у 386SX25, чьих возможностей едва хватает.
На сайте издательства www.dmk.ru содержатся исходный текст программы LECT75.PAS, приведенный выше, и соответствующий исполняемый файл LECT75.EXE. Эта программа создает файл CARTE.CAR, содержащий данные, считанные с дорожки, — 240 бит.
Это 48 раз по 5 бит, то есть 40 полезных знаков, которые максимально может содержать дорожка ISO 2, и 40 бит нулей заполнения, избыток которых не важен.
Формат этого файла (.CAR) мы определили уже несколько лет назад для считывания чип-карт; текст в коде ASCII, состоящий исключительно из 1 и 0, разделенных пробелами. С учетом линейной структуры магнитных дорожек никакого разбиения ни на группы битов, ни на строки фиксированной длины предусмотрено не было. Преобразование двоичных данных в цифровые символы, а также другие интересные анализы будут доверены другим программам, написанным на GWBASIC. Программа предполагает, что адрес порта игровой приставки — 513 (в десятичной системе); это имеет место для всех действительно IBM PC-совместимых ПК.
После запуска программа ожидает момента, когда карта будет вставлена в считывающее устройство. Затем начинается процесс считывания информации, и после считывания 240 бит раздается звуковой сигнал. Отсутствие звукового сигнала свидетельствует, что было получено менее 240 бит: это означает некачественное считывание либо то, что карта не полностью запрограммирована.
В подобном случае необходимо вставить карту вторично. Если блокировка продолжается, воспользуйтесь другой картой, которая уже считывалась с первого раза. Чтобы непосредственно получить отображение содержимого дорожки в битовом виде, в оболочке из основной программы LECTISO2.BAS посредством строки 30 вызывается внешняя программа LECT75.EXE. При этом, конечно, необходимо, чтобы программа COMMAND.СОМ была доступна через путь поиска PATH, в котором должна быть соответствующая запись, либо просто скопирована в текущую директорию.
Обратите внимание, что все эти программы были написаны специально для работы в DOS. Рекомендуется воздержаться от их запуска через Windows (в окне DOS), поскольку это может замедлить их выполнение.
В некоторых случаях предпочтительно дезактивировать некоторые резидентные программы, например ЕММ 386. Пользователи PC, привыкшие работать в Windows (версия не имеет значения), должны закрыть эту операционную систему, прежде чем приступить к выполнению программ.
10 REM — LECTISO2.BAS —
20 KEY OFF: CLS: PRINT: PRINT: PRINT: PRINT
30 SHELL "LECT75.EXE"
40 OPEN "carte.car" FOR INPUT AS #1
50 DIM T(240)
60 FOR F=1 TO 240
70 INPUT#1,T(F)
80 NEXT F
90 J=1
100 IF T(J)<>1 THEN 160
110 IF T(J+1)<>1 THEN 160
120 IF T(J+2)<>0 THEN 160
130 IF T(J+3)<>1 THEN 160
140 IF T{J+4)<>0 THEN 160
150 K=J: GOTO 200
160 J=J+1: GOTO 100
200 C$=""
210 FOR F=0 TO 4
220 IF T(K+F) =0 THEN C$=C$+"0"
230 IF T(K+F) =1 THEN C$=C$+"1"
240 NEXT F
250 GOSUB 2000
260 K=K+5: IF K>235 THEN END
270 GOTO 200
2000 IF C$="11010* THEN PRINT "{start}"
2010 IF C$="10110" THEN PRINT "{sep}"
2020 IF CS="11111" THEN PRINT "{end}"
2030 IP C$="01011" THEN PRINT "{10}";
2040 IF C$="00111" THEN PRINT "{12}";
2050 IF C$="01110" THEN PRINT "{14)";
2060 IF C$="00001" THEN PRINT "0";
2070 IF C$="10000" THEN PRINT "1";
2080 IF C$="01000" THEN PRINT "2";
2090 IF C$="11001" THEN PRINT "3";
2100 IF C$="00100“ THEN PRINT "4";
2110 IF C$="10101" THEN PRINT "5";
2120 IF C$="01101" THEN PRINT "6";
2130 IF C$="11100" THEN PRINT "7";
2140 IF C$="00010" THEN PRINT "8";
2150 IF C$="10011" THEN PRINT "9";
2170 RETURN
3000 REM (c) 1996 Patrick GUEULLE
Программа LECTISО2.BAS — основная программа, которую вы будете использовать для считывания дорожки ISO 2 стандартных магнитных карт. Если LECT75.EXE присутствует в текущей директории (наряду с COMMAND.COM), то любое прохождение читаемой карты (в правильном направлении) должно привести к отображению 240 считанных бит и соответствующих цифровых данных.
Ниже показано, что это дает в конкретном случае с файлом TEST5.CAR, представленным на сайте www.dmk.ru. Так, файл TEST5.CAR, декодированный с помощью программы LECTISО2.BAS, будет иметь следующий вид:
Одновременно создается файл CARTE.CAR, который нетрудно переименовать в DOS (командой REN), если есть желание его сохранить. Ни один из тестов (на четность или LRC) не производится.
Такие проверки можно осуществить по запросу при необходимости (дальше будут представлены соответствующие программы). Однако при этом существует риск сбоя в считывании некоторых нестандартных карт.
При отображении данных, записанных на дорожке, используются не стандартные «кабалистические* знаки, представленные выше в виде пяти- и семибитного кода ANSI, а знаки в более наглядной форме:
• флажок начала: {start};
• разделитель полей: {sep};
• флажок конца: {end};
• специальные знаки: {10}, {12} и {14}.
Внимание: не путайте эти фигурные скобки с простыми!
Считывание дорожки ISO 1
Работать с дорожкой ISO 1 несколько сложнее, поскольку обычно она записана с плотностью 210 bpi и содержит семиразрядные коды алфавитно-цифровых символов.
Осуществить считывание позволяет программа LECT210.PAS, которая работает аналогично LECT75.PAS. Ее исполняемая версия (LECT210.EXE) может использоваться либо самостоятельно для создания файла CARTE.CAR на 630 бит, либо вызываться из другой программы в оболочке Basic.
- Предыдущая
- 14/25
- Следующая