Windows QQ 音乐最新版(QQMusic2005.22.47.07)
理论支持所有格式,但仅适配了 mflac 和 mgg 格式。
- 开启 QQ 音乐,下载音乐到默认文件夹。
- 启动 python 脚本,自动从
Music\VipSongsDownload
读取音乐文件,解密后保存到output
文件夹。
解密 Windows QQ Music mflac 文件
Decrypting 海来阿木 - 西楼儿女_EM.mflac
(process:25356): GLib-GIO-WARNING **: 21:56:03.973: _g_dbus_worker_do_read_cb: error determining bytes needed: Blob indicates that message exceeds maximum message length (128MiB)
Traceback (most recent call last):
File "C:\Users\15109\Desktop\decrypt-mflac-frida-main\hook_qq_music.py", line 41, in
data = script.exports_sync.decrypt(os.path.join(root, file))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\15109\AppData\Roaming\Python\Python312\site-packages\frida\core.py", line 180, in method
return script._rpc_request(request, data, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\15109\AppData\Roaming\Python\Python312\site-packages\frida\core.py", line 86, in wrapper
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "C:\Users\15109\AppData\Roaming\Python\Python312\site-packages\frida\core.py", line 497, in _rpc_request
raise result.error
frida.InvalidOperationError: script has been destroyed
PS C:\Users\15109\Desktop\decrypt-mflac-frida-main> pip show frida
Name: frida
Version: 16.4.4
Summary: Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers
Home-page: https://frida.re
Author: Frida Developers
Author-email: [email protected]
License: wxWindows Library Licence, Version 3.1
Location: C:\Users\15109\AppData\Roaming\Python\Python312\site-packages
Requires:
Required-by:
PS C:\Users\z1595\Desktop\decrypt-mflac-frida-main\decrypt-mflac-frida-main> Python -V
Python 3.12.3
能不能做一个GUI
在同专辑下一部分歌曲为 VIP 歌曲,一部分为 VIP,打开非 VIP 歌曲可以看到专辑图片被正常下载,但是如果使用该工具解密后被解密的 VIP 歌曲的专辑图片却无法显示。
使用 Potplayer 播放,将窗口最大化即可看到专辑图片。
虽然是个无关紧要的功能,但是对于我这种想要收藏歌曲的人来说最好还是有专辑封面的。
'''Y:\Git\decrypt-mflac-frida>nuitka --standalone --onefile --lto=yes --output-dir=out hook_qq_music.py
Nuitka-Options: Used command line options: --standalone --onefile --lto=yes --output-dir=out hook_qq_music.py
Nuitka: Starting Python compilation with Nuitka '2.1rc3' on Python '3.11' commercial grade 'not installed'.
Nuitka-Plugins:anti-bloat: Not including 'socket' automatically in order to avoid bloat, but this may cause: can break
Nuitka-Plugins:anti-bloat: calls of 'email.utils.make_msgid()'.
Nuitka: Completed Python level compilation and optimization.
Nuitka: Generating source code for C backend compiler.
Nuitka: Running data composer tool for optimal constant value handling.
Nuitka: Running C compilation via Scons.
Nuitka-Scons: Backend C compiler: gcc (gcc 13.2.0).
Nuitka-Scons: Backend linking program with 6 files (no progress information available for this stage).
Nuitka-Scons: Compiled 6 C files using ccache.
Nuitka-Scons: Cached C files (using ccache) with result 'cache miss': 6
Nuitka-Reports: Compilation report written to file 'nuitka-crash-report.xml'.
Detecting used DLLs: 14.3%|███▌ | 1/7, hook_qq_music.exeTraceback (most recent call last):
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka_main_.py", line 175, in
main()
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka_main_.py", line 161, in main
MainControl.main()
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\MainControl.py", line 1130, in main
_main()
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\MainControl.py", line 1022, in _main
detectUsedDLLs(
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\Standalone.py", line 335, in detectUsedDLLs
_detectUsedDLLs(
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\Standalone.py", line 253, in _detectUsedDLLs
used_dlls = _detectBinaryDLLs(
^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\Standalone.py", line 142, in _detectBinaryDLLs
return detectBinaryPathDLLsWin32(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\DllDependenciesWin32.py", line 97, in detectBinaryPathDLLsWin32
result = detectDLLsWithDependencyWalker(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\DependsExe.py", line 232, in detectDLLsWithDependencyWalker
result = parseDependsExeOutput(output_filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\DependsExe.py", line 173, in parseDependsExeOutput
return _parseDependsExeOutput2(getFileContentByLine(filename, encoding="latin1"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\freezer\DependsExe.py", line 147, in _parseDependsExeOutput2
dll_filename = getWindowsLongPathName(dll_filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\utils\FileOperations.py", line 1151, in getWindowsLongPathName
raiseWindowsError("getWindowsLongPathName for %s" % filename)
File "C:\Users\Administrator\AppData\Roaming\Python\Python311\site-packages\nuitka\utils\Utils.py", line 410, in raiseWindowsError
raise WindowsError(
OSError: [Errno 123] getWindowsLongPathName for c:\progra~2\������������������\bcrypt.dll (文件名、目录名或卷标语法不正确。)
Nuitka-Reports: Compilation crash report written to file 'nuitka-crash-report.xml'. Please include it in your bug report.'''
一个小问题哈,主要是怕其他人也犯一样的错误然后以为工具不能用了
home
必须是绝对路径,不然会报错:
frida.core.RPCException: Error: invalid size
at value (frida/runtime/core.js:194)
at decrypt (/script1.js:73)
at call (native)
at <anonymous> (frida/runtime/message-dispatcher.js:11)
at o (frida/runtime/message-dispatcher.js:23)
加个home = os.path.abspath(home)
即可
怎么运行脚本,有点懵
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.