V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
foxyier
V2EX  ›  Python

乐看视频反爬无法破解。。求助

  •  
  •   foxyier · 2019-05-27 14:11:47 +08:00 · 3220 次点击
    这是一个创建于 2018 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT,视频链接如下
    http://kids.lekan.com/play/134949/1/1/movie/
    有没有大佬帮忙分析一下, 给个思路也好
    目前来看是通过 xml 配置中的 videoPath 在 swf 文件中进行解密,但是我试着去解密却得到这样一串
    "¾s\ T¾ÖÏ Ɏr>wD\×ý6㙹a]é1õ9Åì \? "Tï]Þ6>/Í×Ü!8òÌþÎEPë, h ­´ 5–yaèï|DqðÏÐ̽–ϧReöùTt‹Ã ‚â'ØìÀ"
    12 条回复    2019-05-28 15:12:07 +08:00
    tikazyq
        2
    tikazyq  
       2019-05-27 16:39:17 +08:00
    foxyier
        3
    foxyier  
    OP
       2019-05-27 16:40:08 +08:00
    @tikazyq you-get 不兼容这种格式的。这是在后台加密, 在 swf 文件中解密。 我虽然找到了解密的那部分代码, 但是 flash 代码看不懂。。而且模拟解密方式之后得出了那串乱码。
    glacer
        4
    glacer  
       2019-05-27 16:48:22 +08:00
    http://vod1.lekan.com/201905271646/14f03d5e85c3dd280d417033e9523cd7/video1/949/49/134949E1/cn/video.ssm/134949E1-cn-600-0.ts 这个传输流不就是视频吗?根据后面的序号遍历下来再拼接就可以了。
    foxyier
        5
    foxyier  
    OP
       2019-05-27 17:03:33 +08:00
    @glacer ts 流都存储在 m3u8 文件中的。我希望可以知道它 videoPath 的加密参数解密成 m3u8 的实现。。我的 as 代码理解水平有限,反编译之后也没有解析成功。
    glacer
        6
    glacer  
       2019-05-27 17:16:17 +08:00
    @foxyier 你是要下载视频还是要做别的?
    annielong
        7
    annielong  
       2019-05-27 17:57:01 +08:00
    老老实实重写 decrypt,先 decryptBase64URL,再 b64.decrypt,最后 xxtea.decrypt
    bcpxqz
        8
    bcpxqz  
       2019-05-27 19:11:54 +08:00
    @annielong 正解,swf 反编译一下,也很容易转换成 js
    fantasynoff
        9
    fantasynoff  
       2019-05-27 19:17:07 +08:00
    实测 IDM 可以自动嗅探下载....

    idm 支持 m3u8 这种的 ts 分包,下载了自动合并
    airdge
        10
    airdge  
       2019-05-27 19:40:19 +08:00
    appdata.movie_path = LkXXTEA.decrypt(appdata.movie_path,"Y1Daczl9h");
    rocketman13
        11
    rocketman13  
       2019-05-28 11:13:54 +08:00
    想问问 swf 文件是用什么语言编写的
    foxyier
        12
    foxyier  
    OP
       2019-05-28 15:12:07 +08:00
    @annielong @airdge 我下载了 flash cs6,在 as 代码复现了那几个函数的算法。然后就返回了那串乱码。。。不知道是我哪里出了问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3567 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:37 · PVG 12:37 · LAX 20:37 · JFK 23:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.