gpt4 book ai didi

android - 逆向工程 HTTP 请求

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:37 38 4
gpt4 key购买 nike

我正在尝试解码由 Android instagram 应用程序发送到 graph.instagram.com 的帖子数据。该问题与此处发现的问题类似:

Reverse Engineer HTTP request

似乎 iPhone 应用程序处理此问题的方式与 Android 应用程序不同,或者自问该问题以来发生了某些变化。我已经使用 Burp 捕获了流量,似乎主要数据现在作为 .gz 文件发送到 IG:

POST /logging_client_events HTTP/1.1
X-IG-Connection-Type: WIFI
X-IG-Capabilities: 3brTAw==
X-IG-App-ID: 567067343352427
User-Agent: Instagram 24.0.0.11.201 Android (23/6.0; 240dpi; 480x854; LENOVO/Lenovo; Lenovo A2016a40; A2016a40; mt6735; en_GB)
Accept-Language: en-GB, en-US
Content-Type: multipart/form-data; boundary=EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO
Accept-Encoding: gzip, deflate
Host: graph.instagram.com
X-FB-HTTP-Engine: Liger
Connection: close
Content-Length: 4206

--EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO
Content-Disposition: form-data; name="access_token"

567067343352427|f249176f09e26ce54212b472dbab8fa8
--EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO
Content-Disposition: form-data; name="format"

json
--EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO
Content-Disposition: form-data; name="cmsg"; filename="a24cc6f3-23f1-438f-aecb-3f201d312c90_1.batch.gz"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

í][sÚHý/<ÇÞ¾ª»]µÎÈÎâZ‰M›H[[*!HHÀ"0—©ùïûµ„mƒ2v‚�ÎTRCß/ç|§ïú½VÄÿ«�áµp<’Ní¬Æ-�,A¥œ0"j•×m<?ÂNü‡ñ)A|Ú³$ëÃY~IŽ ¶À¹ß&Q\%GÛ(–�=a´‹NÕ‰dqû$Ʋ’�Ðn‡B”n˜'Ù2øŽ˜E\ÉhXÅ ‹"«KOÀCDÙ= ã¨}B»PàÅ$RâÌÊÀúÿ¢Ñ°›ô‚¨Gƒ¢¬G[p£H°PѸ2L¥$¡âmÊCÅ"ò ÚDç qnK×~8ÆüœÄ½YNtK„Ó°vöŸßkÃ0�Á'Ó°7 ó`4é…Ã$
n“xw‚$OªŠ@¬iRÆОĄóSiqpÏG�Y¦}º1DÑ¡²dƒG¼˜N Ÿßky0蘖…±Dq‚1—J p�âŒa]í°
÷È-¦@AgÊ¢¢t©�(Ï$ŒÉ°LGƒX×7^^ÿëÕ*l©Y=áþv5÷¾fE›\êéXÔólõ•\μւw>ei„ŠòË4$7Ú?÷•ÿïyÒùz3ö«[õô*÷Ó‹¥×tæ�OW©Ÿ~IœfÄ\;Kò7šYæÚ7™ÛúÌ�¦Gœæs싹۬/œæ5k4Ôýw½¨Ý,úY”)Ô&Ó¬�è´/°Ó¬/Ý4ZºÍÏ�æ¥Ü™Æ×9qÓkÔ°ÏWŽ}Í»ö€9«Næ§uÒ«ÔI=ä¥ýÄùt½tí/ ¤Gv6ðs¿ïÚ×Ôµ¯ò†}™5Z /ÿOnâØ=î~ºÊtÞN³ŸøÍÏIê‘lØÎ/QçëUm˜Ô‡èïΣÙ0êa4­ÐõmowGY6š€¤é¬Ðþåo蟲“Eí }

--EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO
Content-Disposition: form-data; name="sent_time"

1512267283.408
--EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO
Content-Disposition: form-data; name="cmethod"

deflate
--EuG_-5FMs7IwTX7eBzBDIJ9VEteYsO--

出于某种原因,我无法将“乱码”完全粘贴到二进制文件下方,并且它在几行后就被切断了。

知道这是如何编码的吗?它应该是 .gz,但 Burp 的输出看起来一点也不像。无论如何我可以保存文件以便我可以检查它吗? Burp 和 fiddler 似乎都不支持类似的东西。

最佳答案

要解压缩它,请使用省略标题检查的充气器

Zlib::Inflate.new(-Zlib::MAX_WBITS).inflate(File.read("*.batch.gz"))

在 ruby​​ 文档中我们可能会读到这个

Zlib::Inflate.new(window_bits = Zlib::MAX_WBITS)

为解压缩创建一个新的膨胀流。 window_bits 设置历史缓冲区的大小,可以有以下值:

  • 0 - 让 inflate 使用来自 zlib header 的窗口大小压缩流。

  • (8..15) -覆盖压缩流中膨胀 header 的窗口大小。窗口大小必须大于等于压缩流的窗口大小。

  • 大于 15 将 32 添加到 window_bits 以启用 zlib 和 gzip使用自动 header 检测解码,或添加 16 以仅解码gzip 格式(对于非 gzip 将引发 Zlib::DataError流)。

  • (-8..-15) - 启用不会生成支票的原始放气模式值,并且不会在流结束。

这是为了与其他使用 deflate 压缩数据格式的格式一起使用,例如提供自己的检查值的 zip。

https://ruby-doc.org/stdlib-2.6.3/libdoc/zlib/rdoc/Zlib/Inflate.html

关于android - 逆向工程 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47614735/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com