KBlixt / subcleaner

removes ads from subtitle files cleanly.
288 stars 13 forks source link

Found a loophole that can be exploited #44

Closed ChristianMalazarte closed 1 year ago

ChristianMalazarte commented 1 year ago

By adding this to the subtitle file, SubCleaner completely skips cleaning the file.

633
00:50:37,826 --> 00:50:48,248
<font color="#ec14bd">Sync & corrections by honeybunny</font>
<font color="#ec14bd">www.addic7ed.com</font>

999900:00:0,500 --> 00:00:2,00<font color="#ffff00" size=14>www.tvsubtitles.net</font>

9999
00:00:0,500 --> 00:00:2,00
<font color="#ffff00" size=14>www.tvsubtitles.net</font>

Game of Thrones - 5x01 - The Wars to Come.1080i.HDTV.RARBG.en.txt

ChristianMalazarte commented 1 year ago

Another instance:

742
01:04:10,132 --> 01:04:14,132
== sync, corrected by <font color="#00ff00">elderman</font> ==

9999
00:00:0,500 --> 00:00:6,00
下载最新美剧字幕,敬请访问:
天天字幕 http://sub.ttfree.org

9999
00:00:0,500 --> 00:00:2,00
<font color="#ffff00" size=14>www.tvsubtitles.net</font>

Game of Thrones (2011) - S02E10 - Valar Morghulis - (Bluray-1080p-x265).en.txt

KBlixt commented 1 year ago

Ok, this looks funky. I'll have a look at this. Thanks for the report 👍

ChristianMalazarte commented 1 year ago

I forgot to add that in console it will say "cleaned successfully." So it doesn't give you an error like sometimes when the script is unable to parse the file. It would be better to show an error if it's too complex to fix, at least that way it doesn't say it was successful.

KBlixt commented 1 year ago

I have finally managed to grab some time to diagnose this and I'm unable to reproduce. Maybe if you sent me the log created for these runs? or run them manually and send me what it says.

from the files you send me the first one registers 3 blocks as ads and a few warning blocks. is this incorrect? which other block would you like to see removed? The second file fails to decode since the first block index wasn't a number. this should be fixed now. update and please verify the fix :)

I have also changed the final message and logs an error if it didn't successfully clean at least one file. Please let me know if this solved the issue or if there is still a loophole here :)