Code Monkey home page Code Monkey logo

qmc-decoder's People

Contributors

anakinmac avatar davidyz avatar jtjtj513 avatar leroscox avatar presburger avatar tomty89 avatar yihuajack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmc-decoder's Issues

roadmap

  • auto fetch metadata to fix metadata error after decoding.

  • convert album images to work in Sony Walkman.

decoder.cpp的问题

第 38 和 39 行:
38 ret = (8 - y) % 8;
39 ret = 0xc3;

第 38 行是无效语句吧?

大佬牛逼

本来已经clone下来想学习下cmake,装了cmake,还有c,c++环境,最后总是各种编译报错,心累,最后还是下载了二进制文件傻瓜式操作,亲测有用。。

m1芯片电脑不能用

我的电脑是m1 max芯片的,编译完成后,把QQ音乐的文件放进来,无法解密,我看音乐的源文件后缀已经变成mgg之类的了,是不是这个程序已经不能破译了?

cmake命令怎么使用的

cmake -G "NMake Makefiles" .. -DCMAKE_BUILD_TYPE=Release 这行命令的含义是什么,需要安装什么?NMake Makefiles代表什么

macOS 10.15.6 filesystem_error

libc++abi.dylib: terminating with uncaught exception of type ghc::filesystem::filesystem_error: Operation not permitted: './Library/Application Support/CallHistoryTransactions'
[1] 69785 abort

v2.5 win版运行没有写入权限?

please check if you have the write permissions on this dir.

我放桌面运行的,结果出现这个,移到~/Downloads里再执行同样的结果。
就感觉要管理员权限一样,我没敢给,试了下v1.5的就没这个问题,一试就成功了。。。
另外2.5的还不能放在PATH的文件夹里,必须和音乐在同一个目录,反向升级?

编译出错,我还是等更新二进制文件吧QAQ

Microsoft (R) 程序维护实用工具 14.23.28107.0 版
版权所有 (C) Microsoft Corporation。 保留所有权利。

Scanning dependencies of target decoder
[ 50%] Building CXX object CMakeFiles/decoder.dir/src/decoder.cpp.obj
cl: 命令行 warning D9002 :忽略未知选项“-pipe”
cl: 命令行 warning D9002 :忽略未知选项“-std=c++17”
decoder.cpp
The contents of are only available with C++17 or later.
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(26): error C2039: “filesystem”: 不是“std”的成员
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.23.28105\include\regex(55): note: 参见“std”的声明
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(26): error C2878: “filesystem”: 该名称的命名空间或类不存在
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(84): error C2653: “fs”: 不是类或命名空间名称
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(84): error C3861: “path”: 找不到标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(84): error C3861: “status”: 找不到标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(84): error C2065: “owner_write”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(85): error C2653: “fs”: 不是类或命名空间名称
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(85): error C2065: “none”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2653: “fs”: 不是类或命名空间名称
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2065: “recursive_directory_iterator”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2146: 语法错误: 缺少“;”(在标识符“i”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2143: 语法错误: 缺少“;”(在“{”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2143: 语法错误: 缺少“)”(在“{”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C3861: “path”: 找不到标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2143: 语法错误: 缺少“;”(在“}”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2059: 语法错误:“,”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2065: “i”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2065: “end”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2065: “i”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(93): error C2059: 语法错误:“)”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(94): error C2062: 意外的类型“auto”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(95): error C2653: “fs”: 不是类或命名空间名称
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(95): error C2065: “i”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(95): error C3861: “status”: 找不到标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(95): error C2065: “owner_read”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(96): error C2653: “fs”: 不是类或命名空间名称
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(96): error C2065: “none”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(97): error C2653: “fs”: 不是类或命名空间名称
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(97): error C2065: “i”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(97): error C3861: “is_regular_file”: 找不到标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(97): error C2065: “file_path”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(98): error C2065: “file_path”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(98): error C2672: “std::vector<std::string,std::allocator<_Ty>>::emplace_back”: 未找到匹配的重载函数
with
[
_Ty=std::string
]
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2059: 语法错误:“for”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2143: 语法错误: 缺少“)”(在“;”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2143: 语法错误: 缺少“;”(在“<”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2059: 语法错误:“++”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2059: 语法错误:“)”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2143: 语法错误: 缺少“;”(在“{”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(105): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(115): error C2059: 语法错误:“for”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(115): error C2059: 语法错误:“)”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(115): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(115): error C2371: “td_group”: 重定义;不同的基类型
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(103): note: 参见“td_group”的声明
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(116): error C2065: “td”: 未声明的标识符
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(116): error C2059: 语法错误:“;”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(117): error C2059: 语法错误:“}”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(117): error C2143: 语法错误: 缺少“;”(在“}”的前面)
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(120): error C2059: 语法错误:“}”
C:\Users\lolis\Music\VipSongsDownload\qmc-decoder\src\decoder.cpp(120): error C2143: 语法错误: 缺少“;”(在“}”的前面)
NMAKE : fatal error U1077: “C:\PROGRA2\MICROS1\2019\BUILDT1\VC\Tools\MSVC\14231.281\bin\Hostx86\x86\cl.exe”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.23.28105\bin\HostX86\x86\nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.23.28105\bin\HostX86\x86\nmake.exe"”: 返回代码“0x2”
Stop.

