Эмулятор таксофонной карты или эссе об авторизации

Эмуляция банковской карты на телефоне

HCE (Host-based Card Emulation) – это технология, которая дает возможность писать софт, не требующий для исполнения выделенного криптопроцессора, чтобы обеспечить сеанс связи с платежным терминалом. Приложение исполняется на основном процессоре мобильного устройства, в окружении операционной системы телефона.

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

Мы сделали такой HC-эмулятор в своём приложении. До появления технологии HCE информацию для осуществления NFC-транзакций в мобильных устройствах можно было хранить тремя способами: либо на SIM-карте (принцип SIM centric NFC), либо в специальном элементе на телефоне (Embeded Secure Elements, eSE), либо на специальной MicroSD.

Как обстояли дела ранее?

У классических способов до HCE имеются существенные недостатки. При подходе SIM centric требуются специальные SIM-карты, которые значительно дороже стандартных карт, обязательна процедура посещения пользователем точки продаж для замены SIM-карты и т.д.

При eSE-подходе сложностей и ограничений ещё больше – моделей телефонов, имеющих специальный блок для хранения информации о карте, на рынке крайне мало, стоимость персонализации элемента в телефоне весьма высокая, появляется зависимость от производителя телефона и провайдера услуг персонализации «по воздуху» (Over-The-Air Service Provider).

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

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

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

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

Для пользователей основным неудобством этих hard подходов является привязка системы безопасности к аппаратным средствам а, следовательно, неизбежная необходимость смены SIM-карты или даже телефона для подключения сервиса NFC-платежей.

Источник: http://www.pvsm.ru/razrabotka/83057

Внутри таксофона

Тут помнится ходило множество слухов, об устройстве таксофона. Что есть криптография, датчики и т.п. Чтобы развенчать эти слухи, я договорился с МГТС и как журналист заглянул внутрь таксофона. При этом мне ещё рассказали, как же он устроен.

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

Коллекция таксофонов

Поколения таксофонов

Когда меня вели по коридорам, до серверной, и того места где мы разбирали таксофон, мы проходили висящие на стене все поколения таксофонов МГТС. К сожалению сфотать её удалось только на обратном пути бегом, то фотка вышла не качественной, но весьма эффектной.

Монтажный столик
Здесь мучают таксофоны

Вот здесь мы разбирали таксофон стоящий слева. Очень много различных таксофонов. Уверяли, что в таксофоны скоро будут встраивать ВайФай (вот где фрикинг, ага!). Но пока на уровне слухов.

Серверная

Серверы МГТС

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

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

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

Раскрытый таксофон

Святая-святых недра!

Я с детства мечтал заглянуть внутрь таксофона, и посмотреть как же он работает. И наконец моя мечта сбылась. При этом мне ещё рассказали о тонкостях работы и т.п.

Картоприемник

Оранжевая полоса – датчик проводов

Предмет множества слухов во фрикерских кругах – это картоприемник. Из слухов подтвердилось лишь то, что существует датчик выводимых проводов, который легко обходится, если припаять микросхему эмулятора непосредственно на контактные площадки таксофонной карточки. Других систем распознавания эмулятора у картоприемника нет.

Миф о вечных карточках

Карточка монтажника

Каждому монтажнику выдается такая карточка с подписью «для служебного пользования». В свое время ходили слухи, будто эта карточка вечная. К сожалению, нет, карточка не вечная. На ней записано очень большое количество единиц, но они в конце концов исчерпываются. Карточка утилизируется, и монтеру выдается новая.

Полную версию статьи, и остальную часть материала читай в журнале Хакер. С уважением Dlinyj

Источник: https://juste-rus.livejournal.com/1102709.html

Таксофоны

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

Список бесплатных номеров задается с центрального пульта и может включать в себя как двухзначные или трехзначные номера типа 01, 02, 03, 04, так и обычные шести­ и семизначные номера.

