Microsoft Fingerprint Reader Windows 7 Hacker
SAN FRANCISCO -- Never mind worrying about hackers stealing your password. A security researcher with the Finnish military has shown how people could steal your fingerprint, by taking advantage of an omission in Microsoft's Fingerprint Reader, a PC authentication device that Microsoft has been. Windows 7 Forums is the largest help and support community, providing friendly help and advice for Microsoft Windows 7 Computers such as Dell, HP, Acer, Asus or a custom build. Don't touch me! - Interfacing with a Fingerprint Reader | Coding. Fun Articles In this installment of the "Some Assembly Required" column, Scott Hanselman creates a Family Fingerprint Manager using . NET 2. 0 that interfaces with the Microsoft Fingerprint Reader and the Gr. Finger SDK from Griaule. Scott Hanselman. Difficulty: Intermediate. Time Required. 1- 3 hours. Cost: $5. 0- $1. 00. Microsoft Fingerprint Reader Windows 7 HackedHardware: Microsoft Finger. Print Reader. Scott Hanselman. Summary: In this installment of the "Some Assembly Required" column, Scott Hanselman creates a Family Fingerprint Manager using . NET 2. 0 that interfaces with the. Microsoft Fingerprint Reader and the. To get this sample to work, you'll need a Microsoft Fingerprint Reader (or other compatible reader) and the Griaule SDK installed. I recommend you uninstall the Digital Persona drivers that came with the Fingerprint Reader otherwise this application may compete for the same hardware if the Digital Persona software is running in the background. A fingerprint reader is a security device available for Windows and Macintosh computer systems that allows users to access the computer without entering a password or completing another security screening. Microsoft Fingerprint Reader was a device that was sold by Microsoft primarily targeted at home and small business users which has been discontinued. Gr. Finger SDK from Griaule. The Microsoft Fingerprint Reader. I love my Microsoft Fingerprint Reader and when I got it I knew I had to. Since there's already a lot of great security software out there like the Digital Persona software that Microsoft shipped with it as well as 3rd party software like. Gr. Finger's Desktop Identity, I wanted to write something a little different. My wife and I made a. New Year's Resolution to be more prepared for emergencies and the like in the wake of Hurricane Katrina. I figured, since we've moved all our identification and important papers into the a safety deposit box, why not a copy of our fingerprints as well? There are do- it- yourself- at- home fingerprinting kits one can buy, but I had this nice Fingerprint Reader lying around.. Interfacing with the Reader. Griaule Software out of Brazil has a nice, clean. COM API SDK that abstracts away the fingerprint hardware supporting a. Microsoft's. You can download a trial of. SDK software and use it for 9. They also include an open- source driver for the Microsoft Fingerprint Reader so you don't have to use the Digital Persona standard stuff if you don't want to. They've got an excellent sample code section with details on how to interface with a read using VB. NET, C#, Java, VB6, even Excel. I started by adding references to their COM APIs and generating an interop assembly as seen in the picture at left. The Ax. Gr. Finger control library includes a small control that you can drag on to your Win. Forms design surface that exposes a number of Fingerprint- related. Finger. Down and Image. Required that make interfacing with the hardware incredibly easy. I created a Picture. Box on my Win. Form that would display the fingerprint being acquired along with ten other. Picture. Boxes, one for each finger. The large picture box will appear only when an image is being acquired then disappear after we copy the large acquired image into one of the smaller "fingertip" images. The large Picture. Box is passed in to a utility class along with a reference to the Ax. Gr. Finger control. As the image is acquired a valid "Handle to a Device Context" or HDC (remember those?) is passed into the Cap. Raw. Image. To. Handle method on the Ax. Gr. Finger. control. When that handle comes back, we just update the large picture box and it displays the newly received image. Once the image has move into the world of Win. Forms, it's considerably easier to manipulate using the System. Drawing APIs. ' Display fingerprint image on screen Public. Sub Print. Biometric. Display() ' handle to finger image Dim handle As System. Drawing. Image = Nothing ' screen HDC Dim hdc As. Integer = Get. DC(0) ' get raw image _Gr. Finger. X. Cap. Raw. Image. To. Handle(raw. If. Not (handle Is. Nothing). Then _pb. Pic. Image = handle _pb. Pic. Update() End. If ' release screen HDC Release. DC(0, hdc) End. Sub. The images from the large picture box are of very high quality and are copied into the smaller fingers one at a time. Loading and Saving the Fingerprints. There's ten fingerprints (assuming you have ten fingers) to save, but should we save them as one file or ten? I decided that folks would probably want one file per family member using File|Open and File|Save method, but they'd want to reserve the right to. PNG) images. I created a very simple in- memory representation of a Fingerprint Database like this. It's actually slightly more complex with custom constructors as such in the actual code, but this is the general idea. I'm going to be storing the high- quality image as. System. Drawing. Bitmap or Image because a byte array is very easily serialized as XML. Public. Class Fingerprints Public Finger. Images(1. 0) As Finger. Image Public. Sub. New() For i As. Integer = 0. To 1. Finger. Images(i) = New Finger. Image() Next i End. Sub Public. Sub Add. Finger. Image(By. Val finger. As. String, By. Val image() As. Byte) Dim i As Int. Int. 32. Parse(finger) Finger. Images(i - 1) = New Finger. Image(image, finger) End. Sub Public. Function Get. Image. From. Finger(By. Val finger. As. String) As. Byte() For. Each fi As Finger. Image. In. Me. Finger. Images If (fi. Finger = finger) Then Return fi. Image End. If Next Return. Nothing End. Function End. Class Public. Class Finger. Image Public _image() As. Byte Public _finger As. String End. Class. Each per- person finger database, like scott. XML similar to the example below. The byte[] is automatically turned into a BASE6. Xml. Serializer. This might be considered inelegant by some, but disk space. An easy enhancement would ZIP up the file, but the savings would only be about 3. Fingerprints xmlns: xsi="http: //www. XMLSchema- instance" xmlns: xsd="http: //www. XMLSchema"> < Finger. Images> < Finger. Image> < Image> i. VBOR.. big opaque BASE6. Image> < Finger> L1< /Finger> < /Finger. Image> < /Finger. Prints> Loading the fingers back into the Form is the exact opposite of saving. We use a standard Windows File Dialog with the filter set to show only . The file is deserialized using the Xml. Serializer and the images are loaded back into the appropriate. Picture. Box. Private. Sub Menu. Load_Click(By. Val sender. As System. Object, By. Val e As System. Event. Args). Handles Menu. Load. Click Dim Open. File. Dialog. 1 As. New Open. File. Dialog '' open "load" dialog Open. File. Dialog. 1. Filter = "FINGER files (*. All files (*.*)|*.*" Open. File. Dialog. 1. Filter. Index = 1 Open. File. Dialog. 1. Restore. Directory = True Open. File. Dialog. 1. Check. File. Exists = True '' load image If Open. File. Dialog. 1. Show. Dialog() = Windows. Forms. Dialog. Result. OK. Then Dim x As. New Xml. Serializer(Get. Type(Fingerprints)) Dim newdb As Fingerprints Using fs As File. Stream = File. Open. Read(Open. File. Dialog. File. Name) newdb = CType(x. Deserialize(fs), Fingerprints) End. Using For. Each item As Control. In. Me. Controls If Is. Fingerprint. Picture. Box(item) Then Dim pic As Picture. Box = CType(item, Picture. Box) Dim b As. Byte() = newdb. Get. Image. From. Finger(pic. Tag) If (Not b Is. Nothing) Then pic. Image = Image. From. Stream(New Memory. Stream(b)) End. If End. If Next End. If End. Sub. I used the Tag Property of the Picture. Box to store the name of the finger. The name is also stored in the . Picture. Boxes. The export works similarly, except I save the contents of each Picture. Box to the selected directory using the given name as a basefilename. For example, if the user said they wanted to export to Foo. I'd create 1. 0 files with names like Foo. Foo. r. 2. png. etc. You can see how easy it is to change image formats using System. Drawing. Image. For. Each item As Control. In. Me. Controls If Is. Fingerprint. Picture. Box(item) Then Dim pic As Picture. Box = CType(item, Picture. Box) If. Not pic. Image Is. Nothing. Then Dim filename As. String = Path. Combine(Path. Get. Directory. Name(Export. File. Dialog. 1. File. Name), (Path. Get. File. Name. Without. Extension(Export. File. Dialog. 1. File. Name) &. "." & pic. Name & ". png")) Using m As. New Memory. Stream pic. Image. Save(filename, Imaging. Image. Format. Png) End. Using End. If End. If Next. To get this sample to work, you'll need a Microsoft Fingerprint Reader (or other compatible reader) and the. Griaule SDK installed. I recommend you uninstall the Digital Persona drivers that came with the Fingerprint Reader otherwise this application may compete for the same hardware if the Digital Persona. Conclusion. There's a number of fun things that could be extended, added, and improved on with this project. Here are some ideas to get you started: Adding a PDF export feature using an open- source . NET PDF Library .. Word using Office Automation and the Microsoft Office Interop Assemblies. Add security by using DPAPI or encrypt the Fingerprint files directly. Add compression by zipping the . Have fun and have no fear when faced with the words - Some Assembly Required! If you do extend this application, be sure to release the source. Thanks again to. Griaule for the use of their SDK. Scott Hanselman is the Chief Architect at the Corillian Corporation, an e. Finance enabler. He has thirteen years experience developing software in C, C++, VB, COM, and most recently in VB. NET and C#. Scott is proud to be both a Microsoft RD and Architecture. MVP. He is co- author of Professional ASP. NET 2. 0 with Bill Evjen, available on Book. Pool. com and Amazon. His thoughts on the Zen of . NET, Programming and Web Services can be found on his blog at.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
September 2016
Categories |