Card Emulation in general - NFC Hacking

Hi there,
right now I am researching for a possibility to emulate a smartcard with a smartphone. As we all know, the standard os and api won't let us do this. What I want to achieve is create a way to use the smartphone for physical access without the need to change the existing infrastructure. o achieve that, the smart phones gets a localy and time limited informationtoken it should present to the reader. In other words, I actually dont realy need access to the secure element, as any data would be temporary.
Right now I am a bit confused about this. Is there a way to use card emulation, without the need of a secure element? I have searched for different ways to acchieve this, but on many ends, I can't seem to find a definitv answer.
For example I stumbled on OpenNFC. They praise that they can acchieve card emulation. Yet, they don't provide any examples on this and fail to actualy deliver some sort of information on the requirements of this. As I understand it, it seems like this method only works when the smartphone uses Inside Secures Chips MicroRead or SecuRead. Anyone knows more about this?
I'm realy open to ideas on this one, as it seems theres little to no documentation or examples to go on.
I'd realy be happy to read about what you guys found out on this issue as of yet.

I've been looking into it too. This is what I have found:
EddieLeeDefcon20.pdf
nfcproxy
(Google them, I can't post links)
So, yeah, it can be done, but you have to modify android to be able to.

I ended up to OpenNFC too, but no sample code!
I have a good background on Mifare Classic 1K and 4K programming using RFM130 under linux and win.
Sent from my HTC One X using Tapatalk 2

Ok, so after browsing the mailinglist like a maniac I found this answer from one of OpenNFCs developers:
Hello,
The OpenNFC stack porting on Android complies to the Google API, as far as the applications are concerned.
Since these API do not allow an APK to do card emulation, it is not possible to use this mode on the Nexus,
nor on any Android phone, with or without OpenNFC.
However, OpenNFC provides card emulation feature for other porting (Win32, linux), depending on the hardware capabilities.
Kind regards,
Stephane
Click to expand...
Click to collapse
Source is on their mailing list on sourceforge, cant post link....
So seems we can forget this one... Only option would be using the Cyanogenmod patch that is used by NFCProxy.

When this message has been posted? I think things has changed (not sure)
Anyway, I posted a message yesterday to have more informations about their projects on Android

The Message is from March 29th, 2012.
Again as I said, if that has changed, they really have to work on their communication to the outside. There seems to be noone but the devs that can say anything about this. And that means quite a lot.

When there is no API for something, we can use native code and directly communicate to NFC hardware. Agree?
Sent from my HTC One X using Tapatalk 2

Well, the way I understand it is, that we could take a build of android and tinker with it to get it to work. We would have to change the NFC softwarestack and its interaction with the rest of the system in order to make software emulation possible. That is quite some pile of nontrivial work to do if you ask me.

Sorry for doing a new reply instead of editing the old one, but I think this is interesting enoug to not get overread.
I got an answer from the OpenNFC Developerteam regarding my question. Part of my question was also if it was possible to emulate for example a Mifare Tag through their NFC Stack. Here is the answer:
Hello XXXXX,
The Open NFC stack is designed to be largely hardware-independent, with a small adaptation module (NAL) for each hardware chipset. However, currently we only provide the NAL module for the MicroRead / Securead chipsets; therefore out of the box we are only compatible with these chipsets.
It is possible to emulate ISO 14443-4A and -4B cards and Type 4 tags from the Open NFC stack; for emulation of MiFare Tag, you’d indeed need to use a Secure Element.
Best regards,
Sebastien.
Click to expand...
Click to collapse
Hope this clears some questions regarding OpenNFC.

Related

What can be done to get open gl working

I am aware that this has been asked many many times, but i don't see a thread for this issue. I would like to know what attemps have been made to get some sort of support. I am by no means a developer, but i will try my best to get things running. Would it be something as simple as taking a a file out of a current android phone with the same specs and modding for use with a touch pro.
I'm simply curious if there is a thread or website around that discusses this and other issues in more detail.
I'm no kernel hacker, but I am...curious.
That's what i would like to know. facts about how far the development is. Maybe we could start a thread that has such progress stated. Where only the devs would be able to post, so we can have us a look.
The best you can do is read the IRC logs from #htc-linux. I think I recall reading in the logs that klinux had gotten OpenGL working on the Pro2, even with applications like Neocore (thought they're apparently slow).
You have to be a little bit more clear on what you mean by "open gl working".
I'm the developer who was working on the open gl for the klinux build. Bottom line is that open gl is working, but not with hardware acceleration. We used then nexus one drivers (adreno200) to enable things a live wallpapers. But it's so slow its not even worth it.
Now to get hardware 3d working 100%? a lot more work and testing. lol.
Well is hardware 3d working for any of the current android ports in any capacity?
Also, I'm so used to reading hardware specs in Desktop computer form. But with these phones, the only thing I know about them is the CPU manufacturer, model number, and speed.
Is there a separate chipset that handles audio graphics etc, or is it completely SoC.
I read about recent Android ports on the iPhone, and it seems they already have things like external audio working. Is this because the hardware on the iPhone similar to another HTC Android phone, more so than the hardware in the Rhodium?
awesome thread... actually informative and supportive.
i think what the OP is saying is how can us lowerscale highend users be more involved, perhaps in the debugging, data gathering... we could start a -sub group dedicated to each corresponding issues... bill gates didnt invent windows, him and his crew did. the more the merrier eh?
I have a long running reverse engineering thing going on. I have been looking for more info other than IRC. I would like to put my good skills to work w/out starting from scratch. Any info?
EDIT: I did find this, It has some helpful starting info: http://www.androidonhtc.com/wiki/Get_Involved
This is a great thread! I've been wanting to get in on some of this action. Hopefully this will reduce some of the clutter in Reefer's thread.
I meant to get hardware acceleration working. How far has this come along since i posted this??
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
mcdull said:
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
Click to expand...
Click to collapse
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
[ACL] said:
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
Click to expand...
Click to collapse
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
garage_man said:
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
Click to expand...
Click to collapse
I actually found HTC_SET_3D_LAUNCHING_FLAG on the wince dmesg. You can do this by doing a pwf dump.txt 0x16a00000 0xFFFF0 in haret. I did it after a cold boot to see if anything is done to the gpu once wince boots.
Loading the dll is easy. just make a simple win32 app and do a loadlibrary. This part works but it's not helping on android. I'm interested to see what mcdull thinks since i think he has ventured a lot into this as well. Right now if we can make a simple app in android to load the libgles_qcom.so directly and trace every step, i think that would be helpful to see where we are failing. I'm close to giving up..lol i already took 2 sick days from work to get to where i am now so i could use some help.
Here is what i got out of the chip in wince.
name: ATI HandHeld Interface
versions: 2.07.05110.34681
Revision: 0
ChipID: 1362104322
revisionid: 0
TotalMemory: 15990784
BusInterfacemode: 2
InternalmemSize: 262144
ExternalMemSize: 0
Surface info: 800x480
surface total bytes 768000
dwFrameBufferPhysical=0x14c00780 m_dwFrameBufferVirtual=0x57e00000 dwFrameBufSize=0xbb800
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Star-Lite said:
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Click to expand...
Click to collapse
We need more devs in general. I ran a trace on a basic app that runs 3d. So there is still a lot of crap to examine.
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
BinaryDroid said:
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
Click to expand...
Click to collapse
Sounds crazy.. i love it.
I was messing around today and made a small app to load the libgles_qcom.so directly to see if i can replicate my winmo success. Most of the ahi functions are included in the android driver as well except for AhiDispSurfGet which made it impossible for me to draw anything on screen.
The chip did pump out the same info as i posted before and it matches so thats a step in the right direction. Means we can recognize the chip with no problems and all 15.25 memory is reporting as well. If i had more documentation on those functions exported im sure i can get the chip to try to display something directly.
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
NewbTrader said:
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
Click to expand...
Click to collapse
learn haret/haretconsole and take a look a the kernel. good place to start. Feel free to come into the irc board if you have any questions

[APP] BT Tag Writer

BT Tag Writer is application that offers you way to add NFC pairing to your old Bluetooth speakers. NFC pairing allows you to pair, connect and disconnect the device just by tapping the NFC tag with your phone. This application is still under development and this thread can be used to request changes and new features for this application.
Market: https://market.android.com/details?id=fi.siika.bttagwriter
Video: http://www.youtube.com/watch?v=IbuLGsXIvKI
--- original first post ---
Hello everybody.
I have been now writing application for Android devices with NFC capabilities. It basically offers wizard interface for writing new NFC connectivity tags for your Bluetooth speaker(s)/headset(s)/etc. And software that will take care of the actual pairing/connecting, when you tap the tag with your phone. NFC pairing is something Nokia does with N9 and it's Bluetooth speakers, but it looks like Android still doesn't handle this well out-of-the-box. Also I still haven't found easy to use connectivity tag writers for any devices.
Sort demo of application in it's current state: Check youtube video kzoG5VM6VcU (can't have this as a proper link, as I only have less than 8 posts to this forum, sorry)
Before I release this software to market, I would like have some people testing it with their speakers and devices. I really hate alpha level software in market. If you have Galaxy Nexus, some sort of Bluetooth speaker(s)/headset(s) and hopefully some writable NFC tags, and you would like to help me to get this software tested: Please tell it here. I still have some small things to resolve before this is ready for closed testing. If you like to help me to get this tested please also tell what sort of Bluetooth device you have and what NFC tags you have available.
I will most likely release this software as free (gratis) and probably in open source (don't know the license yet). So I am not planning stealing your time and then making money out of it. Only thing I can offer to you is to add your name to application's thanks list.
Also if you know software that already does all this, please tell. If my software does not bring anything new, I have to redesign it little bit.
Thanks.
I'd like to test your app.
Got the same NFC-Chip like you (mi(d)fire or something like that I've bought for my old Nexus S) and a Nokia BH-504 Bluetooth Headset and for sure a Galaxy Nexus and a Galaxy S, too
Just tell me how I can help testing...
i would test as well buddy!
s60mike said:
I'd like to test your app.
Got the same NFC-Chip like you (mi(d)fire or something like that I've bought for my old Nexus S) and a Nokia BH-504 Bluetooth Headset and for sure a Galaxy Nexus and a Galaxy S, too
Just tell me how I can help testing...
Click to expand...
Click to collapse
For now this is ICS software, do you happen to have some unofficial 4.0 image in those? I kinda would like to make this 4.0 only software, as all NFC devices most likely will get that update.
S suxeN said:
i would test as well buddy!
Click to expand...
Click to collapse
Your phone is Nexus S? What sort of Bluetooth devices you have, and NFC tags...
I'd love to test this. I've been using NFC Task Launcher to do something similar but it doesn't currently support connecting to a specific device. I'm running ICS on a GSM Galaxy Nexus and have several A2DP speakers I could test with.
Northernmost said:
I'd love to test this. I've been using NFC Task Launcher to do something similar but it doesn't currently support connecting to a specific device. I'm running ICS on a GSM Galaxy Nexus and have several A2DP speakers I could test with.
Click to expand...
Click to collapse
I will fix few annoying things and then will put link to debug apk-file here (maybe Wednesday). I will try to see if I can make it run in 2.3.5+ too. Anyhow software will be limited to Mifare Ultralight tags (original and C versions). I have to buy other type tags to see what I can do with those, but that's later. Common Ndef writer classes does not work at all with Android or then I'm doing something wrong.
Android also really limits clean ways to do intents for more complex tags. So these tags software now writes are not proper connectivity handover tags. Just the core part of those is used and stored as single NDEF mime item and then this app is marked to handle those NDEF messages/records. Positive side with that is of course that information fits to smaller tags. Also PIN code storing will be probably done little hacky way to the first version.
alump said:
For now this is ICS software, do you happen to have some unofficial 4.0 image in those? I kinda would like to make this 4.0 only software, as all NFC devices most likely will get that update.
Your phone is Nexus S? What sort of Bluetooth devices you have, and NFC tags...
Click to expand...
Click to collapse
Like said above. Both devices got ICS and NFC and I've got Midfire NFC Tags...
s60mike said:
Like said above. Both devices got ICS and NFC and I've got Midfire NFC Tags...
Click to expand...
Click to collapse
So many different Mifare tags out there. Mifare Classics will not work (for now).
Anyway, pushed software to market after all. In few hours you should be able to find it from there. Offer still stays, if you can try it out and report issues here it would help. I had to drop headset support for now as it didn't work as well as I hoped.
Great! Will try it out today. Here's the market link https://market.android.com/details?id=fi.siika.bttagwriter
Sent from my Galaxy Nexus using Tapatalk
alump said:
Mifare Classics will not work (for now).
Click to expand...
Click to collapse
Missed that bit. I really must learn to read All the Mifare tags I have are Classic ones.
A couple of initial thoughts after myfirst use of the app...
1) Back when I was on 2.3.7 there was a Bluetooth A2DP widget I used (can't remember the exact name now) that, when you created the widget, would display a list of already paired devices that supported the A2DP profile. Once you'd picked one the widget would attempt to connect to it automatically.
I'd like to see your app do something similar rather than having to go through a pairing process with a device I've already paired with. It's a small thing to do I know, but I'd imagine most users will have already paired with their speakers before ever finding your app. I don't know if you can enumerate paired devices supporting the A2DP profile in ICS though.
2) When your app was scanning for BT devices it would find my speakers but would only display the BT address. It didn't display the BT device name after waiting for several seconds. This may be a BT stack problem though.
3) It looks very nice!
Northernmost said:
Missed that bit. I really must learn to read All the Mifare tags I have are Classic ones.
A couple of initial thoughts after myfirst use of the app...
1) ....I'd like to see your app do something similar rather than having to go through a pairing process with a device I've already paired with...
2) When your app was scanning for BT devices it would find my speakers but would only display the BT address. It didn't display the BT device name after waiting for several seconds. This may be a BT stack problem though.
Click to expand...
Click to collapse
1. Yes my app does not trust the already known devices list. Have to see if I can get that too. Anyway my application does not pair devices that have been paired already. It simply is stupid to not offer those. I have to check if I can used paired devices list too. I have to add some indicator to list what devices are then old known and what are just found with discovery.
2. I have seen "no name" issue only once. But yes, that's "stack problem"... I hope
Anyway I think I have to try to add Mifare Classic support first.
alump said:
1. Yes my app does not trust the already known devices list. Have to see if I can get that too. Anyway my application does not pair devices that have been paired already. It simply is stupid to not offer those. I have to check if I can used paired devices list too. I have to add some indicator to list what devices are then old known and what are just found with discovery.
Click to expand...
Click to collapse
Sorry for spam, but finally this will be mine 8th post
Request to list already paired devices is now added to Market version (0.3). So no need to turn already paired devices to pairing mode when writing tags.
Support for other than ultralight Mifare tags might take some time. Thanks to keys etc those tags are not ideal for this use. I think I will try to add headset support first.
Just to confirm that 0.3 is listing my paired A2DP devices
alump said:
Your phone is Nexus S? What sort of Bluetooth devices you have, and NFC tags...
Click to expand...
Click to collapse
Nexus S, running Brainmasters ICS 4.0.3
Bluetooth devices:
2 headsets
another Xperia ArcS
NFC Tag:
dont have a tag yet, but could get some. Dunno what kind they are!
S suxeN said:
NFC Tag:
dont have a tag yet, but could get some. Dunno what kind they are!
Click to expand...
Click to collapse
My unofficial NFC tag type list (from memory, might have mistakes)
Mifare Ultralight C is my recommendation. If you plan to use this for this, or for example: storing your contact information, storing some url, storing application starter information etc.... Simple, cheap and easy to use alternative.
Mifare Ultralight (non C) is too small for almost anything. You can use it anyhow with my software (limited features) and you can fit sort URL to it.
Mifare 1K, Classic, etc... these are for more secure needs. Or if you really want to store a lot more information to the tag. For non secure usage (e.g. my app) the secure features are just annoying extra that makes things more complex. Key based security so if you mess up with key, then you can't read or replace that data anymore. Also kinda "proprietary alternative".
Felicas are Sony's alternative for all these. Probably not easy to find outside Japan. Topaz is good alternative for Ultralights, but I don't know how well Android supports those currently (haven't tested). And if Broascom/Innovision still makes these? Not too easy to find anyway. And then there are many more... it's a total mess and maybe the main reason why it's so hard for NFC to break big time.
But for the most of use cases: I assume Mifare Ultralight C is the best alternative.
NFC Tag store examples:
TagAge - I'm using this, but mainly because I live in Finland.
NFCDog - is one UK alternative.
And many more, Google search is your friend. And this message has't been paid by either of these stores
alump said:
My unofficial NFC tag type list (from memory, might have mistakes)
Mifare Ultralight C is my recommendation. If you plan to use this for this, or for example: storing your contact information, storing some url, storing application starter information etc.... Simple, cheap and easy to use alternative.
Mifare Ultralight (non C) is too small for almost anything. You can use it anyhow with my software (limited features) and you can fit sort URL to it.
Mifare 1K, Classic, etc... these are for more secure needs. Or if you really want to store a lot more information to the tag. For non secure usage (e.g. my app) the secure features are just annoying extra that makes things more complex. Key based security so if you mess up with key, then you can't read or replace that data anymore. Also kinda "proprietary alternative".
Felicas are Sony's alternative for all these. Probably not easy to find outside Japan. Topaz is good alternative for Ultralights, but I don't know how well Android supports those currently (haven't tested). And if Broascom/Innovision still makes these? Not too easy to find anyway. And then there are many more... it's a total mess and maybe the main reason why it's so hard for NFC to break big time.
But for the most of use cases: I assume Mifare Ultralight C is the best alternative.
NFC Tag store examples:
TagAge - I'm using this, but mainly because I live in Finland.
NFCDog - is one UK alternative.
And many more, Google search is your friend. And this message has't been paid by either of these stores
Click to expand...
Click to collapse
Okay, ima gonna order some and report back to u
music auto start
is there a way to make it so that my music app doesn't auto play my most recently played track when the BT connection is made ... id like for it to simply open the app

Use Android Phone as NFC Tag?

Hello there,
is it possible to use my HTC One X as an NFC Tag?
My goal is to scan a normal NFC Tag (1k) with my phone and store the informations. And then I'll provide this informations with my phone, so an other NFC Reader can read the informations stored on my phone.
Greetz
It is possible as the NXP chip most likely used by the HTC (and known to be in Nexus S/galaxy) can be put into card emulation mode but the current kernel does not support it. There has been at least one user that has gotten it to work on the Nexus S.
Nightskill said:
Hello there,
is it possible to use my HTC One X as an NFC Tag?
My goal is to scan a normal NFC Tag (1k) with my phone and store the informations. And then I'll provide this informations with my phone, so an other NFC Reader can read the informations stored on my phone.
Greetz
Click to expand...
Click to collapse
Hi i believe NFC ReTag will do the trick , or at Least NFC TagReader , can also be use as ask … but that will depend on what you will store in … as you didn’t say it ican’r help you more at this stage.
hope that help
Nightskill said:
Hello there,
is it possible to use my HTC One X as an NFC Tag?
My goal is to scan a normal NFC Tag (1k) with my phone and store the informations. And then I'll provide this informations with my phone, so an other NFC Reader can read the informations stored on my phone.
Greetz
Click to expand...
Click to collapse
I'd really like to do the same thing.. but haven't had any success in finding a way to do that. I would personally love to scan my work badge and use my phone instead of my badge which I commonly leave at home. It would also be great for hotels where I commonly lose my hotel key and could instead use my phone.
Any advice on these being a possibility. Any additional information I need to provide. I personally have the HTC EVO 4G LTE and my wife has the Nexus S 4G that I could use.
card emulation
try NFClassic.apk its in the android market, i cannot confirm it works but it appears to and i will test it tomorrow, it recognises my work card it picks up 2 tags, one will be door access and the other is canteen credit, (the app doesnt tell you this, but i know there 2 parts to the card, as i recently cancelled a card then found it, and can no longer access doors with it, but can still use it in the canteen) anyway the app reads the card and asks if you want to save the info, save it, the you will see it under saved tags click the tag, and click share tag, it then appears to emulate the tag as a card so it can be read by a nfc card reader, but i dont have a reader to confirm this, but i will try it tomorrow night at work to see if the doors accept it, ill let you know my results
and if anyone else know of any apps that can definatley emulate cards on galaxy s 3 let me know ! the more software i can try at work the more likely ill find one that works, i only got my s3 yesterday and have been of work so havnt tested any app, but NFClassic is the only one that appears to emulate my card.
note the app cannot write cards, only has options to write contact to card but when tried it force closes. i would definatly like to be able to write to card if at all possible ( free lunch copy card when it has credit , when run out of credit, re-write info = credit again its gotta be possible somehow ! )
okz19 said:
try NFClassic.apk its in the android market, i cannot confirm it works but it appears to and i will test it tomorrow, it recognises my work card it picks up 2 tags, one will be door access and the other is canteen credit, (the app doesnt tell you this, but i know there 2 parts to the card, as i recently cancelled a card then found it, and can no longer access doors with it, but can still use it in the canteen) anyway the app reads the card and asks if you want to save the info, save it, the you will see it under saved tags click the tag, and click share tag, it then appears to emulate the tag as a card so it can be read by a nfc card reader, but i dont have a reader to confirm this, but i will try it tomorrow night at work to see if the doors accept it, ill let you know my results
and if anyone else know of any apps that can definatley emulate cards on galaxy s 3 let me know ! the more software i can try at work the more likely ill find one that works, i only got my s3 yesterday and have been of work so havnt tested any app, but NFClassic is the only one that appears to emulate my card.
note the app cannot write cards, only has options to write contact to card but when tried it force closes. i would definatly like to be able to write to card if at all possible ( free lunch copy card when it has credit , when run out of credit, re-write info = credit again its gotta be possible somehow ! )
Click to expand...
Click to collapse
You can try, but it's probably not going to work.
Bardamuz said:
Hi i believe NFC ReTag will do the trick , or at Least NFC TagReader , can also be use as ask … but that will depend on what you will store in … as you didn’t say it ican’r help you more at this stage.
hope that help
Click to expand...
Click to collapse
NFC ReTag can´t do that ... but a lot of other cool stuff
I tried nfclassic and that didn't work I'm also looking for NFC card emulation
I'm not sure about other phones but Evo4GLTE's have Android beam that should do what is wanted
This didn't even occur to me til I saw this thread. I will be trying with my work badge since I occasionally forget mine as well...
I am still deciding between getting the S3 and the EVO 4G LTE. Leaning towards evo... but haven't played with the s3 yet.
I don't have your HTC, although there's documented info for the nexus s where devs were successful in emulating mifare most of the code is still on dev android. Its not full reigns of emulation but depending on your level of tech you can do some pretty cool stuff. I don't know how far this has gone but I remember people getting some functionality on new galaxy. Check out the link.
http://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html
How does google wallet do it? Doesn't that emulate a secure card?
Sent from my GT-I9300 using xda premium
Zanith said:
How does google wallet do it? Doesn't that emulate a secure card?
Click to expand...
Click to collapse
I was thinking the same thing!
The most "advanced" operations that i was able to do with the Galaxy Nexus were saving actions with differents cards. But that's all.
By the way, i use NFC ReTag to achieve it.
What I was just referring to was emulation how I perceived the op was looking for. Example you use a card at work to open a door and wanted to emulate that so you could use your phone instead. However with gwallet or say paywave then you'd need to have the secure key which obviously wouldn't just be given out otherwise you would be able to emulate anyone's card. Hence the secure element. Then it would be ridiculously insecure. Ex. If I took a friends paywave and was able to emulate it then now I in theory just stole their credit card . It's also why gwallet won't work without a secure element like on my sgs2.
Sent from my SGH-I777 using xda premium
WOW interesting topic
Nizda1 said:
I don't have your HTC, although there's documented info for the nexus s where devs were successful in emulating mifare most of the code is still on dev android. Its not full reigns of emulation but depending on your level of tech you can do some pretty cool stuff. I don't know how far this has gone but I remember people getting some functionality on new galaxy. Check out the link.
http://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html
Click to expand...
Click to collapse
anyone trythis
ive seen the video after flashing and kinda dissapointed
bcos they cannot prove that nexus s can be the nfc tag anyway they donk have the reader too to test it
Hmmm...
Hey guys.. i went searching in the marketplace for an app that does just that (emulate a RFID)...
And... I FOUND ONE!It's called NFC Classic Tag Reader
It was able to read my cards and apparently emulate it but i have no idea if it works cause my door does not detect it... and i have no other NFC devices...
I'm using a SHS-5120 door lock... and that only registers the serial no of the tags programmed and allows only those to enter...
Read on the comments that ICS users are not getting it to work but previous 2.3.3 user reviewed that it was working like a charm...
Oh and i'm using a S3... which of course is ICS...
I reckoned Google Wallet will store something into the mobile NFC chip. Make the phone like a RFID card or tag.
I also noticed some Korean telecom operators has their apps integrated on the Android phones which have the Membership card, Voucher, Credit card etc. functionality. That means the NFC enabled phone can be acted as RFID card or tag.
Is there anyone know where we can find the source code sample from Google development website we could look into this kind of project?
We have HID sensors on doors at work as well as a clocking in system and both use different cards so I'm going to have a go with them on Monday with my SGS3.
SimonCraddock said:
We have HID sensors on doors at work as well as a clocking in system and both use different cards so I'm going to have a go with them on Monday with my SGS3.
Click to expand...
Click to collapse
any luck with doors?
Anyone any luck with being able to push/publish his phone as a card? Like for instance with doors?
We have Mifare Classic cards which open doors, reading the card isn't a problem, but being able to emulate your phone as a card has proven to be more difficult..
How does one turn his phone into 'beacon mode' (being able to receive the door's power boost and return card info) ?

[Q] nfc-tools on Android?

Has anyone tried porting anything based on libnfc (libnfc.org), such as nfc-tools (code.google.com/p/nfc-tools), to Android?
I've heard of the odd person or two managing to cross-compile libnfc for Android and get it working with an external reader, but I'm more interested in getting nfcutils and mfoc to run on my Galaxy Nexus...
Hi,
I was looking for the same thing as you.
Indeed some people succeeded to compile libnfc on android (android 2.3 if I remember well) and they have published a little outdated tutorial.
The problem that is their porting use libusb and permits to use an external NFC reader connected via the phone USB link.
I think you are most interested in using the internal one.
On my galaxy SIII, the NFC device seems to use an I2C link (the device is /dev/pn544). So you will need to make a libnfc "driver" for your device wich link to the I2C. I you look into libnfc code, you have some code to mange serial links but it seems a little experimental.
Moreover, there is already a driver and a lib that manage your NFC device, so you'll probably have some conflicts by trying to add libnfc.
The built-in lib is libnfc-nxp wich also includes drivers, hardware abstraction and a upper level libraries (called "FRI") providing services to manage cryptography, NDEF messages and so on. This lib is completely different from the linux libnfc.
So if you want to get lib-utils working, you will probably need to compile them after developing a wrapper between libnfc functions using libnfc-nxp. (or something like this)
In my knowledge, nobody did the job yet.
I found some tries to recode mfoc utility in an android apk but nothing functional yet (and there is often no recent activity of these projects).
Sorry.
I found this:
https://github.com/ehabkost/nfc-tools (last activity two years ago)
It appears the Android API lacks some features to get the mfoc running.
It may be possible to overcome this modifying the libnfc-nxp source in the android repo....... who knows.
Porting [nfc-tools] libnfc to Android 4.4.2
Does anyone have news about this ?
I did some research though but instead of creating a new thread, I ended up here.
if anyone is still interested, I have compiled libnfc and nfc-list from last commit on git and works on my Nexus 5 5.0.1
You can find here github.com/etmatrix/libnfc and github.com/etmatrix/libusb01 for libusb
I attached an usb device SCL3711-NFC&RW and nfc-list show me a Mifare Classic and SRIX4K.
I need to improve external module libusb, libnfc look at /tmp/libusb-0.1.12 for linking.
etmatrix said:
if anyone is still interested, I have compiled libnfc and nfc-list from last commit on git and works on my Nexus 5 5.0.1
You can find here github.com/etmatrix/libnfc and github.com/etmatrix/libusb01 for libusb
I attached an usb device SCL3711-NFC&RW and nfc-list show me a Mifare Classic and SRIX4K.
I need to improve external module libusb, libnfc look at /tmp/libusb-0.1.12 for linking.
Click to expand...
Click to collapse
Hey! I'm just trying to get into this issue, and I would really appreciate if you could help with some piece of advice
I've digged up all google, but all instructables are dated 2010-2012, I am sure that there should be some progress in this area! My goal is to flash libnfc to Android and make it use an internal nfs chip
Can you contact me? It would also be great to have a compiled file to install libnfc to my galaxy s3 and some explanation, because unfortunately I'm just a beginner in this, though a really ambitious
Thank you!
Bump.
Any news on this? I'd really like to be able to read my public transportation pass to see how much I have credit left (It is mifare classic 1k). There is no official app to read it either (nor unofficial for what I know).
You can try the app "västtrafikreader" or vasttrafikreader. You have to google it yourself.
Classik k1 efter carry heavy encryption wich makes is almost impossible to ream them. But in vasttrafikreader they got the keys for the swedish system and the cards can even be manipulated.
Its rather safe to say that you basicly cant carry out the hack w/o the proper keys.
There have been ports of mfoc and similar tools for Android in the past, but only for externally connected NFC-Readers, since the Android APIs don't allow the necessary access to the internally embedded NFC chips. The best app for working with Mifare Classic NFC chips is the "MTC - Mifare Classic Tool", which is available on the Play Store. It's open-source on GitHub and supports reading and writing to the chips if you add the keys to the dictionary file or if the sector you're trying to access uses one of the default keys. This app could totally be expanded with mfoc-like functionality, at least on rooted devices, but for now you have to run mfoc on the PC once to get the keys, add them to the dictionary and afterwards you're able to get full read/write access to all sectors of the specific chip from a supported Android handset (hardware-wise, depends on the NFC chip used).
hello, its been 4 yearsany news on an internally embedded NFC chips mfoc functionality ?

USB Accelerometer on Joying radio

Hi,
Sorry, I had already posted this on another section but I think this one is more appropriate and can't delete other post.
I have a Joying JY-NL124 android car radio, which does not have an accelerometer. I bought the Yocto 3d V2 http://www.yoctopuce.com/EN/products/usb-position-sensors/yocto-3d-v2 to see if I could get it to work with torque and other android apps for the track but although android sees the device the apps do not. I am not a programmer, but is there a way to get the apps to recognize an external accelerometer like some do for an external GPS?
Very interesting. I would like to know as well. It might also be usefull in navigation to get a faster direction orientation.
I was reading up on this again and this bit means someone with the know how would probably need to code something
The main advantage of this solution is that you don't need to install a driver to communicate with a Yoctopuce module, as the HID layer is always present. You only need to add our library, that we provide in source form, to your driving software for it to be able to directly talk to Yoctopuce modules.
Click to expand...
Click to collapse
Have you tried contacting them directly and asking if they can do this for you?
sinnedone said:
I was reading up on this again and this bit means someone with the know how would probably need to code something
Have you tried contacting them directly and asking if they can do this for you?
Click to expand...
Click to collapse
Uff, sorry for the late reply. Life has a way of getting in the way of interesting projects. I'm about to restart this project since I'm using the car a lot on the track. It's weird that the units don't come witha compass, gyroscope, accelerometer, etc, considering they are meant to be used in moving vehicles.
Definitely post up if you figure it out.
It would be nice to get it to work with Android as a whole. If that's the case you might need to talk to one of the ROM developers to see if it's something they can do ROM wise or even a custom kernel.(the kernel bit might be a little harder)
Did anybody get this right. It would be cool if these usb accelerometer could work in the apps
flash_xx said:
Hi,
Sorry, I had already posted this on another section but I think this one is more appropriate and can't delete other post.
I have a Joying JY-NL124 android car radio, which does not have an accelerometer. I bought the Yocto 3d V2 http://www.yoctopuce.com/EN/products/usb-position-sensors/yocto-3d-v2 to see if I could get it to work with torque and other android apps for the track but although android sees the device the apps do not. I am not a programmer, but is there a way to get the apps to recognize an external accelerometer like some do for an external GPS?
Click to expand...
Click to collapse
I'm very interested to understand whether this is possible as I am thinking about a similar setup. You tried the three Bluetooth tips in the roll up thread?
https://forum.xda-developers.com/an...roll-joying-2gb-sofia-mtcb-mtcd-tips-t3555249
"Bluetooth Tethering & BT Settings", "Difficult to pair BT devices" and "Modified stock bluetooth app to allow connection to all devices"
Have you tried external GPS for higher refresh rates or is the Head Unit gps refresh good enough for the track?
Bob
MX5DrIver said:
I'm very interested to understand whether this is possible as I am thinking about a similar setup. You tried the three Bluetooth tips in the roll up thread?
https://forum.xda-developers.com/an...roll-joying-2gb-sofia-mtcb-mtcd-tips-t3555249
"Bluetooth Tethering & BT Settings", "Difficult to pair BT devices" and "Modified stock bluetooth app to allow connection to all devices"
Have you tried external GPS for higher refresh rates or is the Head Unit gps refresh good enough for the track?
Bob
Click to expand...
Click to collapse
Sorry....USB not Bluetooth... Also discouraging. I was hoping USB would be an alternative to BT for track add-ons...
I too have an Android head unit and do track days, and have the exact same interest as you. I use Harry's Lap Timer. I have the Pumpkin AE0273B head unit. It too lacks the compass and accelerometer. I too found this to be a very unfortunate omission.
I have developed apps actually so I do know Android program to some degree (although I am sortof a hack, not a pro). I have apps on the Play Store (since I can't post links just search Play Store for developer JimRoal). I saw the Yocto stuff. When I get some time I will look into this some more.
Any update on this? Would also like to add a compass / accelerometer to my joying.
Also interested. But on a newer 10.0 unit. Something I am going to look into.
nFiniti said:
Also interested. But on a newer 10.0 unit. Something I am going to look into.
Click to expand...
Click to collapse
Sad that over 4 years after I first posted this we still don't have a unit with these features. I finally gave up and bought an AIM Solo 2 DL.
I'm looking for a newer radio though, since mine is older than this thread
Still waiting as well.
Looking forward for solution, we have also WIMOTION sensors in the market with sample android apk but I'm not a developser so, put things together is hard for me !
I think the hard job is try to mock the sensors in Android AS IF external accelerometer was factory embeeded (allowing apps to recognize it)
Nothing new about this project / idea ???
?? dead ???
mariodantas said:
?? dead ???
Click to expand...
Click to collapse
Once you've figured out how to modify the kernel, you should be good to go!
Another option could be sensor to serial over USB, via a compatible adapter, write an app and there you go. Of course it won't be standard Android though.
Drivers are here
https://elixir.bootlin.com/linux/v4.14.133/source/drivers/iio/imu/st_lsm6dsx
The problem is adding them to kernel !
You dont need to add them to the kernel. You will need to implement an Android HAL that can read the values of these sensors. Its not a trivial task but also not very hard if you have access to the source code

Categories

Resources