-
Notifications
You must be signed in to change notification settings - Fork 21
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
KissAnime encryption change #53
Comments
Found a JS deobfuscator: function ovelWrap(_0x7b4ax13) { |
it same aes as used in their other sites all you need is to get the key and iv
key = hashlib.sha256('nhasasdbasdtene7230asb').digest() crypter = AES.new(key, AES.MODE_CBC, iv) |
Awesome thanks. I was able to replace the token with the skH value and it works. |
Thanks for the info, I'll push a fix when I can. |
Fixed anime. Currently working on cartoon, then will check drama for changes. |
Finished cartoon/drama |
I'm curious if your library can play videos from the beta server. Here's a video which is only available using Openload or KissAnime's beta server (KissAnime server is not available): http://kissanime.ru/Anime/Naruto-Shippuuden/Episode-003?id=100312&s=beta Notice the &s=beta at the end. The code will extract the link, but I cannot play the link in a browser (I do not use Plex). |
I'm seeing the same thing. I assume its a header dependency issue. Sometimes sites like these expire the video link the instant it's been called, and they normally have some dependency within the requests header. I don't have time right now to look into this any further, but will once I've patched up the channel for the default sites. |
Thank you for addressing this and implementing a fix. |
Fixed anime in 3a15779 (aka |
Thanks @GreyAsteroid for bringing the manga section to my attention. I'll add this to my list of things to do. Seems the encryption is a similar style as the other sites. |
Fixed anime, cartoon, Asian dramas. Still working out some of the bugs, but have the ground work done. Will also take time to fix the manga section after finalizing the video sections. |
Any ETA when 1.3.0 releases with channel fixes? All weekend we've wants to watch some animated cartoons but since it changed, we're limited to Netflix, my small home server & the poor quality of SS-Plex & PrimeWire with their mass of dead links. |
Hopefully early this week.
In the meantime, tryout 9anime.bundle Please keep |
Okay Twoure thanks for referencing. Will wait on next build. Appreciate your work in keeping your plugin up-to-date sir! |
Hey just wanted to show my appreciation for your effort. Ditched cable a year back and this particular plugin has been absolutely awesome for entertaining my 4 year old. So nice to be able to hit shuffle and let the TV just play. I'm trying to become more involved with Plex and will hopefully learn how to help fix, maintain or create my own plugin. For now I am patiently waiting for your updates as they come through. |
Ditto from the guy above me. Am willing to do python coding for free anime :-). |
Fixed default videos in eda694b...bbd22af available from the current |
I also wanted to show my appreciation. Thanks for doing all this! |
Hi Twoure, cl = list() Unfortunatly the execution of js2py.eval_js(code) fails. Could you see a mistake or give a hint? |
FYI, KissCartoon is returning a "http://kisscartoon.se/Play?" for video links. Not sure if you are handling this, but if you try to play the link, KissCartoon will return "Please do not do that!" |
@Prometheusx-git and @RexfelisLOC, thanks for the heads up. |
@Prometheusx-git So it seems my code above isn't going to work for the page your getting. I've not seen the code change on my end for almost two days now. I'll have to wait and see what it changes to. |
Did the comment but did not work, I get channel not responding. Attaching logs here - both Anime and Cartoons are not working. |
@IJ08, thanks, I see the issue with my zip function now. It's a Windows OS thing. |
okay thanks, let me know if you need any other debugging logs. Will wait on your fixes for the specific issue when you get the time. Appreciate your help |
@IJ08, pushed fix to |
I've been having issues with playing anything for the past week or so, even the most recent dev branch doesn't work for me. Any suggestions on how I can fix this? |
|
@Twoure , I just tried the latest dev branch, doing a cksum of ServiceCode.pys to make sure that I did indeed have the latest dev branch : (cksum ServiceCode.pys Neither of them worked. I live in New Jersey, so there shouldn't be any blocking issues. Have you considered using a scripting browser to extract the links? Such as 'selenium + chromedriver' or dryscrape? As an experiment, I wrote Python scripts, using both 'selenium and chromedriver' and dryscrape, to extract video links from an arbitrary episode page and was able to get it to successfully extract the video link (720p version only, since that was the only version I was interested in) for both Kissasian.com and Kissanime.ru. Retrieval times were generally in the 30-60 second range, which is not too great, but with 1 hour caching of resuts, possibly acceptable and better than no video at all. As a further test, I inserted code into get_googlevideo_url (ServiceCode.pys) to invoke my video link extraction script, and was able to get it basically working. Although, there were some animes where the video link required the Referer header to be set, which didn't play well with my Apple TV Plex client. The nice thing about the scripting browser solution is that I didn't have to worry about or deal with any encryption changes since the 'selenium + chromedriver' and dryscrape basically run an actual browser (chrome and QtWebKit, respectively) so they should be able to handle encryption changes without batting an eye. The chromedriver version of the video link extraction script is only about 10K of Python code, so it didn't take long to get a basic, simple version working.. BTW, with the chromedriver version, be sure to also use an ad blocking extension, such as adguard:
Otherwise, it takes forever and is generally not usable. And between the chromedriver version and the dryscrape version, the chromedriver version is easier to write and to maintain, as it's pretty much a real browser and, when something goes awry, you can actually see visually what's going on, and this makes it easier to maintain and to fix, if something changes. |
@ginobean Your idea is solid for your use case but has too many dependencies to be a viable solution. It would not work with everyone. @Twoure dev from today does not work for me, i can open the video from browser directly. From the logs it seems something is a miss. Edited: Removed snipped log text as suggested by @Twoure. Restarting PMS did not work, same error. Attached zip. |
As a worst case scenario, it would be fairly easy for KissNetwork to change their encryption keys on a weekly basis and also make them dependent upon the first two octets of the client's IP address, as an example. In which case, it may simply become impractical to try to keep up with their ever changing encryption keys. |
@gilfrade, in the future, please do not copy/paste log info into a comment. Instead attache it as a file, or host it elsewhere. This will help keep the thread clean. Also, I can't tell much from this snippet. However, it would appear the code is old, as the error message has changed. Most likely, you've used the updater built into the channel, and it failed to restart Plex's service code. You'll have to either restart your PMS, or download and install the |
@ginobean, is |
KimCartoon.me is the official replacement for KissCartoon.me. |
@RypeDub420, correct, and already stated in Comment_1417966. |
Oh snap. My RypeDub Gmail push notifications are super behind lol How do you install the dev branch in WebTools? |
@RypeDub420, you can't, but you can change the channel's Update Channel to Note: you'll need to do step 3 in #63 (comment) for cartoon section to potentially work. |
@Twoure , I took a look at contents of the latest selenium python package (tar tf selenium-3.3.3.tar) , and it looks like it's pure python except for the firefox webdriver which seems to have .so (dynamic libraries) in it. Additionally, chromedriver itself is platform dependent, i.e. each platform (Linux, macOS, Windows) would have to have it's own executable chromedriver binary. |
Just wanted to say thanks for all the hard work, I know this latest break has been challenging. Let me know if I can help with testing? Thank you Twoure, you rock! |
so does this channel work again or...? I tried the latest dev branch manual install but still getting error. |
Updated |
@IJ08 try resetting your |
Still the same after following above steps, I also noticed that anime channel only plays newer animes, I tried to play an older anime but it did not work. The ones that are working are all on new updated. Logs attached. |
@IJ08 I also need the corresponding |
Fixed cartoon searching in 84f81df |
@IJ08, looks like you may have have another variant for encryption than I've coded for. Work though #63 and upload the zip file to |
@Twoure I downloaded the latest dev branch from you comments. And did all the steps but the error is the same. Let me update in that forum |
Looks like KissAnime has a new decryption function called "ovelWrap". It seems to be encoded as the following:
function ovelWrap(_0x7b4ax13) {
var _0x7b4axe = null;
try {
var _0x7b4ax10 = CryptoJS[_0x59b3[0]][_0x59b3[24]][_0x59b3[23]]({
ciphertext : CryptoJS[_0x59b3[22]][_0x59b3[21]]_0x59b3[20]
}),
_0x7b4ax7 = CryptoJS[_0x59b3[30]][_0x59b3[29]](_0x7b4ax10, key, {
mode : CryptoJS[_0x59b3[26]][_0x59b3[25]],
iv : iv,
padding : CryptoJS[_0x59b3[28]][_0x59b3[27]]
});
return _0x7b4axe = _0x7b4ax7.toString(CryptoJS[_0x59b3[22]].Utf8)
} catch (p) {
alert(p + _0x7b4ax13)
}
}
var bkZ = _0x59b3[31], skH = _0x59b3[32], iv, key;
iv = CryptoJS[_0x59b3[22]][_0x59b3[33]]_0x59b3[20], key = CryptoJS.SHA256(skH)
How do you decode javascript like the above?
The text was updated successfully, but these errors were encountered: