问题标签 [tlv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
406 浏览

objective-c - 将 BCD 字节数组转换为 NSDecimalNumber

给定来自特定 TLV 标签的 6 字节数组:

如何将其转换为具有以下值的十进制数:

我试图找到一些已经在 Foundation 中实现的东西,但没有运气。

0 投票
2 回答
454 浏览

android - 如何从支付应用程序向终端发送多个 AID?

我想从我的 android 支付应用程序向终端发送多个 AID。为此如何构造选择命令的响应消息?

假设我从终端获得 00 A4 04 00 0E(14 字节数据)00。作为回应,我发送 6F23840E(14 bytes data)A511BF0C0E610C4F07A00000000310108701019000 。这里我的 AID 是 A0000000031010。如果我尝试连接两个 AID,终端会立即取消交易。我尝试使用以下响应消息进行连接:6F30840E325041592E5359532E4444463031A51EBF0C1B61194F07A00000000310108701024F08A0000000031010018701019000。

我已经使用 TLV Parser 检查了 TLV。链接:https ://www.emvlab.org/tlvutils/?data=6F30840E325041592E5359532E4444463031A51EBF0C1B61194F07A00000000310108701024F08A0000000031010018701019000

你能建议我如何将多个 AID 列表发送到终端吗?

0 投票
2 回答
2580 浏览

arrays - Looking to parse EMV data into TLV

Okay - I have this hex data and I have a list of tags:

the raw data may look like this:

Because I have a list of tags I can see there are multiple values here Tags [5f20, 4f, 5f24]

Ex: 5F201A54444320424C41434B20554E4C494D49544544205649534120204F07A00000000310105F24…ETC

So - I know that I have this tag [5f20] and its value is all the other stuff in between [5f20] and [4f]. —

I can take this other stuff:

1A54444320424C41434B20554E4C494D4954454420564953412020 and create a string from it which becomes: ("TDC BLACK UNLIMITED VISA“)

I can parse through a small section of it like using:

What Im not sure about is: How do I scale this up to work with data where I wont know what tag will be first or second or how many there are? Im seriously stumped and I don't know where to go from here.

Overall my goal is to get create readable data like this: Clean formatted Tags and value

look something like this:

5F201A54444320424C41434B20554E4C494D49544544205649534120204F07A00000000310105F24032307319F160F4243544553542031323334353637389F21031826509A031406179F02060000000000019F03060000000000009F34030203009F120C56495341204352454449544F9F0607A00000000310105F300202019F4E0F616263640000000000000000000000C408491573FFFFFF1097C00A09117101800165E0000AC2820168D9DE289AAD770BE408F6B1D4E0A2576CEA7F03CD479CE3A1827375D6C4D4959ACDB5D3B6F84CD83430F4346C35E48A77A0D5F36FBEA444C2D8701C07FFC7AF06C0485D68F7A83FC30840D3C0766EC4EE669BE5A42BAD4C7459680FAAAE9C4EFEFFEB5A590E53B3E91B3CD28A415C2C9484E26DA5A15592BBCD1F45CF49D27A9D480B031957DF8C790C55FF60DB192CCD070FA4F7BCDC99E7F7567C2F991B5536F9336BA66D68115D54BC3642A9CA47FDD162FCDC33E455AAC283975DACC98CBE9A6611E996F0740072CF8E32D3D9F39F4BB25568F5CC3E7F5DE158E4D62BF4E7185CF13BD068C4F062C26A3BBF88E056F249130E89AA29E52A1EBB6BAD98296822F10949F0C825D1449DA7EF4431AB846D0DDB916F2901359DD9A3B3395BAC9F9BE4D24657F65B030DDADA53577A14D9F5F776B6FF7EAB99D8C4BB08BEF2016C72D94B1DB91BCF0238405B7857646DCE5F79871D96B6A6652090FD8CFCC59973433919A6D0533DFE

0 投票
1 回答
1486 浏览

java - 如何在java中解析TLV标签字符串

我正在尝试解析 TLV 字符串:

在这种情况下,9F08 是标签,后跟长度字段和数据。我可以使用我拥有的当前输入字符串获取所需的字段,但可能存在标签(“9F08”)也可能位于另一个字段的数据部分的情况。我对如何进行这件事感到困惑。

0 投票
1 回答
218 浏览

swift4 - Swift4 在 NSOutlineView 中显示解析器结果

我编写了一个 TLV 解析器,它返回类似于以下标签长度值的结果:

我想在 OutlineView 中显示它,但我不熟悉 store 对象的外观以及如何填充它。不知何故,它需要如下所示:

TLV 解析器演示 TLVparser

应该是这样的: TLV parse result in NSOutlineView

0 投票
3 回答
233 浏览

asn.1 - ASN.1 可以支持将字段长度放在不同的位置吗?

我有一个协议,其在线格式已经定义,我想使用 ASN.1 对其进行编码/解码,但它似乎破坏了定义的 BER/DER/PER 选项。无论出于何种原因,协议开发人员都没有将有效负载大小/长度放在有效负载本身之前 - 所以我不能使用自动 BER/DER。但是由于有效载荷可以是可变长度的,所以我也不能使用 PER。这是一个例子:

所以这里可能有两个问题:

  1. 有没有办法使用 ASN.1 编码之一来指定某些字段作为后面字段的长度 - 所以你可以说位 9-20 包含位 33-N*32 的长度,但你正在跳过位 21-32 可以包含其他不相关的垃圾?
  2. 我可以看到如何编写算法/规则来支持上述内容,所以如果目前没有办法用 ASN.1 做到这一点,是否有办法(和文档)来编写新规则或扩展某种对现有编码的影响?

编辑

为了澄清我为什么要提出 ASN.1,而不重复前面的问题,是因为它几乎正是我正在寻找的 - 只是显然没有办法处理我在这里询问的特定用例。我需要反序列化现有的二进制协议,而且我不想自己编写,因为已经有很多工具声称他们可以做到这一点。如果有人有其他建议,我很乐意尝试。

0 投票
1 回答
315 浏览

antlr - ANTLR4 和解析类型长度值格式

我正在尝试为遵循类型长度值约定的格式创建语法。ANTLR4 可以读取一个长度值然后解析那么多字符吗?

0 投票
1 回答
579 浏览

android - 从字节数组中获取所有数据包(uint)

我正在研究一个 BLE 项目我正在获取以下数据(在扫描 BLE 设备时以字节数组形式)作为广告数据 0x02011A09094F6E65506C757332020AF9 您可以在屏幕截图中看到三个数据包,谁能帮助我如何通过 java 代码获取所有三个数据包.

在此处输入图像描述

0 投票
1 回答
157 浏览

regex - 正则表达式 / Python3 - re.findall() - 查找操作码之间的所有匹配项

背景

我正在对使用 Type-Length-Value 方法来编码数据的 TCP 流进行逆向工程。

例子:

然而,数据是一个数据对象,可以包含多个具有可变数据长度的变量。

目前我正在使用以下 Python3 代码解析数据:

到目前为止一切都很好...

问题

如果 Opcode 出现在前面的变量 Value 中,则该代码不再可靠。

我期待输出:

我的正则表达式似乎有问题?

更新

为了进一步澄清,var3 和 var4 代表整数。我已经设法弄清楚 Value 的长度是如何被编码的。最重要的位被用作一个标志来通知我另一个字节即将到来。然后,您可以剥离每个字节的 MSB,交换字节顺序并转换为十进制。

0 投票
3 回答
983 浏览

javascript - 用于 Javascript 的 EMVCo TLV 字符串解析器库

我想解析一个 TLV 字符串并在我给出标签值时获取该值。

样本:

000201021642333310011114235204546757034445802IN5910我的公司6005Vegas6304bb02

根据 TLV 规则,标签 52 将给出值 5467,57 将是 333。