图片所在的html元素id叫 viewimg ,这个元素是由 view.js 当中的 loadview 函数创建的。该函数吧serverurl跟photosrc这个array里头的元素拼接,并把他设置成viewimg的src属性,这就是图片链接。
图片链接由前半部分服务器链接和后半部分GET参数构成。
服务器链接相对固定,实际只发现了两个:
img.tsjjx.com
img.hi328.com
GET参数有 id hash file mode。形如:
考察 global.js ,不难发现 id 其实是由 window.location.pathname 来拿到的。把id跟file两个拼接起来,再计算md5,md5的十六进制数字表示就是hash,这里的md5就是RFC 1321当中说的md5,易求。
那么file参数从何而来呢?
进一步考察js代码,不难发现file是photosr这个Array当中的元素。
给Array当中元素赋值的过程经过base64编码后,储存在网页的header中,搜索 packed 就能看到。
base64解码后能够看到用来计算file值(给photosr赋值)的js函数:
(function (p, a, c, k, e, d) {
e = function (c) {
return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString