-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
manga.bilibili.com download failed #397
Comments
The API requires an |
Seems we have to generate a key and the server would encrypt the image: ["getM1AndKey"](_0x2a96d6) {
var _0x123095 = this;
0x0;
return _0xc09916.A(_0x11ef6c().mark(function _0x55753d() {
var _0x44900d;
var _0x49d410;
var _0x2b3e9e;
var _0x40a9ef;
var _0x2104be;
var _0x11b686;
return _0x11ef6c().wrap(function (_0x2bd092) {
for (;;) {
switch (_0x2bd092.prev = _0x2bd092.next) {
case 0x0:
_0x2bd092.next = 0x2;
return _0x123095.generateECDHKeyPair();
case 0x2:
_0x44900d = _0x2bd092.sent;
_0x2bd092.next = 0x5;
return window.crypto.subtle.exportKey("raw", _0x44900d.publicKey);
case 0x5:
_0x49d410 = _0x2bd092.sent;
_0x2bd092.next = 0x8;
return window.crypto.subtle.exportKey('jwk', _0x44900d.privateKey);
case 0x8:
_0x2b3e9e = _0x2bd092.sent;
_0x40a9ef = JSON.stringify(_0x2b3e9e);
_0x2104be = btoa(_0x40a9ef);
_0x11b686 = btoa(String.fromCharCode.apply(null, new Uint8Array(_0x49d410)));
_0x123095._m1Info.push({
'm1': _0x2104be,
'key': _0x11b686,
'url': _0x2a96d6
});
return _0x2bd092.abrupt("return", _0x11b686);
case 0xe:
case "end":
return _0x2bd092.stop();
}
}
}, _0x55753d);
}))();
} |
Hmm what could be this |
["generateECDHKeyPair"]() {
0x0;
return _0xc09916.A(_0x11ef6c().mark(function _0x41183f() {
return _0x11ef6c().wrap(function (_0x3b4abf) {
for (;;) {
switch (_0x3b4abf.prev = _0x3b4abf.next) {
case 0x0:
var _0x19fb77 = {
"name": "ECDH",
"namedCurve": 'P-256'
};
_0x3b4abf.next = 0x2;
return window.crypto.subtle.generateKey(_0x19fb77, true, ['deriveKey', 'deriveBits']);
case 0x2:
return _0x3b4abf.abrupt("return", _0x3b4abf.sent);
case 0x3:
case "end":
return _0x3b4abf.stop();
}
}
}, _0x41183f);
}))();
} |
@eight04 Can you teach me how to do reverse engineer on these JS file? |
I just tried some deobfuscator randomly from google. You can also try AI, they are extremely good at this field since they had learnt bunch of them. |
Yep, this tool is god-sent gift. I have used it to deal with
I have GitHub Copilot Pro but I didn't use them on deobfuscating. I will start using more often now. |
I'm using comiccrawler CLI to download Zombie World from Bilibili Manga, but it's not working. It seems that the website has changed API JSON structure again.
The text was updated successfully, but these errors were encountered: