一个小挑战:如何确定这个字符串的编码方式?

2017-06-28 12:53:50 +08:00
 wangleineo

一个美拍视频页面: http://www.meipai.com/media/786518616

美拍页面版加载的视频 url 是: http://mvvideo2.meitudata.com/594d6aa29e9036562.mp4

这个页面的地址估计是来自于 HTML 的头部:

<meta content="0c52aHR0cDovLLSY6lj212dmlkZW8yLm1laXR1ZGF0YS5jb20vNTk0ZDZhYTI5ZTkwMzY1NjJnv8IubXA0" property="og:video:url">

<meta content="0c52aHR0cDovLLSY6lj212dmlkZW8yLm1laXR1ZGF0YS5jb20vNTk0ZDZhYTI5ZTkwMzY1NjJnv8IubXA0" property="og:video:secure_url">

但是这个字符串不是地址的 base64 编码。

问题是:怎样破解地址字符串的编码方式?

1482 次点击
所在节点    问与答
5 条回复
geelaw
2017-06-28 13:08:52 +08:00
让我帮你 fucking Google that

http://www.jianshu.com/p/15f5c8660f7b

但我不知道它是不是对的,因为我不用 Python,此外你可以发现该字符串每次刷新都会变化。
ech0x
2017-06-28 13:11:38 +08:00
不知道对不对算是提供个思路,看看 js 里的有没有写解谜的算法
wangleineo
2017-06-28 13:30:37 +08:00
@ech0x js 是 minified 过的

@geelaw 我还真没搜到这一篇。试了一下,他的方法是好用的,每次不一样的原因是在这个字符串里有一个随机种子,算法还挺复杂的。我好奇的是这个博主怎么解析出来这个算法的,硬抠 js 文件?

这哥们是专干这个的: http://www.jianshu.com/c/2045641881ad
和视频网站有仇吗?:)
crab
2017-06-28 14:32:49 +08:00
data-video
e = MP.decodeMp4.decode(this.getAttribute("data-video"))
a.decodeMp4 = f,
f = {
getHex:
wangleineo
2017-06-28 14:47:33 +08:00
@crab 牛,这么快就定位到了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX