Программу для снятия отпечатков пальцев

Сканеры отпечатков пальцев стали популярной функцией на мобильном рынке. Одним из преимуществ использования дактилоскопических сенсоров является то, что вам не нужно постоянно вводить пароль, чтобы разблокировать устройство. Если в вашем аппарате под управлением Android нет сканера отпечатков пальцев, но вы бы хотели воспользоваться его функциональностью, то у вас появилась такая возможность в виде приложения Finger Print App Unlock, которое имитирует работу сканера отпечатков пальцев.

Finger Print App Unlock использует основную камеру вашего смартфона, которая, обычно, имеет большее разрешение, нежели фронтальная.

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

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

Содержание статьи

Сразу оговоримся, что в этой статье речь пойдет о смартфонах на базе Android 6.0, в которых сканер отпечатков и доступ к нему реализован согласно требованиям Google. Только такие смартфоны позволяют сторонним приложениям использовать сканер в своих целях. Китайские и некоторые другие смартфоны со сканером отпечатков и Android 5.0/5.1 не подойдут, так как хоть и поддерживают разблокировку смартфона прикосновением пальца, но не имеют API, с помощью которого сторонний софт мог бы его задействовать.

1. Вешаем на сканер кнопку «Домой», «Назад» или любую другую

Наверное, самое полезное применение, которое можно придумать сканеру отпечатков, — это повесить на него одну из хардварных или экранных кнопок, будь то «Домой», «Назад» или «Обзор». Все это позволяет сделать приложение Fingerprint Quick Action.

Устанавливаем приложение, ставим галочку напротив пункта «Разрешить Fingerprint Quick Action». Откроется окно «Спец. возможности», в котором необходимо найти приложение и включить его. Далее можно повесить на одиночное, двойное нажатие или свайп по сканеру одно из множества действий, включая кнопки «Назад» и «Домой», а также «Выключить экран», «Показать панель уведомлений» (как в Google Pixel), «Разделить экран» (для одновременного запуска двух приложений в Android 7.0) и другие.

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

Вешаем на сканер отпечатков кнопку «Домой» Вешаем на сканер отпечатков кнопку «Домой»
Вешаем на сканер отпечатков кнопку «Домой»

2. Запускаем приложения

Тот же Fingerprint Quick Action позволяет с помощью сканера запускать приложения. Это может быть очень удобно, если чаще всего ты используешь смартфон, например, для общения в Telegram/WhatsApp или звонков. Так доступ к телефону или мессенджеру всегда будет под рукой.

Читайте также  Саундбар lg dwam82 db

Выбрать приложение можно таким же способом, как и назначить кнопку. Необходимо промотать список действий до самого конца и выбрать Launch app or shortcut (да, приложение переведено не полностью), далее в главном окне приложения появится пункт Single tap app or shortcut. Тут можно будет выбрать приложение.

Используем сканер для запуска приложений Используем сканер для запуска приложений
Используем сканер для запуска приложений

3. Защищаем приложения

С помощью сканера отпечатков можно не только запускать, но и защищать приложения. Для этого можно использовать App Lock — приложение, позволяющее закрыть доступ к выбранным приложениям с помощью PIN-кода, паттерна либо отпечатка пальца.

Пользоваться им очень просто. Запускаем приложение, включаем «Разблокировать отпечатком», далее вводим либо PIN, либо паттерн (здесь он зовется рисунком), пропускаем экран с просьбой ввести email, на следующем экране переходим в настройки, выбираем App Lock, активируем и возвращаемся. На следующем экране появится список приложений. Чтобы включить защиту, достаточно активировать переключатель напротив имени приложения. Теперь при попытке запустить приложение появится просьба поднести палец к сканеру.

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

«Защищаем» приложения с помощью App Lock «Защищаем» приложения с помощью App Lock
«Защищаем» приложения с помощью App Lock

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Тонкости программирования

Дано: небольшое Windows .NET приложение с которым работают до 5 пользователей
Требуется: для входа в приложение вместо традиционного ввода пароля использовать сканер отпечатков пальцев

Немного теории

В общем в использовании сканера отпечатков нет ничего сложного. Сначала приложение сканирует один или несколько отпечатков пальцев и выделяет какие то особенности рисунка. В дальнейшем эта информация позволяет проверить, тот ли человек пытается сканировать палец, который предоставил образцы отпечатков или кто то другой. Процесс получения образцов отпечатков именуется Enroll. Процесс последующей проверки отпечатков Verify. Процедура поиска пользователя по его отпечаткам — Identification. Так как процесс проверки пользователя по сути не может дать однозначного ответа действительно ли это тот самый пользователь, который нам нужен существует некая величина, количество баллов, которое показывает насколько вероятна ошибка при идентификации пользователя (MatchingThreshold, score).

Хотя принцип работы с отпечатками пальцев простой и одинаковый для любого приложения, на данный момент нет стандарта для единообразной работы со сканерами любого производителя. Соответственно нет и универсального SDK, который позволит использовать любой сканер. Работы по стандартизации ведутся, но пока ни к чему не привели. Между тем Microsoft вместе с Windows 7 пытается продвинуть свой стандарт — Windows Biometric Framework (WBF). Я расскажу о нем немного в последующий статьях.

Читайте также  Прошивка на телефон хуавей

Переходим к практике

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

