在android设备中读取和写入mifare卡

在android设备中读取和写入mifare卡,android,android-ndk,nfc,mifare,Android,Android Ndk,Nfc,Mifare,是否可以从本机代码访问android设备上的nfc功能 我想我可以使用本机代码来读写mifare卡,这将增加更多的安全性,因为它不容易反编译。但我不确定本地android API是否支持mifare卡 我有一个用Java编写的应用程序,可以在android设备上读写mifare卡。卡中存储的钥匙和二进制信息已经设计好了,我无法控制 对我来说,对生成的apk进行反编译和除臭是很容易的。因此,即使在加密的情况下,也很容易获得卡的密钥。这是一个问题,因为安全很重要 有没有其他方法可以提高应用程序的安全

是否可以从本机代码访问android设备上的nfc功能

我想我可以使用本机代码来读写mifare卡,这将增加更多的安全性,因为它不容易反编译。但我不确定本地android API是否支持mifare卡

我有一个用Java编写的应用程序,可以在android设备上读写mifare卡。卡中存储的钥匙和二进制信息已经设计好了,我无法控制

对我来说,对生成的apk进行反编译和除臭是很容易的。因此,即使在加密的情况下,也很容易获得卡的密钥。这是一个问题,因为安全很重要


有没有其他方法可以提高应用程序的安全性?我想使提取密钥变得困难。

你所说的是“通过模糊实现的安全”。虽然它总比没有好一点,但它通常被认为几乎毫无用处——不管你把代码隐藏了多少,它都很容易被破解。例如,使用仿真器,我可以在从卡中读取数据的框架函数中放置一个断点,然后放置一个内存断点,查看返回的数据用于查找代码的位置


本机代码不会比Java难多少,任何从事逆向工程的人都精通汇编代码的阅读。最后,你最多只需要几天的时间就可以破解这个设备。你真的需要修理这些卡。

我理解你的意思。正如你所说,总比什么都没有好。我想不出另外一种方法来提高安全性。你可以做很多事情,比如使用自我修改的代码,尝试在使用本机代码后更好地隐藏一些东西,但是任何试图破解你的应用程序的人都可能对所有这些都很熟悉。我怀疑它是否值得额外的实现时间。我甚至不会反编译你的程序。我将我的$50逻辑分析仪连接到nfc芯片,并在5分钟内以明文形式保存您的密钥,无论您在应用程序中进行了多少加密。