mirror of
https://github.com/Simplxss/SignerServer.git
synced 2024-11-21 00:37:53 +08:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
f004ee1f91 | ||
|
a5412fc169 | ||
|
fe0a01f45e | ||
|
0fd58af2ea | ||
|
2237d81dba | ||
|
6f78a9e295 | ||
|
e31a7a02b5 | ||
|
2dd0524050 | ||
|
cf90133c25 |
50
.github/workflows/build.yml
vendored
50
.github/workflows/build.yml
vendored
@ -45,12 +45,13 @@ jobs:
|
|||||||
- name: Upload build
|
- name: Upload build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: SignerServer-${{ matrix.os }}-${{ matrix.arch }}.zip
|
name: SignerServer-${{ matrix.os }}-${{ matrix.arch }}
|
||||||
path: |
|
path: |
|
||||||
SignerServer.dll
|
SignerServer.dll
|
||||||
load.js
|
load.js
|
||||||
start.sh
|
start.sh
|
||||||
start.bat
|
start.bat
|
||||||
|
start.command
|
||||||
|
|
||||||
ubuntu:
|
ubuntu:
|
||||||
name: run on ${{ matrix.os }}(${{ matrix.arch }})
|
name: run on ${{ matrix.os }}(${{ matrix.arch }})
|
||||||
@ -87,9 +88,54 @@ jobs:
|
|||||||
- name: Upload build
|
- name: Upload build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: SignerServer-${{ matrix.os }}-${{ matrix.arch }}.zip
|
name: SignerServer-${{ matrix.os }}-${{ matrix.arch }}
|
||||||
path: |
|
path: |
|
||||||
libSignerServer.so
|
libSignerServer.so
|
||||||
load.js
|
load.js
|
||||||
start.sh
|
start.sh
|
||||||
start.bat
|
start.bat
|
||||||
|
start.command
|
||||||
|
|
||||||
|
|
||||||
|
macos:
|
||||||
|
name: run on ${{ matrix.os }}(${{ matrix.arch }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest]
|
||||||
|
arch: [x64, arm64]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup cmake
|
||||||
|
uses: lukka/get-cmake@latest
|
||||||
|
|
||||||
|
- name: Build project
|
||||||
|
uses: lukka/run-cmake@v10
|
||||||
|
with:
|
||||||
|
# This is the default path to the CMakeLists.txt along side the
|
||||||
|
# CMakePresets.json. Change if you need have CMakeLists.txt and CMakePresets.json
|
||||||
|
# located elsewhere.
|
||||||
|
cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
|
||||||
|
|
||||||
|
# This is the name of the CMakePresets.json's configuration to use to generate
|
||||||
|
# the project files. This configuration leverages the vcpkg.cmake toolchain file to
|
||||||
|
# run vcpkg and install all dependencies specified in vcpkg.json.
|
||||||
|
configurePreset: 'ninja'
|
||||||
|
|
||||||
|
# This is the name of the CMakePresets.json's configuration to build the project.
|
||||||
|
buildPreset: 'ninja-release'
|
||||||
|
|
||||||
|
- run: mv build/ninja/libSignerServer.dylib libSignerServer.dylib
|
||||||
|
|
||||||
|
- name: Upload build
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: SignerServer-${{ matrix.os }}-${{ matrix.arch }}
|
||||||
|
path: |
|
||||||
|
libSignerServer.dylib
|
||||||
|
load.js
|
||||||
|
start.sh
|
||||||
|
start.bat
|
||||||
|
start.command
|
||||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
.vscode
|
.vscode
|
||||||
build
|
build
|
||||||
*.so
|
*.so
|
||||||
*.dll
|
*.dll
|
||||||
|
*.dylib
|
@ -18,7 +18,7 @@ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "
|
|||||||
add_definitions(-D _X64_ARCH_)
|
add_definitions(-D _X64_ARCH_)
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
|
||||||
add_definitions(-D _X86_ARCH_)
|
add_definitions(-D _X86_ARCH_)
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
|
||||||
add_definitions(-D _ARM64_ARCH_)
|
add_definitions(-D _ARM64_ARCH_)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
22
src/main.cpp
22
src/main.cpp
@ -34,6 +34,24 @@ void init()
|
|||||||
}
|
}
|
||||||
#elif defined(_MAC_PLATFORM_)
|
#elif defined(_MAC_PLATFORM_)
|
||||||
std::string version = "6.9.19-16183";
|
std::string version = "6.9.19-16183";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
std::ifstream versionConfig("/Applications/QQ.app/Contents/resources/app/package.json");
|
||||||
|
if (versionConfig.is_open())
|
||||||
|
{
|
||||||
|
std::stringstream versionConfigStrBuf;
|
||||||
|
versionConfigStrBuf << versionConfig.rdbuf();
|
||||||
|
versionConfig.close();
|
||||||
|
rapidjson::Document doc;
|
||||||
|
doc.Parse(versionConfigStrBuf.str().c_str(), versionConfigStrBuf.str().size());
|
||||||
|
if (doc.HasMember("version") && doc["version"].IsString())
|
||||||
|
version = doc["version"].GetString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::exception &e)
|
||||||
|
{
|
||||||
|
std::cerr << e.what() << '\n';
|
||||||
|
}
|
||||||
#elif defined(_LINUX_PLATFORM_)
|
#elif defined(_LINUX_PLATFORM_)
|
||||||
std::string version = "3.2.9-24815";
|
std::string version = "3.2.9-24815";
|
||||||
try
|
try
|
||||||
@ -141,12 +159,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#elif defined(_LINUX_PLATFORM_) || defined(_MAC_PLATFORM_)
|
#elif defined(_LINUX_PLATFORM_) || defined(_MAC_PLATFORM_)
|
||||||
void __attribute__((constructor)) my_init(void)
|
static void __attribute__((constructor)) my_init(void)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void __attribute__((destructor)) my_fini(void)
|
static void __attribute__((destructor)) my_fini(void)
|
||||||
{
|
{
|
||||||
uninit();
|
uninit();
|
||||||
}
|
}
|
||||||
|
@ -48,8 +48,8 @@ void Server::Init()
|
|||||||
.Get("/sign", [this](const httplib::Request &req, httplib::Response &res)
|
.Get("/sign", [this](const httplib::Request &req, httplib::Response &res)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
std::string_view cmd = req.get_param_value("cmd");
|
std::string cmd = req.get_param_value("cmd");
|
||||||
std::string_view src = req.get_param_value("src");
|
std::string src = req.get_param_value("src");
|
||||||
int seq = std::stoi(req.get_param_value("seq"));
|
int seq = std::stoi(req.get_param_value("seq"));
|
||||||
|
|
||||||
std::string buffer = GetSign(cmd, src, seq);
|
std::string buffer = GetSign(cmd, src, seq);
|
||||||
|
13
src/sign.cpp
13
src/sign.cpp
@ -22,6 +22,7 @@ std::map<std::string, uint64_t> addrMap = {
|
|||||||
{"3.1.2-13107", 0x33C3920},
|
{"3.1.2-13107", 0x33C3920},
|
||||||
{"3.2.7-23361", 0x4C93C57},
|
{"3.2.7-23361", 0x4C93C57},
|
||||||
{"3.2.9-24815", 0x4E5D3B7},
|
{"3.2.9-24815", 0x4E5D3B7},
|
||||||
|
{"3.2.10-25765", 0x4F176D6},
|
||||||
// Macos
|
// Macos
|
||||||
{"6.9.19-16183", 0x1B29469},
|
{"6.9.19-16183", 0x1B29469},
|
||||||
// Windows
|
// Windows
|
||||||
@ -33,15 +34,21 @@ std::map<std::string, uint64_t> addrMap = {
|
|||||||
{"9.9.11-24568", 0xAA1A20},
|
{"9.9.11-24568", 0xAA1A20},
|
||||||
{"9.9.11-24815", 0xAB5510},
|
{"9.9.11-24815", 0xAB5510},
|
||||||
{"9.9.12-25234", 0xA84980},
|
{"9.9.12-25234", 0xA84980},
|
||||||
{"9.9.12-25300", 0xA84980}};
|
{"9.9.12-25300", 0xA84980},
|
||||||
|
{"9.9.12-25493", 0xA996E0},
|
||||||
|
{"9.9.12-25765", 0xA9CE90},
|
||||||
|
{"9.9.12-26299", 0xA9E5B0},
|
||||||
|
{"9.9.12-26299", 0xA9E5B0},
|
||||||
|
{"9.9.15-27597", 0xBDAE40}};
|
||||||
#elif defined(_X86_ARCH_)
|
#elif defined(_X86_ARCH_)
|
||||||
std::map<std::string, uint64_t> addrMap = {
|
std::map<std::string, uint64_t> addrMap = {
|
||||||
{"9.9.2-15962", 0x2BD70},
|
{"9.9.2-15962", 0x2BD70},
|
||||||
{"9.9.2-16183", 0x2BD70}};
|
{"9.9.2-16183", 0x2BD70}};
|
||||||
#elif defined(_ARM64_ARCH_)
|
#elif defined(_ARM64_ARCH_)
|
||||||
std::map<std::string, uint64_t> addrMap = {
|
std::map<std::string, uint64_t> addrMap = {
|
||||||
{"3.2.7-23361", 0x351EC98}
|
{"3.2.7-23361", 0x351EC98},
|
||||||
{"6.9.20-17153", 0x1c73dd0}};
|
{"6.9.20-17153", 0x1c73dd0},
|
||||||
|
{"6.9.56-28418", 0x23510E8}};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int SignOffsets = 767; // 562 before 3.1.2-13107, 767 in others
|
int SignOffsets = 767; // 562 before 3.1.2-13107, 767 in others
|
||||||
|
4
start.command
Executable file
4
start.command
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(realpath $(dirname "${BASH_SOURCE[0]}"))
|
||||||
|
export ELECTRON_RUN_AS_NODE=1
|
||||||
|
DYLD_INSERT_LIBRARIES=./libSignerServer.dylib /Applications/QQ.app/Contents/MacOS/qq ${SCRIPT_DIR}/load.js $@
|
Loading…
x
Reference in New Issue
Block a user