Определение, является ли данный номер бесплатным, производится таксофоном при соединении с центральным пультом. Центральный пульт содержит список бесплатных номеров, который при необходимости может быть изменен или дополнен.

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

Однако для бесплатных номеров существует ограничение по длительности разговора, время разговора в базовом варианте — 10 мин. Время бесплатного разговора задается с центрального пульта и может быть при необходимости либо увеличено, либо уменьшено.

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

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

При наборе номера СКУТ, с приходом сигнала , таксофон переходит в режим обмена со СКУТ. В этом режиме микрофон в трубке отключается, а все действия абонента, включая и отбой абонента, игнорируются.

После прихода сигнала “переполюсовка” таксофон ожидает прихода вызывного тона от модема СКУТ в течение 6 секунд. При этом таксофон выдает в линию тональные сигналы вызова. С приходом вызывного тона от модема СКУТ таксофон выдает в линию ответный сигнал, после чего начинается обмен данными между таксофоном и СКУТ.

Если обмен данными прошел удачно, таксофон выдает в трубку двойной тональный сигнал, при неудачном обмене сигнал в трубку не выдается. После этого таксофон переходит в режим “трубка снята”. Если по истечении 6 секунд вызывного тона от модема не поступает, то таксофон самостоятельно переходит в режим “трубка снята”.

При самостоятельном обмене данными таксофона с СКУТ тональный сигнал в трубку не выдается, набор номера осуществляется таксофоном самостоятельно, а начинается и заканчивается этот режим в состоянии “трубка положена”.

Установка номера СКУТ производится с помощью технологической перемычки, которая устанавливается на плате БГ. После чего производится набор номера СКУТ, и в случае успешного соединения таксофон выдает в трубку 4 коротких тональных сигнала и набранный номер становится номером СКУТ. Затем необходимо вынуть перемычку.

СКУТ взаимодействует с таксофонами с помощью стандартного модема по телефонной сети общего назначения.

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

Алгоритм, формирующий время следующего вызова, позволяет организовать очередь вызовов таксофонов с учетом потребностей конкретной таксофонной системы и оборудования СКУТ. Дистанционная смена установленных оператором СКУТ параметров таксофона происходит в момент первого успешно завершившегося сеанса связи таксофона и СКУТ.

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

Если оператором СКУТ в параметры работы таксофона внесены изменения (смена тарифов, изменение списка бесплатных номеров, номеров СКУТ, констант, определяющих режим работы таксофона и т. д.), то после приема статистических данных СКУТ передает таксофону файл данных с измененными параметрами.

Продолжительность сеанса связи одного таксофона при обычном обмене данными — 7~15 с. При отсутствии данных от таксофона в течение 15 секунд СКУТ прекращает сеанс связи.

СКУТ фиксирует следующие повреждения таксофонов:

  • обрыв трубки;
  • плохая связь;
  • снята трубка;
  • нет связи.

В настоящее время они становятся частью системы работы с абонентами. Поэтому рассмотрим кратко принцип их работы.

Телефонные карты предназначены для безналичной оплаты переговоров с таксофонных аппаратов [3.17, 3.29]. Первая такая карточка появилась в Италии в 1976 году.

В России же первая телефонная карточка была выпущена в 1988 году компанией GPT для демонстрации таксофонного проекта, В 1989 году появилась серия, состоящая из двух карт. Выпуск этих карт проходил под эгидой созданного тогда совместного предприятия “Комстар”.

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

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

Имеются предварительно оплаченные карты с отпечатанным идентификационным номером, который абонент самостоятельно набирает перед установлением соединения.

Но этот тип упомянут только потому, что он совпадает по названию — он не имеет отношения к таксофонам и здесь не рассматривается.

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

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

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

Для изготовления таксофонных чиповых карт используют обычно карты с памятью, причем это разовые карты типа “однократная запись / многократное считывание”. Аппарат также считывает информацию, списывает юниты и выводит на табло информацию об оставшейся емкости.

Источник: http://www.intuit.ru/studies/curriculums/3410/courses/211/lecture/5453?page=5