Mac 11.1 不报错 就是转换不了

Last login: Sun Feb 21 16:15:49 on ttys001
/Users/putao/Desktop/2021/music/decoder.command ; exit;
putao@putaodeAir ~ % /Users/putao/Desktop/2021/music/decoder.command ; exit;
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[进程已完成]

CMake Error: The following variables are used in this project, but they are set to NOTFOUND

After I run cmake it shows me
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_INCLUDE_DIR (ADVANCED)
used as include directory in directory /Users/arthurwei/Downloads/qmc-decoder-master
used as include directory in directory /Users/arthurwei/Downloads/qmc-decoder-master
used as include directory in directory /Users/arthurwei/Downloads/qmc-decoder-master

-- Configuring incomplete, errors occurred!

Mac 编译后没有decoder.command这个文件

Mac 编译后没有decoder.command这个文件,只有这些:

├── CMakeCache.txt
├── CMakeFiles
├── Makefile
├── cmake_install.cmake
├── compile_commands.json
└── decoder

如何进行静态编译

在windows下采用README提供的编译方法编译
成功但是在其他机器上无法运行,提示缺失MSVCP140D.dll
猜想应该是debug组件或者是动态运行库?

我想请教一下破解经过,,,Orz

我读了一遍源码,之前没有接触过破解和加密,在网上找了一下,应该是异或加解密,我想问一下,头文件里的密钥字节表和循环规律是怎么得到的,是逆向工程(安卓还是PC),还是对比原文件和加密文件?拜托了

关于qqmusic中的.mgg音频格式问题

你好!

最近qq音乐中发现不同的音乐格式 .mgg 。

和.qmc一样只限于qq音乐识别。

希望此转换程序能够添加支持.mgg格式的转换功能。

如下图:

image

image

万分感谢!!!

Binary 运行出错

libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: collate_byname::collate_byname failed to construct for .UTF-8
Abort trap: 6

Mac下权限问题

在Mac下运行decode.command会没有反应,直接./decode需要再到Security & Privacy里确认一次,如果直接下的Mac版本的zip即使chmod也无效

在android的termux下编译bug

第一: 在我的XIaomi 8SE(aarch64)上编译成功。
第二 在我的红米Note8(aarch64)上编译的decoder二进制文件会出现段错误
第三 将8se上的文件拷贝到note8上可以执行成功。

以下是执行脚本(Termux环境为全新)

function compire(){
	echo -e "\033[32m ----------下载源码...---------- \033[0m" &&
	if [ ! -d qmc-decoder ];then 
		git clone https://github.com/Presburger/qmc-decoder
	fi
	echo -e "\033[32m ----------正在进入源码目录--------- \033[0m" &&
	cd qmc-decoder && 
	echo -e "\033[32m ----------下载子模块源码---------- \033[0m" &&
	git submodule update --init && 
	echo -e "\033[32m ----------创建build目录并进入---------- \033[0m" &&
	
	if [ ! -d build ];then 
		mkdir build 
		cd build
	else 
		cd build
	fi
	
	echo -e "\033[32m ----------cmake编译源码---------- \033[0m" &&
	cmake .. && 
	echo -e "\033[32m ----------make源码---------- \033[0m" &&
	make

}

