- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用Delphi编写应用程序,它可以与Android手机和DESFire卡通信。我知道,我必须向卡片发送一些字节,卡片会回答我。我阅读了有关它的文章:
https://ridrix.wordpress.com/2009/09/19/mifare-desfire-communication-example/
我不知道,如何从卡中写入和读取字节?我根据 Daniel Magin 编写了简单的应用程序:
http://www.danielmagin.de/blog/index.php/2014/09/nfc-android-application-with-delphi-xe6-and-xe7/
本程序只能从卡中读取UID。
function TNfc.ReadNFCUID: string;
var
Intent: JIntent;
jIntentName: JString;
IntentName: string;
tagId: Androidapi.JNIBridge.TJavaArray<Byte>;
tagFromIntent: JParcelable;
id: string;
i: Integer;
begin
id := '';
Intent := SharedActivity.getIntent;
if Intent <> nil then
begin
jIntentName := Intent.getAction;
IntentName := JStringToString(jIntentName);
tagId := Intent.getByteArrayExtra(TJNFCAdapter.JavaClass.EXTRA_ID);
tagFromIntent := Intent.getParcelableExtra
(TJNFCAdapter.JavaClass.EXTRA_TAG);
if (tagId <> nil) and (tagFromIntent <> nil) then
begin
for i := 0 to tagId.Length - 1 do
id := id + IntToHex(tagId.Items[i], 2);
end;
end;
Result := id;
end;
最佳答案
我找到了我的问题的解决方案:
..
var
isoNFC : JIsoDep;
tag : JTag;
aRawData : TJavaByteArray;
aResponse : TJavaByteArray;
begin
aRawData := TJavaByteArray.Create(1);
tag := TJTag.Wrap((CurrentNFCTag as ILocalObject).GetObjectID);
isoNFC := TJIsoDep.JavaClass.get(tag);
isoNFC.connect();
aRawData.Items[0] := TCmd.GetApplicationIDs;
aResponse := isoNFC.transceive(aRawData);
..
关于android - 在 Delphi 中与 Mifare DESFire 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26767872/
在多个 Android 设备上,Mifare DESFire 通信被路由到 HCE 而不是脱离主机 (UICC)。 通过基于 OMAPI 与脱离主机安全元素的通信,我已经学会了如何将 AID 添加到
我需要使用 WinSCard 读取 MiFare 卡的序列号。我能够从 MiFare 卡读取 7B UID。 The confusion is that i dont know if the UID
如何从使用 MIFARE 应用程序目录结构格式化的 MIFARE Classic 卡进行身份验证和读取数据?我正在使用 Android。 最佳答案 请参阅 NXP 关于 MIFARE Applicat
除了 NXP 网站上显示的关于 mifare plus 和 mifare desfire 的内容外,还要考虑以下因素: 安全 阅读速度 如果贴上铁氧体层可以贴在手机上,哪个更好? 如果我们将来要进入支
是否有可靠的方法来确定 RFID 卡是 Mifare Ultralight 还是 Mifare Ultralight C? 到目前为止,我发现的唯一方法是利用这两张卡的大小差异,发出超出较小卡边界的读
我正在 android 中使用 nfc,我想知道发现的标签是 Mifare Classic 还是 Mifare Ultralight 还是其他任何标签。请告诉我该怎么做? 最佳答案 尝试 String
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我正在尝试将 PN532 配置为 Mifare 仿真模式。我使用“ACR122U”读卡器进行 Mifare 仿真,使用“OMNIKEY CardMan 5x21-CL”作为读卡器。我成功地将 ACR1
假设我想对 Mifare Classic 进行身份验证。 我如何知道要发送到卡的确切类型的 APDU? 例子。 这段代码: bcla = 0xFF; bins = 0x86; bp1 = 0x0;
[ 请在您的答案中仅考虑 1k 经典卡。 ] 我希望获得一些 RFID 领域的行业知识。具体来说,使用 MIFARE MAD(Mifare 应用程序目录)。我通过查看位于此处的 NXP 发布的 MIF
我知道这篇文章:- Locking mechanism of Mifare Classic 1K 但是,确实不清楚 - 如何在此字符串中计算像 FF 07 80 FF 这样的值: D3 F7 D3 F
[ 请在您的答案中仅考虑 1k 经典卡。 ] 我希望获得一些 RFID 领域的行业知识。具体来说,使用 MIFARE MAD(Mifare 应用程序目录)。我通过查看位于此处的 NXP 发布的 MIF
基于 this article ,我正在尝试模拟 mifare 卡在 android 上管理 APDU。根据 APDU 接收,我的应用程序应该回答正确的 APDU,从而模拟 mifare 行为。 使用
好的,我已经开发了一个与 Mifare Classic 智能卡(非接触式)通信的应用程序。 该应用程序将用于成员(member)身份识别。 目前的方法是将一个 16 字节的值写入卡的 block 4。
有没有办法将 DESFire 卡重置为原始状态?是否有格式化和删除所有内容的命令? 我读到 DeleteApplication apdu 命令删除了应用程序及其文件,但空间仍然不可用。 谢谢。 最佳答
这个问题已经有答案了: Reading Mifare Classic returns strange characters (2 个回答) 已关闭 4 年前。 当我从一个 block 读取 Mifar
我编写了一个简单的应用程序 (C#),以便通过我的智能卡读卡器在我的 Mifare 卡上执行一些 I/O 操作(显然,我使用了一些 Win API 包装)。 我得到的关于 mifare 的唯一信息是“
我使用以下命令来执行我的 Mifare Classic 1K 卡的转储: mfoc -O my_dump.mdf 然后我使用以下命令将转储写入空白卡: nfc-mfclassic w A my_dum
我有一个 MIFARE 1K 标签。某些块可以使用身份验证 key A 写入/读取,而其他块可以使用身份验证 key B 写入。 为什么?例如,如何使用键 A 更改要写入/读取的所有块? 比如我可以用
上周我一直在尝试使用具有默认 key (00000000h) 的 MIFARE DESFire EV1 卡进行身份验证,但无济于事。我关注了this blog对信的指示。我实现了Send mode C
我是一名优秀的程序员,十分优秀!