Эмулятор таксофонной карты либо эссе об авторизации

Эмулятор таксофонной карты либо эссе об авторизации

Путешествуя по руинтернету в поисках хоть какой инфы об эмуляторах смарт карт синхронного режима эталона ISO7816 увидел увлекательную особенность: инфы практически нет, а то что можно отыскать списано с 1-го источника (Phrack Magazine 48 выпуск) в различных вариациях.

И ни слова я не отыскал об авторизации смарт карт в таксофоне. По сути, хоть какой кто подумывал о разработке эмулятора карты был должен задуматься об этом вопросе. Давайте разглядим метод работы на примере таксофона МГТС. Вставим пустую карту. Таксофон пишет, что «Кредит исчерпан».

Каким образом происходит чтение карты? Вот вам наглядный пример работы таксофона:

Reset 11101000 00110000 11001111 00001001 00000000 11001010 01001010 10000110 00000000 00000000 00000000 00000000 00000000 11111111 01010110 00000100 (128 bits read) Reset 11101000 00110000 11001111 00001001 00000000 11001010 01001010 10000110 (64 bits read) Bit written at address 64 00000000 00000000 00000000 00000000

В приведенном примере числа означают состояние (0 либо 1) на контакте карты ввода/вывода (I/O), текстовые комменты без скобок — надлежащие операции с картой (в согласовании со эталоном), комменты в скобках — суммарная статистика считанной инфы… Представленный лог сформирован программкой SCALA (Smart CArd Logic Analizer). Получить программку и другие разности и вкусности можно по адресу http://www. gsho. de/phonecard Там же можно почитать на тему работы со смарткартами к германии и Швейцарии.

Источник: http://bloggoda.ru/2017/07/21/emulyator-taksofonnoj-karty-libo-esse-ob-avtorizacii/

Статьи по теме разговора!

Путешествуя по рунету в поисках любой информации об эмуляторах смарт карт синхронного режима стандарта ISO7816 заметил интересную особенность: информации почти нет, а то что можно найти списано с одного источника (Phrack Magazine 48 выпуск) в разных вариациях.

И ни слова я не нашел об авторизации смарт карт в таксофоне. На самом деле, любой кто подумывал о создании эмулятора карты должен был задуматься об этом вопросе. Давайте рассмотрим алгоритм работы на примере таксофона МГТС. Вставим пустую карту. Таксофон пишет, что “Кредит исчерпан”.

Каким образом происходит чтение карты? Вот пример работы таксофона:

Reset 11101000 00110000 11001111 00001001 00000000 11001010 01001010 10000110 00000000 00000000 00000000 00000000 00000000 11111111 01010110 00000100 (128 bits read) Reset 11101000 00110000 11001111 00001001 00000000 11001010 01001010 10000110 (64 bits read) Bit written at address 64 00000000 00000000 00000000 00000000

В приведенном примере цифры означают состояние (0 или 1) на контакте карты ввода/вывода (I/O), текстовые комментарии без скобок – соответствующие операции с картой (в соответствии со стандартом), комментарии в скобках – суммарная статистика считанной информации…

Представленный лог сформирован программой SCALA (Smart CArd Logic Analizer). Получить программу и другие разности и вкусности можно по адресу http://www.gsho.de/phonecard Там же можно почитать на тему работы со смарткартами к германии и швейцарии. 😉 Итак, вернемся к нашим баранам.

Что мы видим? Из 512 бит карты считываются только первые 128 бит, далее карта ресетится и читаются первые 64 бита, другими словами перемещается указатель на 64 позицию, затем выполняется операция Write (см.стандарт) и читаются старшие 4 байта восьмеричного счетчика кредита карты.

На основании полученной информации делается заключение о том, что карта пуста и выдается соответствующее сообщение.
Зачем в данном случае делается попытка записи 64 бита – мне не известно. Вероятнее всего это одна из простейших проверок на соответствии алгоритму.

