左手猫头鹰 发表于 2010-10-15 00:15:21

[已解决]POST报文中使用了AMF该怎么处理

本帖最后由 左手猫头鹰 于 2010-10-15 23:47 编辑

要想一个系统发送消息,抓包发现POST Data用了AMF协议,AU3能处理这个吗
本来想直接填写16进制字符串进去,但是16进制的起始位“00”,好像被当成空串截断了,相当于没有填写这个内容
这个是AMF内容的截图

这个是16进制内容的截图

左手猫头鹰 发表于 2010-10-15 00:17:28

想把报文贴出来的,但是发现POST Data那一段,因为“00”的十六进制编码,没有办法黏贴……

republican 发表于 2010-10-15 07:42:37

本帖最后由 republican 于 2010-10-15 07:44 编辑

使用二进制传输,我的UDF支持Post二进制内容。

如果给出Obj下的语法,我可以帮你改成UDF的格式。

左手猫头鹰 发表于 2010-10-15 08:22:35

语法还没有完全搞清楚,不过大概报文规则是这个样子的,我把拼装字符串的代码发出来    ;按照抓包里面内容填的
        $strCatchFishStartLevelAMFHeader = _HexToString("0003000000010021")
        $strCatchFishStartLevelAMFBodyTarget = "amfService.catchFishStartLevelAMF"
        $strCatchFishStartLevelAMFBodyResponse = _HexToString("00022f") & "8"
        $strCatchFishStartLevelAMFBodyContent0 = _HexToString("0000001380a00000002020127") & _
          $bd_sig_session_key & $bd_sig_user & $bd_sig_portrait
        $strCatchFishStartLevelAMFBodyContent1 = _HexToString("004014000000000000")
        ;最后总的内容
        $strCatchFishStartLevelAMF = $strCatchFishStartLevelAMFHeader & _
          $strCatchFishStartLevelAMFBodyTarget & $strCatchFishStartLevelAMFBodyResponse & _
                $strCatchFishStartLevelAMFBodyContent0 & $strCatchFishStartLevelAMFBodyContent1

republican 发表于 2010-10-15 08:29:47

回复 4# 左手猫头鹰

我觉得你应该用Binary.

左手猫头鹰 发表于 2010-10-15 09:08:08

感觉不行,_HexToString("0003000000010021")中数字已经是看到的ASCII码了

用Binary的结果打到文件里面,却0x0003000000010021amfService.catchFishStartLevelAMF,跟我想要的不一样

左手猫头鹰 发表于 2010-10-15 23:24:37

现在成功了,谢谢republican的启发
发现一个系统转换规则,Binary返回的是一个二进制的内存,例如“373839”,对应的内容为“789”的字符串,但是与其他字符串拼接后,就直接变成了“373839”的字符串了。
然后换了一种思考方式,把内容都换成16进制字符串拼装,再最后统一用一次Binary就可了

左手猫头鹰 发表于 2010-10-15 23:25:48

简单附一下源码,给以后有需要的人用        $strCatchFishStartLevelAMFHeader = "0003000000010021"
        $strCatchFishStartLevelAMFBodyTarget = _StringToHex("amfService.catchFishStartLevelAMF")
        ;最后总的内容
        $strCatchFishStartLevelAMF = "0x" & $strCatchFishStartLevelAMFHeader
               
        ;发送消息
        $oHTTP.Send(Binary($strCatchFishStartLevelAMF))

拉风晓晓 发表于 2010-10-15 23:49:40

不用说,这个暴强

zengjinbai 发表于 2011-1-22 13:22:38

记录下 ,有需要

ebhb 发表于 2013-6-28 23:58:58

做个记号,看下。
页: [1]
查看完整版本: [已解决]POST报文中使用了AMF该怎么处理