【问题标题】:What is this encoding这是什么编码
【发布时间】:2017-07-28 22:01:36
【问题描述】:

检查这个网址: http://m.livescore.com/~~/app1-category/soccer/germany?tz=1&tzout=1

这应该是 json 提要。 可能编码为 gzip,开头带有时间戳。

HTTP/1.1 200 OK Date: Wed, 08 Mar 2017 10:53:32 GMT Content-Type: text/plain Cache-Control: max-age=5 Pragma: cache Content-Encoding: gzip Expires: Wed, 08 Mar 2017 10:53:37 GMT Last-Modified: Wed, 08 Mar 2017 10:53:32 GMT Vary: Accept-Encoding Content-Disposition: filename=germany.JSON Server: origin X-Cached: HIT content-length: 7277

内容如下:

Query-Expiry::: 2017-03-08 11:27:40Q0Ydk"KGF("Vdl"L=*"X\d"P=,"Z^__d"HM,"Z"EIm%#$K=GK("d"HH,"Z"EI6M?IMJ"f"7?."\b__f"\@D-"[g"FGJ>t"["OC5@N@x"i"CCn" "SG9DH:;"m">=~"Y]e"4HIs"Z^f"+P

我尝试使用 gzip,但它抱怨它不是 gzip。 我只是想知道有人熟悉这种格式并告诉我它是什么以及它在 javascript 中是如何使用的。

【问题讨论】:

  • @deceze 太宽泛了??您还需要了解什么?
  • 1) 问题完全取决于第 3 方 URL 的内容;一旦消失或改变,这个问题就变得毫无价值。 2)您是否尝试过缩小范围?你已经怀疑它是什么了;您是否尝试在删除时间戳后对其进行压缩? 3) 如果不是这样,我们只能进行推测并进行随机试验和错误——这不完全是这个网站的用途。
  • 好的。我调整了问题。现在你删除标记。
  • 您应该查看使用它的代码。它看起来更像是一些常规的(JSON?)异或的东西。例如,看看所有那些“Zhp”和其他经常出现的东西。
  • fDd:function(a,b) 是您在cdn1.livescore.com/webapp/js/custom.46a23d4d.js 中寻找的内容,只需美化它并删除该功能即可。第一个参数是混淆后的文本。

标签: javascript php python http obfuscation


【解决方案1】:

您需要从here 中提取包含的javascript 函数lsMobile.fn.charToInt, lsMobile.fn.fDk, lsMobile.fn.fDdCheckCharEx, lsMobile.fn.fDd,然后使用任何javascript 引擎来评估json = lsMobile.fn.fDd(obfuscated, 1)

生成的 json 将类似于 {"Stages":[{"Pid":1,"Events":[{"T1":[{"ID":8406,"Kn":1,"Gd":1,"Nm":"Augsburg"}],...

当然,每当服务器端重新运行他们使用的任何混淆器时,函数名称和混淆方法可能会随机更改。

另一种对混淆算法变化更稳健的方法可能是在虚拟 DOM 中呈现他们的网站并从那里抓取内容。

【讨论】:

  • 您可能想提及从哪里提取它们。也不能保证渲染 dom 更健壮。表示可以在那里轻松更改,需要更改刮板。而且它更令人费解。
  • 包含当前脚本 url 并指定“健壮性”。谢谢@pvg!
  • np,感谢您输入所有内容,很抱歉一直挑剔您,但如果您按照您自己的建议取消功能,那么它们随后的重命名和重新混淆不会只要功能保持不变就没有关系。对混淆变化的鲁棒性没有损失。
  • @pvg 感谢您的想法。到目前为止,我处理的(客户端应用程序/android)混淆器确实动态地改变了它们的混淆模式,例如不仅是命名,lsMobile.fn.fDd 的实现也会在每个后续部署中发生变化。不过,这是一个没有根据的猜测,因为我不知道这里用于他们的 api 的混淆器。
  • 这个特殊的函数完全接受程序外部的输入,做一些修改并吐出一些东西。混淆器(或优化编译器,或任何其他代码转换)不能改变“对于输入 X,给我 Y”的行为。这必须保持不变,否则它不是混淆器而是“任意错误引入器”。我想这将是一种真正强大的混淆器。
猜你喜欢
  • 1970-01-01
  • 2011-09-24
  • 2011-04-02
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
相关资源
最近更新 更多