Если у кого-то есть информация о действительном назначении этого события – напишите мне, а я поделюсь информацией с нашими читателями. 😉

Теперь, пожалуй, перейдем к самому интересному. А что происходит когда кредит не равен нулю? И здесь любителей халявы ждет горькое разочарование. Почему? Сейчас объясню. Приводить алгоритм чтения карты с кредитом я не буду, он длинный и труден в чтении. Попытаюсь рассказать на пальцах. Итак, начнем с подачи питания на карту. Далее карта ресетится, читаются первые 128 бит.

Потом снова Reset, чтение 64 бит (установка адреса), попытка записи 64 бита (зачем – не знаю, но об этом я говорил выше), далее чтение кредита карты. (кажется всего 39 бит, но это не важно) И вот самое интересное: даелее опять Reset, чтение 110 бит (установка адреса) и запись! (операция Write) по 110 адресу, чтение 177 бит и далее происходит вот что. Карта переходит в режим чтения.

Таксофон на ножке I/O выставляет уровни, используя ногу Clock, продолжает переключать адрес карты. Всего записывается 48 бит. (6 байт) Далее карта возвращается в режим выдачи информации. Адреса продолжают меняться, а на выходе карты появляется информация ответа. Каждые 160 тактов выдается ровно один бит информации. Всего таких битов будет 16.

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

А теперь о грустном – алгоритм не известен. По крайней мере мне. 😉

В кратком виде алгоритм выглядит следующим образом: 1. Сброс карты (Reset) 2. 110 пульсов на выводе Clock (Установка адреса 110) 3. Запись бита по адресу 110 (Write) 4. 177 пульсов на выводе Clock 5. Установка первого бита на выводе I/O 6. 1 пульс на выводе Clock 7.

Повторить пункты 5,6 для записи битов со 2 по 48 8. 160 пульсов на выводе Clock 9. Прочитать первый бит на выводе I/O 10.

Повторить пункты 8,9 для чтения битов со 2 по 16

Какие выводы можно сделать из всего вышесказанного? У меня вызывают огромные сомнения слова отдельных личностей, которые заявляют о том, что им удалось создать эмулятор таксофонной карты МГТС.

Здесь возможны два варианта – либо им известен алгоритм, либо они слегка преувеличивают. 😉 Возникает вопрос – можно ли вскрыть алгоритм? Можно, но сложно. 😉 Хотите попытаться? Если у вас есть что сказать по этому поводу – добро пожаловать в мыло.

НАЗАД

Источник: http://uraltelcard.narod.ru/art_card_4.htm

Что такое авторизация: ошибки, коды, виды режимов и авторизация банковской карты

При входе посетителей на сайт, в систему банковских платежей, требуется авторизоваться. Что такое авторизация? Это процесс подтверждения прав на совершение определенных операций – управления счетом, снятия средств, изменения данных.

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

Если коды введены правильно, разрешается вход в систему и выполнение разрешенных манипуляций. Если допущена ошибка, вход в систему не производится.

Ошибка авторизации – неверное введение логина, пароля и других данных. При наборе кодовых слов, пользователь должен обращать внимание на правильный порядок символов, регистр, установленную раскладку клавиатуры. При ошибке авторизации система блокирует посетителя доступ к системе и может производить такие действия:

  • фиксацию факта несанкционированного доступа;
  • подачу звукового или светового сигнала, выдачу сообщения на экран;
  • ограничение доступа на определенное время;
  • предложение повторного набор кода;
  • восстановление пароля;
  • блокирование банковской кредитной карты, пропуска.

Код авторизации представляет собой набор символов, которые хранятся в памяти системы и позволяют идентифицировать права пользователя. В качестве кода обычно выступают комбинации 3-12 букв, цифр, знаков, набранных в определенной последовательности.

Код авторизации генерируется в процессе регистрации пользователя и впоследствии может изменяться по желанию владельца учетной записи или по требованию службы безопасности. Часто устанавливается определенное ограничение на количество изменений комбинаций в период времени.