$1000). Что интересно, для работы с Linux часто есть и бесплатные версии SDK в отличие от библиотек под Windows. Есть и сторонние решения, позволяющие использовать множество различных устройств с помощью одного и того же SDK, но для каждого конкретного сканера нужно смотреть, поддерживается ли он. Цена сторонних решений сравнима с ценой SDK от производителей устройств. Тем не менее, существует бесплатное решение, работающее в Windows от neurotechnology.com. А именно Free Fingerprint Verification SDK. В этой бесплатной библиотеке не обходится и без ограничений. Существует только версия, работающая с 32 разрядными операционными системами от Microsoft. Данные о пользователях сохраняются только в специальном формате, предоставленном производителем. Сохранить можно данные не более чем по 10 отпечаткам. Не поддерживается Identification. Как видим, ограничения довольно жесткие, но по условиям задачи нам этого достаточно (будем считать, что у нас 32 разрядная Windows). В полной версии все эти ограничения сняты — работает она в любой ОС, сохраняет данные об отпечатках в любой базе данных. Но и цена соответственно составит примерно $1000 …

Хватит слов, давайте уже начнем

Начнем мы немного позже, для начала нужно скачать с сайта Neurotechnology дистрибутив FFV SDK по этой ссылке. Размер файла немаленький, 140 мб. Но в состав кроме собственно файлов SDK (для нескольких популярных языков программирования, включая .NET) входит и набор драйверов для большого количества сканеров разных производителей. Я использовал в работе сканер UPEK Eikon. Часто сканер отпечатков встроен в корпус ноутбука, такой сканер также вполне подходит для использования. Перед тем, как начать экспериментировать с SDK убедитесь, что на вашем компьютере не запущены никакие приложения, работающие со сканером. К примеру в моем случае приложение Protector Suite, которое предоставляется производителем оборудования не давало тестовому приложению работать нормально. При попытке доступа к сканеру возникал конфликт и оба приложения закрывались с ошибкой. Для проверки того, что ваш сканер на самом деле поддерживается и для подтверждения работоспособности SDK запустите прилагаемый пример из папки FreeFingerprintVerificationSDKinWin32_x86CSharpSample.exe. Выберите в открывшемся окне со списком поддерживаемого оборудования ваш сканер.

Обратите внимание на поля ввода внизу формы. Первое поле (fingerprint database) служит для указания имени файла, в котором будет сохраняться информация о сканированных отпечатках.
Второе поле (password) позволяет закрыть сохраняемые данные паролем (кого это останавливало 🙂 )
Третье поле (user database) содержит название файла, в котором сохраняются некоторые дополнительные данные о пользователе, к примеру его имя и т.п.

После выбора сканера мы переходим в основное окно приложения.

Как можно заметить приложение поддерживает основные операции, представленные в SDK: Enroll, Verify, Delete. В правой части экрана представлен список пользователей, которые зарегистрированы в программе.

Кроме того, можно очистить базу данных полностью (clear database) или задать параметры распознавания (количество баллов, которое должен набрать отпечаток чтобы признать соответствие его параметров определенному пользователю)

А вот так выглядит окно программы после сканирования отпечатка

Необходимый набор файлов в .NET приложении

Для нормальной работы приложения необходимо скопировать в папку с исполняемым приложением два файла: NffvServer.exe и Nffv.dll. Кроме того нужно добавить в папку fpsmm (относительно исполняемого файла) несколько файлов, специфичных для вашего оборудования. Список этих файлов можно найти в документации, поставляемой в составе SDK или использовать утилиту из папки redistributable, которая скопирует все требуемые файлы в указанную вами папку.
Пример: FFVSDKRedistributable.exe /DOTNET /Eikon /D=c: emp

Читайте также  Рычаги jp group отзывы

Ключевые методы SDK

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

Первый метод осуществляет инициализацию сканера

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

Метод для вызова Enroll

Если stat == NffvStatus.TemplateCreated сканирование отпечатков и проверка пользователя прошла нормально. поле score содержит количество баллов, которое набрал пользователь при проверке. Нулевое значение рассматривается как неудачная проверка. Значения больше нуля условно означают что проверка пройдена. Порог, при котором проверку нужно считать успешной устанавливаете вы сами. Мой опыт показал, что значения score > 35-40 уже можно считать достаточными. Производители рекомендуют использовать значения от 48 и более

Для удаления пользователя из базы нужно удалить его из коллекции пользователей

(не очень удобный подход, но ничего другого не предлагается)

Полная очистка базы данных соответственно выполняется так:

Чтобы остановить операции со сканером можно использовать метод _engine.Cancel(); вызов метода немедленно прекращает операцию и продолжает выполнение потока работы со сканером.

Советы

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

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

Заключение

Я думаю что хотя статья и небольшая, приведенной информации должно быть достаточно для «быстрого старта» 🙂 Если что то осталось непонятным — жду ваших комментариев.

Использование сканера отпечатков пальцев в Windows приложениях : 7 комментариев

Очень интересно, буду пробовать со своим ноутбуком. Хотелось бы ещё исходники вашего примера.

  1. Дмитрий Васильев Автор записи 23.09.2010 в 01:45

Исходники есть в SDK, я думаю нет смысла их выкладывать … или есть? Без SDK они бесполезны, как мне кажется.

Упорно не видит мой сканнер. Винда говорит что это AuthenTec Inc. AES2501A.
Жалко, а хотелось побаловаться.

  1. Дмитрий Васильев Автор записи 23.09.2010 в 01:45

Вообще, AES2501A в списке поддерживаемых сканеров нет … но я бы попробовал
1. Проверить не блокирует ли какое нибудь приложение сканер (скажем родное приложение от Authen Tec Inc.), возможно его деинсталлировать.
2. Поставить драйвер из состава SDK и проверить с ним.
3. Внимательнее к галкам выбора загружаемого модуля — некоторые конфликтуют между собой

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

Информация устарела: сейчас есть VeriFinger 7.1 Standard SDK это программа сканера отпечатков пальцев универсальная — поддерживает очень много железяк и х64 разряда Win 8.1, Win 10.

Ссылка на основную публикацию
Adblock
detector