echo -e "\033[32m ----------安装apt---------- \033[0m"
	if ! command -v apt 1>/dev/null 2>&1;then 
		pkg install apt	
		
		echo -e "\033[32m ----------更新apt---------- \033[0m"
		apt update 
	else 
		echo -e  "\033[32m ----------apt已经安装 无需再安装---------- \033[0m"
	fi

echo -e "\033[32m ----------创建project目录并进入---------- \033[0m"
if [ ! -d project ]; then 
	mkdir project && cd project	
else
	cd project
fi

echo -e "\033[32m----------正在安装git cmake make clang以及相关依赖----------\033[0m"
apt install git cmake make clang
if [ $? -ne 0 ]; then 
	echo -e "\033[31m 检测到你已经安装过上述软件,但是现在无法确定是否成功安装,请确认是否有error字样,如果没有请在下面选择y. 如果有error则确认网络环境。--建议无脑y\033[0m"
	read -p "是否强制编译qq解码(y/n)" var
	if [ $var = "y" ];then 
		compire
	else
		echo -e "\033[31m 正在退出\033[0m"
		exit 
	fi
else 
	compire
fi

Error when build, error: ‘uint8_t’ does not name a type

When I tried to build, it gives me this error.

Scanning dependencies of target decoder
[ 50%] Building CXX object CMakeFiles/decoder.dir/src/decoder.cpp.o
In file included from /home/einverne/Git/qmc-decoder/src/decoder.cpp:1:0:
/home/einverne/Git/qmc-decoder/src/seed.hpp:25:5: error: ‘uint8_t’ does not name a type
     uint8_t NextMask()
     ^
/home/einverne/Git/qmc-decoder/src/seed.hpp:57:29: error: ‘uint8_t’ was not declared in this scope
     std::vector<std::vector<uint8_t>> seedMap;
                             ^
/home/einverne/Git/qmc-decoder/src/seed.hpp:57:29: error: template argument 1 is invalid
/home/einverne/Git/qmc-decoder/src/seed.hpp:57:29: error: template argument 2 is invalid
/home/einverne/Git/qmc-decoder/src/seed.hpp:57:36: error: template argument 1 is invalid
     std::vector<std::vector<uint8_t>> seedMap;

My Environment:

➜ gcc -v              
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.11' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 

Solution:

add this header to seed.hpp. I still don't know why.

#include <stdint.h>

Mac 10.15.4下无法convert

当我把decoder放到qq里面有qmc0的文件夹后运行,得到以下错误

libc++abi.dylib: terminating with uncaught exception of type boost::filesystem::filesystem_error: filesystem::recursive_directory_iterator increment error: Operation not permitted
Abort trap: 6
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[进程已完成]

关于locale UTF-8的问题

我试着运行了一下,然后出了这个错误:libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: collate_byname::collate_byname failed to construct for .UTF-8

网上搜了一下,然后把.UTF-8改成en_US.UFT-8就行了。我是英文系统的MacOS。不确定是什么问题但是现在好用拉。

setlocale(LC_ALL,"en_US.UTF-8");
std::locale::global(std::locale("en_US.UTF-8"));

谢谢大佬的软件!

在mac上不能正常运行

感谢制作这个转换程序!
今天在找音乐的时候发现了这个程序,想把QQ音乐下载的内容转换成mp3或者flac,但是一直无法正常运行。我把.command和可执行程序都拷贝到了qmc的文件夹,但是运行始终是下图的结果:
~ 2019-07-27 at 19 29 44
我以为是文件夹权限的问题或者文件名是日文的问题,但修改了之后也不能正常工作。
系统版本是10.15Beta4,不知道和这个有没有关系。
谢谢!

文件名中有韩文时无法转换

测试时发现文件名中有韩文时无法转换,比如“벤 (Ben) - Stay”这首歌。“벤 (Ben) ”是歌手名,包含韩文字符,软件读取时变成"? (Ben) ",提示:
decode: .? (Ben) - Stay.qmc3
qmc file read error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.