Для безопасного пользования сервисом, пользователь должен хранить набор символов в тайне.

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

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

Часто при авторизации в личном кабинете используют дополнительные средства безопасности – ввод капчи, подтверждение по SMS или e-mail.

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

Онлайн авторизация помогает посетителям ресурса экономить время, а организациям – делать услуги доступными широким массам, привлекать большее количество клиентов, улучшать качество обслуживания, повышать степень безопасности выполнения операций, проводить статистические исследования, ранжировать права доступа пользователей.

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

В этом случае посетителю следует попробовать повторно авторизоваться, выполнив все требования безопасности, выполнить восстановление забытого пароля или логина или обратиться в службу технической поддержки по телефону или e-mail. Сообщение «Авторизация недоступна», выдается посетителю сайта или пользователю сервиса в следующих случаях:

  • неверный ввод логина или пароля;
  • аннулирование прав доступа к системе, блокирование пользователя;
  • перебои в работе техники, ПО;
  • попытка получения доступа во внеурочное время.

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

Данные авторизации хранятся в системе и могут быть изменены пользователем или службой безопасности.

При утере информации, посетитель сайта или сервиса должен пройти процедуру ее восстановления, включающую повторную идентификацию различными способами, например, при помощи SMS или e-mail, путем обращения в службу технической поддержки.

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

Для авторизации необходимо ввести определенные данные: пароль, логин, PIN-код, проверочные слова, коды из SMS. При попытке получения несанкционированного доступа, подбора пароля, система безопасности может временно блокировать аккаунт пользователя.

Для восстановления прав пользования сервисом, нужно обратиться в учреждение, выдавшее «пластик», лично или по телефону.

Виды режимов авторизации

Для удобства пользователей, для использования имеющейся в наличии аппаратуры и для обеспечения выполнения требований безопасности, созданы различные виды режимов авторизации. Часто используется комбинация нескольких таких режимов. Различают такие их типы:

  • по способу доступа: онлайн и офлайн;
  • по методу разграничения прав: дискреционное, мандатное, на основе ролей, контекста или решетки;
  • по типу кода: логин-пароль, биометрическая, электронный ключ, IP-адрес, динамический пароль, уникальный предмет (пропуск. карта);
  • по количеству проверок: одно- и многоступенчатая.

Плюсы авторизации

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

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

Источник: https://www.Sravni.ru/enciklopediya/info/chto-takoe-avtorizacija/

Эмулятор таксофонной карты (часть 3)

Шаг второй (продолжение).Стандарт ISO7816.

Приветствую всех, кто еще остался верен нашему делу – ФРИКИНГУ. Каюсь, посыпаю голову пеплом и опять каюсь, что не подавал признаков деятельности больше месяца. Но, как говорят французские хакеры – се ля Виндовс.

Да, да, все так и было: сначала рухнула ось, потом недели две шли спасательные работы, потом злой начальник 🙁 услал в дальнюю командировку, потом я решил сменить работу, и вот пока я раскидал все эти вопросы, прошел указанный период времени.

Спасибо всем, кто поддерживал рубрику в период моего отсутствия как своими комментами, мессаджами, так и статьями. Особое спасибо MoloT'у,т.к. он чуть было не пустил под откос весь мой образовательно-познавательно-практический цикл статей про таксофонные карты своей статьей про эмулятор. Да, вещь у него описана крутая, конечно, но …

факт есть факт: схему зажал? – зажал, детальное описание работы привел? – не привел, а сам девайс у тебя фунциклирует? Да?! Прекрасно, но что ты будешь с ним делать, когда опять сменят раскладку контактов или тип чипа? Не работает? А почему? И я не знаю.

Так что, давай разберемся с этим делом до конца, поймем, как оно работает и соберем свой девайс, не хуже Молотовского. Итак, насколько я помню мы разобрали основные этапы совместной работы карты и некоего интерфейсного устройства (таксофона то есть). Продолжаем: Установка карты в начальное состояние (Reset):

