我有认为是ByteArray。在字符串上使用urlencode
时,我会收到此数据......
%0A%82%03%01%11SaleDate%0DToYear%0DYardId%15BuyNowOnly%0BState%0BModel%0FStockId%11FromYear%11FullText%13Inventory%11Category%09Make%0FOrderBy%1DOrderDirection%0FPageNum%11PageSize%01%01%06%05-1%02%06%01%01%01%01%06%0F1024187%06%09Sale%01%01%06%13RunNumber%06%07Asc%04%01%04d
我正在查看php函数unpack,并尝试unpack('c4char/Xstr/...')
其中X是a,a,h,H试图拉出“SaleDate”字符串,但我无法让它工作。
可能是完全错误的做法。我是否需要编写某种自定义解包器?
我甚至不确定我在这里处理的是什么,它是来自flash文件的输出,所以我认为这是一个Amf“ByteArray”,但我对如何解析它感到茫然。
寻找一个方向来开始寻找如何操纵/解析/重建这样的东西。最终,我希望能够通过一个函数来运行它,获得一个关联数组,更改一些值,重新打包它,并以快乐的方式发送它。
我认为它是AMF3,这是消息部分中的数据。
我想如果有一个“主要”问题,我该如何简单安全地操纵该数据串呢?
感谢任何线索。
答案 0 :(得分:1)
有很多AMF反序列化器都是开源的,为了简单起见,尽管AMF3相当简单,但在这里推广自己可能会很有意义。
我在github上看到了这个看起来很有希望的链接:
https://github.com/silexlabs/amfphp-2.0
你可能不想推翻整个框架,但可能会推出这个:
答案 1 :(得分:0)
据我所知,这似乎是供应商特有的专有编码方法。他们使用“字节数组”来实现有效载荷的更大灵活性。如果没有对其编码和解码算法进行完全逆向工程,就没有一种简单的方法可以解决这个问题。