是否可以从本机代码访问Android设备上的nfc函数?
我当时认为我可以使用本机代码来读写mifare卡,这会增加安全性,因为它不容易反编译。但我不确定本机android apis是否支持mifare卡。
我有一个用Java编写的应用程序来读取和编写Android设备中的mifare卡。存储在卡中的密钥和二进制信息已经设计好,我无法控制它。
我很容易对生成的apk进行反编译和反混淆。所以很容易获得卡的密钥,即使它们是加密的。这是一个问题,因为安全很重要。
还有其他方法可以提高应用程序的安全性吗?我想要提取密钥很难。
答案 0 :(得分:2)
您所谈论的内容被称为“通过默默无闻的安全”。虽然它略胜一筹,但它通常被认为是无用的 - 无论你隐藏多少代码,它都会很容易破解。例如,使用模拟器我可以在框架函数中放置一个断点,从卡中读取数据,然后放置一个内存断点,并查看返回的数据用于查找代码的位置。
本机代码不会比Java困难,任何进行逆向工程的人都非常精通阅读程序集。最后,您需要花费几天的时间来充分破解设备。你真的需要修理卡片。