-все линии устанавливаются в состояние низкого уровня; -подается напряжение питания VCC; -сигнал I/O на интерфейсном устройстве устанавливается в режим ввода;

-на соответствующий контакт (RST) подается высокий уровень в течении 50 мкс, после чего сигнал устанавливается в низкий уровень.

Начальная установка карты в настоящее время используется не во всех чипах, раньше это было продиктовано особенностью внутренней архитектуры чипа, не позволявшей определить его текущее состояние без полного сброса. Чипы нового типа лишены этого недостатка, что и повлекло за собой исключение этого контакта с карт.

Ожидание состояния готовности карты. По сути дела это последний штрих предыдущего этапа, так как интерфейсное устройство определяет готовность карты по появлению сигнала высокого уровня на выводе I/O после окончания сигнала RST.

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

Во втором режиме все то же самое, но только передача данных синхронизируется сигналом CLK. И в том, и в другом случае, обмен данными производится пакетами по 8 бит, то бишь по 1 байту. За исключением маленьких технических нюансов, весь режим передачи данных полностью аналогичен передаче данных по параллельному (LPT) порту в первом режиме и по последовательному (СОМ) – во втором.

Подробности насчет порядка следования и назначения отдельных битов опускаю, так как это сугубо технические детали, которые каждый желающий может найти в оригинале стандарта ISO-7816. Хотя, если большинство выразит свое желание, я могу и описать все это. Отсоединение контактов. Ну тут все элементарно: выдергиваем карту и усе.

Но это у нас так, а по стандарту отключение карты происходит так:

– на все контакты подается низкий уровень; – отключается напряжение программирования (Vpp);

– отключается напряжение питания (VCC).

Именно эти действия и производит таксофон, когда ты нажимаешь кнопку сброса. Вот такой он, этот стандарт ISO7816. Как видишь ничего сложного. На этом мы наконец завершаем второй шаг и следующим нашим шагом будет считывание информации с карты, т.е сборка простейшего hardware и написание простейшего software. Не пугайся слов “простейший” – это не фуфел, все действительно просто.

При всем уважении к вам, Андрей Викторович шли бы вы со своим мнением куда подальше (еще раз прошу прощения). Мой бесcонный июнь дал мне ощутимый результат. Эмулятор на 16F84A.

Да, – что-то не верится, что вы принимали участие в какой-то там разработке. Закупили таксофоны за рубежом и под них карточки.

Не стыдно !!! Знаете поговорку? -“Все, что было придумано одним человеком, может быть повторено другим”.

да НЕ БУДУТ работать никакие эмуляторы на реальных таксофонах (во всяком случае МГТС) это я вам говорю как человек, принимавший участие в разработке всей системы 😉

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

кстати это телефоны очень легко открываются монтажкой, сам пробовал

Здесь пересказана третья часть стандарта ISO7816. Весь прикол заключается в том, что таксофонные карты третьей части стандарта ISO7816 НЕ СООТВЕТСТВУЮТ ! Они соответствуют только первым двум. Что касается сброса, то, для наиболее популярных в России таксофонных чипов, он производится подачей положительного импульса Clk при поднятом в единицу Rst.

Я поддерживаю Molota, считаю, что у него самый доступный вариант эмулятора, и про принцип действия там написано. Не поймут его только те,кто в руках паяльника не держал.

Источник: http://cxem.gq/telefon/2-22.php

Блоги / Пожалуй, лучший эмулятор Android

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

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

К тому же, телефон имеет привычку не находится под рукой пока ты дома. Скорее всего он валяется где-то в коридоре или вовсе стоит на зарядке. Бегать за ним каждый, раз – удел спортсменов.

Я же считаю, что лень – это двигатель прогресса.

Каждый, кто имеет аккаунта steam прекрасно знает, что каждый раз при авторизации нужно искать телефон или планшет за тем, чтобы ввести в клиент заветные цифры идентификации с местного аутентификатора. А уж если вы, не дай Габен, еще и трейдингом карточек занимаетесь, то для вас ввод этих цифр в определенный момент становится просто адом.

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

Перечитав десяток материалов в топами таких эмуляторов я нашел лично для себя более чем удобное решение в виде – Nox App Player. И для этого есть десяток причин, но на ключевых я все же остановлюсь и объясню.

Во-первых, Nox App Player – это решение «из коробки». По сути, вам не нужны вообще никакие знания вашей операционной системы, программирования и танцев с бубнами.

Вы скачиваете установщик, два раза жмете на него и откидываетесь в кресле с довольным лицом. Есть, правда, и минус – через минуту (даже меньше) все уже установится и ваш отдых не продлится так долго, как хотелось бы.

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

Во-вторых, Nox App Player – это стабильная работа. Судя по отзывам найти адекватный и рабочий эмулятор Андройда это та еще забава. Nox App Player спокойно и без лагов работает в WIN10, не просаживает систему работая в фоне или будучи постоянно запущенным с каким-то приложением.

При этом сам эмулятор имеет ряд настроек, которые помогут еще больше оптимизировать работу.

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

В-третьих, Nox App Player позволяет «забиндить» кнопки клавиатуры как способ нажатия на виртуальный сенсорный экран. Объясню чуть подробнее. Формально, большинство функций на современных мобильных ОС реализованы через сенсорный экран, т.е. путем нажатия вами пальцем на экран.

Установка эмулятора не делает ваш ноутбук таковым. И тут, обычно, начинаются весь ад с настройками и прочим, что выносит мозг минуты за полторы. В Nox App Player это сделано достаточно просто.

Есть боковое меню эмулятора, есть всего одна кнопка – никаких «расхлопов», подменю, галочек и прочего.

В-четвертых, Nox App Player – это возможность всегда держать в фоне множество приложений, функционал которых либо не реализован на ПК, либо исполнение хромает. Так, например, инстаграм всегда остается под рукой вплоть до уведомлений прямо в трее самого Windows. Это удобно, если вы привыкли к таким сервисам.

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

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

Ну и напоследок, хотелось бы поговорить о тех самых играх. Неожиданно для себя во время решения проблемы с аутентификатором Steam я подсел на очередную ферму. Правда, градостроительную – SimCity.

При этом мобильный гейминг сам по себе я не очень перевариваю по многим причинам – от технических, до неудобности при игре на экране телефона. Но, внезапно, оказалось, что играть в подобные игры гораздо удобнее на экране ноутбука или полноценного ПК.

Nox App Player же без проблем и глюков запускает любую игру из Play Market и позволяет играть в нее сколько угодно, не садя при этом и не уничтожая батарею вашего телефона. И это удобно.

Таким образом с помощью Nox App Player можно познакомиться с кучей разных игры, которые ранее были не столь привлекательны и интересны в силу форм-фактора устройства, на которым они и должны «играться».

Внимательный и подкованный читатель заметит, что эмулятор – это Андройд 4.4.2. Что по современным меркам считается устаревшей версией. Но я замечу, что почти весь функционал здесь сводится именно к рабочей среде. Задача эмулятора не реализовывать фишки флагманского телефона на стареньком ноуте.

Задача – быстро, стабильно и надежно работать, запуская все действующие и новые приложения. С этим Nox App Player справляется без каких-либо проблем. Я действительно был приятно удивлен тем, что постоянно запущенный в фоне эмулятор не съедает общей производительности ПК почти нисколько.

По крайней мере, по моим личным оценочным наблюдениям.

Что в итоге я получил?

Быстрое, простое и доступное решение. Никаких танцев с бубном, стабильность и производительность. Это звучит банально и избито, но, к счастью, это абсолютно правдиво в случае с Nox App Player. Если вам нужен эмулятор Андройд – Nox App Player лучшее и удобнейшее решение для этого вопроса.

об авторе Не нравится – не читай и не ной.

Источник: https://www.playground.ru/blogs/other/pozhaluj_luchshij_emulyator_android-233149/

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}