├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── Rocky_build.yml │ ├── Ubuntu_build.yml │ ├── codeql.yml │ ├── cppcheck.yml │ ├── debian_build.yml │ ├── fedora_build.yml │ ├── issue-translator.yml │ ├── macbuild.yml │ ├── msbuild.yml │ └── release.yml ├── .gitmodules ├── CHANGELOG ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYRIGHT ├── LICENSE ├── README.en.md ├── README.md ├── SECURITY.md ├── XEngine_Apps ├── Authorize_APPClient.e ├── Authorize_APPClient.sln ├── Authorize_APPClient │ ├── Authorize_APPClient.cpp │ ├── Authorize_APPClient.vcxproj │ ├── Authorize_APPClient.vcxproj.filters │ └── Authorize_APPClient.vcxproj.user ├── Authorize_APPLocal │ ├── Authorize_APPLocal.cpp │ ├── Authorize_APPLocal.vcxproj │ ├── Authorize_APPLocal.vcxproj.filters │ └── Authorize_APPLocal.vcxproj.user ├── Authorize_CDKeyNetVer │ ├── Authorize_CDKeyNetVer.cpp │ ├── Authorize_CDKeyNetVer.vcxproj │ ├── Authorize_CDKeyNetVer.vcxproj.filters │ └── Authorize_CDKeyNetVer.vcxproj.user ├── Authorize_ClientModule │ ├── Authorize_ClientModule.cpp │ ├── Authorize_ClientModule.vcxproj │ ├── Authorize_ClientModule.vcxproj.filters │ └── Authorize_ClientModule.vcxproj.user ├── README.md ├── VSClean.bat ├── VSCopy_Client_x64.bat └── VSCopy_Client_x86.bat ├── XEngine_Docment ├── Docment_en.docx └── Docment_zh.docx ├── XEngine_Release ├── APPVer.key ├── XEngine_Config │ ├── HttpCode.types │ ├── HttpMime.types │ ├── XEngine_Config.json │ ├── XEngine_SwitchConfig.json │ └── XEngine_VersionConfig.json ├── XEngine_Coredump │ └── keepfile ├── XEngine_DataBase │ └── SQL_User.db └── XEngine_XLog │ └── keepfile ├── XEngine_SQL ├── mysql.sql └── sqlite.sql └── XEngine_Source ├── AuthorizeModule_CDKey ├── AuthorizeModule_CDKey.def ├── AuthorizeModule_CDKey.vcxproj ├── AuthorizeModule_CDKey.vcxproj.filters ├── AuthorizeModule_CDKey.vcxproj.user ├── Authorize_CDKey │ ├── Authorize_CDKey.cpp │ └── Authorize_CDKey.h ├── Authorize_Serial │ ├── Authorize_Serial.cpp │ └── Authorize_Serial.h ├── CDKey_Define.h ├── CDKey_Error.h ├── Makefile ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── AuthorizeModule_Client ├── AuthClient_Connector │ ├── AuthClient_Connector.cpp │ └── AuthClient_Connector.h ├── AuthClient_Define.h ├── AuthClient_Error.h ├── AuthClient_HTTPVer │ ├── AuthClient_HTTPVer.cpp │ └── AuthClient_HTTPVer.h ├── AuthorizeModule_Client.def ├── AuthorizeModule_Client.vcxproj ├── AuthorizeModule_Client.vcxproj.filters ├── AuthorizeModule_Client.vcxproj.user ├── Makefile ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── AuthorizeModule_Configure ├── AuthorizeModule_Configure.def ├── AuthorizeModule_Configure.vcxproj ├── AuthorizeModule_Configure.vcxproj.filters ├── AuthorizeModule_Configure.vcxproj.user ├── Config_Define.h ├── Config_Error.h ├── Makefile ├── ModuleConfigure_Json │ ├── ModuleConfigure_Json.cpp │ └── ModuleConfigure_Json.h ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── AuthorizeModule_Database ├── AuthorizeModule_Database.def ├── AuthorizeModule_Database.vcxproj ├── AuthorizeModule_Database.vcxproj.filters ├── AuthorizeModule_Database.vcxproj.user ├── DBModule_MySQL │ ├── DBModule_MySQL.cpp │ └── DBModule_MySQL.h ├── DBModule_SQLite │ ├── DBModule_SQLite.cpp │ └── DBModule_SQLite.h ├── Database_Define.h ├── Database_Error.h ├── Makefile ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── AuthorizeModule_Help ├── AuthHelp_ClipBoard │ ├── AuthHelp_ClipBoard.cpp │ └── AuthHelp_ClipBoard.h ├── AuthHelp_Define.h ├── AuthHelp_DynamicCode │ ├── AuthHelp_DynamicCode.cpp │ └── AuthHelp_DynamicCode.h ├── AuthHelp_Error.h ├── AuthHelp_MultiLogin │ ├── AuthHelp_MultiLogin.cpp │ └── AuthHelp_MultiLogin.h ├── AuthHelp_Windows │ ├── AuthHelp_Windows.cpp │ └── AuthHelp_Windows.h ├── AuthorizeModule_Help.def ├── AuthorizeModule_Help.vcxproj ├── AuthorizeModule_Help.vcxproj.filters ├── AuthorizeModule_Help.vcxproj.user ├── Makefile ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── AuthorizeModule_Protocol ├── AuthorizeModule_Protocol.def ├── AuthorizeModule_Protocol.vcxproj ├── AuthorizeModule_Protocol.vcxproj.filters ├── AuthorizeModule_Protocol.vcxproj.user ├── Makefile ├── Protocol_Define.h ├── Protocol_Error.h ├── Protocol_Packet │ ├── Protocol_Packet.cpp │ └── Protocol_Packet.h ├── Protocol_Parse │ ├── Protocol_Parse.cpp │ └── Protocol_Parse.h ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── AuthorizeModule_Session ├── AuthorizeModule_Session.def ├── AuthorizeModule_Session.vcxproj ├── AuthorizeModule_Session.vcxproj.filters ├── AuthorizeModule_Session.vcxproj.user ├── Makefile ├── Session_Authorize │ ├── Session_Authorize.cpp │ └── Session_Authorize.h ├── Session_Define.h ├── Session_Error.h ├── Session_Token │ ├── Session_Token.cpp │ └── Session_Token.h ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── Makefile ├── VSClean.bat ├── VSCopy_Arm64.bat ├── VSCopy_Debug.bat ├── VSCopy_x64.bat ├── VSCopy_x86.bat ├── XAuth_BuildSwitch.h ├── XAuth_Protocol.h ├── XEngine.sln └── XEngine_APPService ├── XEngine_AuthorizeApp ├── Authorize_Dialog │ ├── Dialog_Announcement.cpp │ ├── Dialog_Announcement.h │ ├── Dialog_Banned.cpp │ ├── Dialog_Banned.h │ ├── Dialog_CDKey.cpp │ ├── Dialog_CDKey.h │ ├── Dialog_Config.cpp │ ├── Dialog_Config.h │ ├── Dialog_Modify.cpp │ ├── Dialog_Modify.h │ ├── Dialog_Serial.cpp │ ├── Dialog_Serial.h │ ├── Dialog_Switch.cpp │ ├── Dialog_Switch.h │ ├── Dialog_Try.cpp │ ├── Dialog_Try.h │ ├── Dialog_User.cpp │ └── Dialog_User.h ├── Authorize_Help │ ├── Authorize_Help.cpp │ └── Authorize_Help.h ├── XEngineAuthorizeApp.rc ├── XEngine_AuthorizeApp.cpp ├── XEngine_AuthorizeApp.h ├── XEngine_AuthorizeApp.vcxproj ├── XEngine_AuthorizeApp.vcxproj.filters ├── XEngine_AuthorizeApp.vcxproj.user ├── XEngine_AuthorizeAppDlg.cpp ├── XEngine_AuthorizeAppDlg.h ├── framework.h ├── pch.cpp ├── pch.h ├── res │ ├── XEngineAuthorizeApp.rc2 │ └── XEngine_AuthorizeApp.ico ├── resource.h └── targetver.h └── XEngine_AuthorizeService ├── AuthorizeHTTP_Get ├── AuthorizeHTTP_GetTask.cpp ├── AuthorizeHTTP_GetTask.h ├── AuthorizeHTTP_Token.cpp └── AuthorizeHTTP_Token.h ├── AuthorizeHTTP_Post ├── AuthorizeHTTP_Announcement.cpp ├── AuthorizeHTTP_Announcement.h ├── AuthorizeHTTP_Banned.cpp ├── AuthorizeHTTP_Banned.h ├── AuthorizeHTTP_CDKey.cpp ├── AuthorizeHTTP_CDKey.h ├── AuthorizeHTTP_Client.cpp ├── AuthorizeHTTP_Client.h ├── AuthorizeHTTP_Pass.cpp ├── AuthorizeHTTP_Pass.h ├── AuthorizeHTTP_Serial.cpp ├── AuthorizeHTTP_Serial.h ├── AuthorizeHTTP_Switch.cpp ├── AuthorizeHTTP_Switch.h ├── AuthorizeHTTP_Try.cpp ├── AuthorizeHTTP_Try.h ├── AuthorizeHTTP_User.cpp └── AuthorizeHTTP_User.h ├── Authorize_Config.cpp ├── Authorize_Config.h ├── Authorize_Hdr.h ├── Authorize_HttpMemory.h ├── Authorize_HttpTask.cpp ├── Authorize_HttpTask.h ├── Authorize_Net.cpp ├── Authorize_Net.h ├── Authorize_TCPTask.cpp ├── Authorize_TCPTask.h ├── Authorize_Task.cpp ├── Authorize_Task.h ├── Authorize_WSTask.cpp ├── Authorize_WSTask.h ├── Makefile ├── XEngine_AuthorizeService.cpp ├── XEngine_AuthorizeService.vcxproj ├── XEngine_AuthorizeService.vcxproj.filters └── XEngine_AuthorizeService.vcxproj.user /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/Rocky_build.yml: -------------------------------------------------------------------------------- 1 | name: rocky build workflows 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'develop' 7 | paths: 8 | - 'XEngine_Source/**' 9 | - 'XEngine_Release/**' 10 | - '.github/**' 11 | 12 | permissions: 13 | contents: read 14 | 15 | jobs: 16 | build: 17 | runs-on: ${{ matrix.runner }} 18 | container: 19 | image: rockylinux/rockylinux:9.5 20 | options: --platform ${{ matrix.platform }} 21 | strategy: 22 | matrix: 23 | include: 24 | - arch: amd64 25 | runner: ubuntu-24.04 26 | platform: linux/amd64 27 | artifact: x86-64 28 | - arch: arm64 29 | runner: ubuntu-24.04-arm 30 | platform: linux/arm64 31 | artifact: Arm64 32 | 33 | steps: 34 | - name: Checkout main repository code 35 | uses: actions/checkout@v4 36 | with: 37 | ref: 'develop' 38 | 39 | - name: Checkout dependency repository (xengine) 40 | uses: actions/checkout@v4 41 | with: 42 | repository: libxengine/libxengine 43 | path: libxengine 44 | 45 | - name: sub module checkout (opensource) 46 | uses: actions/checkout@v4 47 | with: 48 | repository: libxengine/XEngine_OPenSource 49 | path: XEngine_Source/XEngine_Depend 50 | 51 | - name: install system package 52 | run: | 53 | dnf update -y 54 | dnf install gcc g++ make git jq unzip wget -y 55 | 56 | - name: Set TERM variable 57 | run: echo "TERM=xterm" >> $GITHUB_ENV 58 | 59 | - name: install xengine library 60 | run: | 61 | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) 62 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_${{ matrix.artifact }}.zip 63 | unzip ./XEngine_RockyLinux_9_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_9_${{ matrix.artifact }} 64 | cd XEngine_RockyLinux_9_${{ matrix.artifact }} 65 | 66 | chmod 777 * 67 | ./XEngine_LINEnv.sh -i 3 68 | 69 | - name: make 70 | run: | 71 | cd XEngine_Source 72 | make 73 | make FLAGS=InstallAll 74 | make FLAGS=CleanAll 75 | 76 | make RELEASE=1 77 | make FLAGS=InstallAll 78 | make FLAGS=CleanAll 79 | 80 | - name: test 81 | run: | 82 | cd XEngine_Release 83 | ./XEngine_AuthorizeService -t 84 | 85 | - name: Upload folder as artifact with RockyLinux 86 | uses: actions/upload-artifact@v4 87 | with: 88 | name: XEngine_AuthorizeService-RockyLinux_9_${{ matrix.artifact }} 89 | path: XEngine_Release/ 90 | retention-days: 1 91 | -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- 1 | name: CodeQL Advanced 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'develop' 7 | paths: 8 | - 'XEngine_Source/**' 9 | - 'XEngine_Release/**' 10 | - '.github/**' 11 | 12 | jobs: 13 | analyze: 14 | runs-on: ubuntu-24.04 15 | permissions: 16 | security-events: write 17 | packages: read 18 | actions: read 19 | contents: read 20 | 21 | strategy: 22 | fail-fast: false 23 | matrix: 24 | include: 25 | - language: c-cpp 26 | steps: 27 | - name: Checkout repository 28 | uses: actions/checkout@v4 29 | with: 30 | ref: 'develop' 31 | 32 | - name: Checkout dependency repository (xengine) 33 | uses: actions/checkout@v4 34 | with: 35 | repository: libxengine/libxengine 36 | path: libxengine 37 | 38 | - name: sub module checkout (opensource) 39 | run: | 40 | git submodule init 41 | git submodule update 42 | 43 | - name: Set TERM variable 44 | run: echo "TERM=xterm" >> $GITHUB_ENV 45 | 46 | - name: Set up Dependency Environment 47 | run: | 48 | cd libxengine 49 | chmod +x ./XEngine_LINEnv.sh 50 | sudo ./XEngine_LINEnv.sh -i 3 51 | 52 | - name: Initialize CodeQL 53 | uses: github/codeql-action/init@v3 54 | with: 55 | languages: ${{ matrix.language }} 56 | 57 | - name: make 58 | run: | 59 | cd XEngine_Source 60 | make 61 | 62 | - name: Perform CodeQL Analysis 63 | uses: github/codeql-action/analyze@v3 64 | with: 65 | category: "/language:${{ matrix.language }}" 66 | -------------------------------------------------------------------------------- /.github/workflows/cppcheck.yml: -------------------------------------------------------------------------------- 1 | name: cpp check workflows 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'develop' 7 | paths: 8 | - 'XEngine_Source/**' 9 | - 'XEngine_Release/**' 10 | - '.github/**' 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - name: Checkout main repository code 18 | uses: actions/checkout@v4 19 | with: 20 | ref: 'develop' 21 | 22 | - name: Create static_analysis directory 23 | run: mkdir -p static_analysis 24 | 25 | - name: Run Cppcheck 26 | run: | 27 | sudo apt-get install -y cppcheck 28 | cppcheck --enable=all --language=c++ --std=c++20 ./XEngine_Source/ --output-file=static_analysis/log.xml --xml 29 | continue-on-error: true 30 | 31 | - name: Upload Cppcheck Results 32 | uses: actions/upload-artifact@v4 33 | with: 34 | name: cppcheck_results 35 | path: static_analysis/log.xml -------------------------------------------------------------------------------- /.github/workflows/debian_build.yml: -------------------------------------------------------------------------------- 1 | name: debian build workflows 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'develop' 7 | paths: 8 | - 'XEngine_Source/**' 9 | - 'XEngine_Release/**' 10 | - '.github/**' 11 | 12 | permissions: 13 | contents: read 14 | 15 | jobs: 16 | build: 17 | runs-on: ${{ matrix.runner }} 18 | container: 19 | image: debian:bookworm 20 | options: --platform ${{ matrix.platform }} 21 | strategy: 22 | matrix: 23 | include: 24 | - arch: amd64 25 | runner: ubuntu-24.04 26 | platform: linux/amd64 27 | artifact: x86-64 28 | 29 | steps: 30 | - name: Checkout main repository code 31 | uses: actions/checkout@v4 32 | 33 | - name: Checkout dependency repository (xengine) 34 | uses: actions/checkout@v4 35 | with: 36 | repository: libxengine/libxengine 37 | path: libxengine 38 | 39 | - name: sub module checkout (opensource) 40 | uses: actions/checkout@v4 41 | with: 42 | repository: libxengine/XEngine_OPenSource 43 | path: XEngine_Source/XEngine_Depend 44 | 45 | - name: install system package 46 | run: | 47 | apt update -y 48 | apt install gcc g++ make git jq unzip curl wget -y 49 | 50 | - name: Set TERM variable 51 | run: echo "TERM=xterm" >> $GITHUB_ENV 52 | 53 | - name: install xengine library 54 | run: | 55 | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) 56 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_12_${{ matrix.artifact }}.zip 57 | unzip ./XEngine_Debian_12_${{ matrix.artifact }}.zip -d ./XEngine_Debian_12_${{ matrix.artifact }} 58 | cd XEngine_Debian_12_${{ matrix.artifact }} 59 | 60 | chmod 777 * 61 | ./XEngine_LINEnv.sh -i 3 62 | 63 | - name: make 64 | run: | 65 | cd XEngine_Source 66 | make 67 | make FLAGS=InstallAll 68 | make FLAGS=CleanAll 69 | 70 | make RELEASE=1 71 | make FLAGS=InstallAll 72 | make FLAGS=CleanAll 73 | cd .. 74 | - name: test 75 | run: | 76 | cd XEngine_Release 77 | ./XEngine_AuthorizeService -t 78 | 79 | - name: Upload folder as artifact 80 | uses: actions/upload-artifact@v4 81 | with: 82 | name: XEngine_AuthorizeService-Debian_12_x86-64 83 | path: XEngine_Release/ 84 | retention-days: 1 -------------------------------------------------------------------------------- /.github/workflows/fedora_build.yml: -------------------------------------------------------------------------------- 1 | name: fedora build workflows 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'develop' 7 | paths: 8 | - 'XEngine_Source/**' 9 | - 'XEngine_Release/**' 10 | - '.github/**' 11 | 12 | permissions: 13 | contents: read 14 | 15 | jobs: 16 | build: 17 | runs-on: ${{ matrix.runner }} 18 | container: 19 | image: fedora:${{ matrix.fedora-version }} 20 | options: --platform ${{ matrix.platform }} 21 | strategy: 22 | matrix: 23 | include: 24 | - arch: amd64 25 | runner: ubuntu-24.04 26 | platform: linux/amd64 27 | fedora-version: 42 28 | artifact: x86-64 29 | - arch: amd64 30 | runner: ubuntu-24.04 31 | platform: linux/amd64 32 | fedora-version: 41 33 | artifact: x86-64 34 | 35 | steps: 36 | - name: Checkout main repository code 37 | uses: actions/checkout@v4 38 | 39 | - name: Checkout dependency repository (xengine) 40 | uses: actions/checkout@v4 41 | with: 42 | repository: libxengine/libxengine 43 | path: libxengine 44 | 45 | - name: sub module checkout (opensource) 46 | uses: actions/checkout@v4 47 | with: 48 | repository: libxengine/XEngine_OPenSource 49 | path: XEngine_Source/XEngine_Depend 50 | 51 | - name: install system package 52 | run: | 53 | dnf update -y 54 | dnf install gcc g++ make git jq unzip wget -y 55 | 56 | - name: Set TERM variable 57 | run: echo "TERM=xterm" >> $GITHUB_ENV 58 | 59 | - name: install xengine library 60 | run: | 61 | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) 62 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}.zip 63 | unzip ./XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }}.zip -d ./XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }} 64 | cd XEngine_Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }} 65 | 66 | chmod 777 * 67 | ./XEngine_LINEnv.sh -i 3 68 | - name: make 69 | run: | 70 | cd XEngine_Source 71 | make 72 | make FLAGS=InstallAll 73 | make FLAGS=CleanAll 74 | 75 | make RELEASE=1 76 | make FLAGS=InstallAll 77 | make FLAGS=CleanAll 78 | cd .. 79 | - name: test 80 | run: | 81 | cd XEngine_Release 82 | ./XEngine_AuthorizeService -t 83 | 84 | - name: Upload folder as artifact 85 | uses: actions/upload-artifact@v4 86 | with: 87 | name: XEngine_AuthorizeService-Fedora_${{ matrix.fedora-version }}_${{ matrix.artifact }} 88 | path: XEngine_Release/ 89 | retention-days: 1 -------------------------------------------------------------------------------- /.github/workflows/issue-translator.yml: -------------------------------------------------------------------------------- 1 | name: Issue Translator 2 | on: 3 | issue_comment: 4 | types: [created] 5 | issues: 6 | types: [opened] 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: usthe/issues-translate-action@v2.7 13 | with: 14 | IS_MODIFY_TITLE: false 15 | CUSTOM_BOT_NOTE: Bot detected the issue body's language is not English, translate it automatically. -------------------------------------------------------------------------------- /.github/workflows/macbuild.yml: -------------------------------------------------------------------------------- 1 | name: macos build workflows 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'develop' 7 | paths: 8 | - 'XEngine_Source/**' 9 | - 'XEngine_Release/**' 10 | - '.github/**' 11 | 12 | jobs: 13 | build: 14 | strategy: 15 | matrix: 16 | include: 17 | - os: macos-13 18 | - os: macos-14 19 | runs-on: ${{ matrix.os }} 20 | 21 | steps: 22 | - name: Checkout main repository code 23 | uses: actions/checkout@v4 24 | with: 25 | ref: 'develop' 26 | 27 | # 检出依赖的xengine仓库到指定的xengine目录 28 | - name: Checkout dependency repository (xengine) 29 | uses: actions/checkout@v4 30 | with: 31 | repository: libxengine/libxengine 32 | path: libxengine 33 | 34 | - name: sub module checkout (opensource) 35 | run: | 36 | git submodule init 37 | git submodule update 38 | 39 | - name: brew install 40 | run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 41 | 42 | - name: Set TERM variable 43 | run: echo "TERM=xterm" >> $GITHUB_ENV 44 | 45 | - name: Set up Dependency x86_64 Environment 46 | if: matrix.os == 'macos-13' 47 | run: | 48 | cd libxengine 49 | chmod 777 * 50 | ./XEngine_LINEnv.sh -i 3 51 | - name: Set up Dependency Arm64 Environment 52 | if: matrix.os == 'macos-14' 53 | run: | 54 | cd libxengine 55 | chmod 777 * 56 | ./XEngine_LINEnv.sh -i 0 57 | 58 | latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) 59 | 60 | wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip 61 | unzip ./XEngine_Mac_Arm64.zip -d ./XEngine_Mac_Arm64 62 | cd XEngine_Mac_Arm64 63 | 64 | sudo mkdir -p /usr/local/include 65 | sudo mkdir -p /usr/local/lib 66 | sudo cp -rf ./XEngine_Include /usr/local/include 67 | sudo find ./XEngine_Mac -name "*.dylib" -exec cp {} /usr/local/lib \; 68 | 69 | - name: make debug 70 | run: | 71 | cd XEngine_Source 72 | make PLATFORM=mac 73 | make PLATFORM=mac FLAGS=InstallAll 74 | make PLATFORM=mac FLAGS=CleanAll 75 | - name: make release 76 | run: | 77 | cd XEngine_Source 78 | make PLATFORM=mac RELEASE=1 79 | make PLATFORM=mac FLAGS=InstallAll 80 | make PLATFORM=mac FLAGS=CleanAll 81 | - name: test 82 | run: | 83 | cd XEngine_Release 84 | ./XEngine_AuthorizeService -t 85 | 86 | - name: Upload folder as artifact with mac x64 87 | if: matrix.os == 'macos-13' 88 | uses: actions/upload-artifact@v4 89 | with: 90 | name: XEngine_AuthorizeService-Mac_x86-64 91 | path: XEngine_Release/ 92 | retention-days: 1 93 | - name: Upload folder as artifact with mac arm 94 | if: matrix.os == 'macos-14' 95 | uses: actions/upload-artifact@v4 96 | with: 97 | name: XEngine_AuthorizeService-Mac_Arm64 98 | path: XEngine_Release/ 99 | retention-days: 1 -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "XEngine_Source/XEngine_Depend"] 2 | path = XEngine_Source/XEngine_Depend 3 | url = https://github.com/libxengine/XEngine_OPenSource.git 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | author by:qyt 486179@qq.com 2 | 3 | ## 贡献准则(Contribution Guidelines) 4 | 5 | 此服务是一个尝试由社区驱动,你的共享价值将不可估量! 6 | the service is an attempt to be driven by the community, your shared value will be immeasurable! 7 | 8 | ## 提交代码(Submit code) 9 | 10 | 想要贡献代码,你需要按照我们的风格来提交代码. 11 | To contribute code, you need to submit code in our style 12 | 13 | ## 法律声明(Legal Notice) 14 | 15 | 如果你的提交的请求有依赖其他库,请注意库的版权.你的提交代码将被允许被我们随意复制,分发,删除,修改 16 | If your submitted request depends on other libraries, please pay attention to the copyright of the library. Your submitted code will be allowed to be copied, distributed, deleted, and modified by us at will -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- 1 | the open source software depend on the following libraries, please note the copyright 2 | XEngine:https://gitee.com/xyry/libxengine or https://github.com/libxengine/xengine 3 | jsoncpp:https://github.com/open-source-parsers/jsoncpp -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | | Version | Supported | 6 | | ------- | ------------------ | 7 | | >= 3.x | :white_check_mark: | 8 | | <= 2.x | :x: | 9 | 10 | ## Reporting a Vulnerability 11 | 12 | www.xyry.org or 486179@qq.com -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_APPClient.e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Apps/Authorize_APPClient.e -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_APPClient.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.3.32804.467 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_APPClient", "Authorize_APPClient\Authorize_APPClient.vcxproj", "{4F263EAF-A748-46AF-A10E-8A25626E0571}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_APPLocal", "Authorize_APPLocal\Authorize_APPLocal.vcxproj", "{767151F7-230E-431B-AC6D-683F19F43C13}" 9 | EndProject 10 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_ClientModule", "Authorize_ClientModule\Authorize_ClientModule.vcxproj", "{82B923A9-2F4A-4784-A245-BAA6ABF5A358}" 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Authorize_CDKeyNetVer", "Authorize_CDKeyNetVer\Authorize_CDKeyNetVer.vcxproj", "{1D584651-5E93-43BA-9A48-E7D199DC587F}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|x64 = Debug|x64 17 | Debug|x86 = Debug|x86 18 | Release|x64 = Release|x64 19 | Release|x86 = Release|x86 20 | EndGlobalSection 21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 22 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x64.ActiveCfg = Debug|x64 23 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x64.Build.0 = Debug|x64 24 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x86.ActiveCfg = Debug|Win32 25 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Debug|x86.Build.0 = Debug|Win32 26 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x64.ActiveCfg = Release|x64 27 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x64.Build.0 = Release|x64 28 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x86.ActiveCfg = Release|Win32 29 | {4F263EAF-A748-46AF-A10E-8A25626E0571}.Release|x86.Build.0 = Release|Win32 30 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x64.ActiveCfg = Debug|x64 31 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x64.Build.0 = Debug|x64 32 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x86.ActiveCfg = Debug|Win32 33 | {767151F7-230E-431B-AC6D-683F19F43C13}.Debug|x86.Build.0 = Debug|Win32 34 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x64.ActiveCfg = Release|x64 35 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x64.Build.0 = Release|x64 36 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x86.ActiveCfg = Release|Win32 37 | {767151F7-230E-431B-AC6D-683F19F43C13}.Release|x86.Build.0 = Release|Win32 38 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.ActiveCfg = Debug|x64 39 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x64.Build.0 = Debug|x64 40 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.ActiveCfg = Debug|Win32 41 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Debug|x86.Build.0 = Debug|Win32 42 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.ActiveCfg = Release|x64 43 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x64.Build.0 = Release|x64 44 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.ActiveCfg = Release|Win32 45 | {82B923A9-2F4A-4784-A245-BAA6ABF5A358}.Release|x86.Build.0 = Release|Win32 46 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x64.ActiveCfg = Debug|x64 47 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x64.Build.0 = Debug|x64 48 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x86.ActiveCfg = Debug|Win32 49 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Debug|x86.Build.0 = Debug|Win32 50 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x64.ActiveCfg = Release|x64 51 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x64.Build.0 = Release|x64 52 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x86.ActiveCfg = Release|Win32 53 | {1D584651-5E93-43BA-9A48-E7D199DC587F}.Release|x86.Build.0 = Release|Win32 54 | EndGlobalSection 55 | GlobalSection(SolutionProperties) = preSolution 56 | HideSolutionNode = FALSE 57 | EndGlobalSection 58 | GlobalSection(ExtensibilityGlobals) = postSolution 59 | SolutionGuid = {9829EC72-7C7A-4259-9ADE-8A879697B386} 60 | EndGlobalSection 61 | EndGlobal 62 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_APPClient/Authorize_APPClient.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_APPClient/Authorize_APPClient.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_APPLocal/Authorize_APPLocal.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_CDKeyNetVer/Authorize_CDKeyNetVer.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.cpp: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_BUILD 2 | #include 3 | #include 4 | #pragma comment(lib,"Ws2_32.lib") 5 | #ifdef _WIN64 6 | #pragma comment(lib,"../../XEngine_Source/x64/Debug/AuthorizeModule_Client") 7 | #else 8 | #pragma comment(lib,"../../XEngine_Source/Debug/AuthorizeModule_Client") 9 | #endif 10 | #endif 11 | #include 12 | #include 13 | #include 14 | #include 15 | using namespace std; 16 | #include 17 | #include "../../XEngine_Source/XAuth_BuildSwitch.h" 18 | #include "../../XEngine_Source/AuthorizeModule_Client/AuthClient_Define.h" 19 | #include "../../XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h" 20 | 21 | //Windows::vs2022 x86 debug 编译即可 22 | //Linux MACOS::g++ -std=c++17 -Wall -g Authorize_ClientModule.cpp -o Authorize_ClientModule.exe -L ../../XEngine_Release/ -lAuthorizeModule_Client -ljsoncpp -Wl,-rpath=../../XEngine_Release 23 | 24 | int TestClient_HardLogin() 25 | { 26 | if (!AuthClient_Connector_Connect(_X("127.0.0.1"), 5300)) 27 | { 28 | printf("AuthClient_Connector_Connect:%lX\n", AuthClient_GetLastError()); 29 | return -1; 30 | } 31 | if (!AuthClient_Connector_Login("2FDWAD02JD2091", "")) 32 | { 33 | printf("AuthClient_Connector_Login:%lX\n", AuthClient_GetLastError()); 34 | return -1; 35 | } 36 | 37 | AuthClient_Connector_Close(); 38 | return 0; 39 | } 40 | 41 | int TestClient_TryLogin() 42 | { 43 | //插入查询 44 | LPCXSTR lpszTryInsert = _X("http://127.0.0.1:5302/auth/user/try"); 45 | 46 | if (AuthClient_HTTPVer_TryRequest(lpszTryInsert)) 47 | { 48 | printf("ok\n"); 49 | } 50 | else 51 | { 52 | printf("failed\n"); 53 | } 54 | return 0; 55 | } 56 | int main() 57 | { 58 | TestClient_HardLogin(); 59 | TestClient_TryLogin(); 60 | return 0; 61 | } -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 源文件 20 | 21 | 22 | -------------------------------------------------------------------------------- /XEngine_Apps/Authorize_ClientModule/Authorize_ClientModule.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Apps/README.md: -------------------------------------------------------------------------------- 1 | appclient just only x86 and x64 debug compile on windows -------------------------------------------------------------------------------- /XEngine_Apps/VSClean.bat: -------------------------------------------------------------------------------- 1 | @echo Off 2 | del /s /a *.ncb *.so *.o *.db 3 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul 4 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Release" 2>nul 5 | FOR /R . %%d IN (.) DO rd /s /q "%%d\x64" 2>nul 6 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul 7 | FOR /R . %%d IN (.) DO rd /s /q "%%d\ipch" 2>nul 8 | 9 | rem If the Properties directory is empty, remove it 10 | FOR /R . %%d in (.) do rd /q "%%d\Properties" 2> nul 11 | -------------------------------------------------------------------------------- /XEngine_Apps/VSCopy_Client_x64.bat: -------------------------------------------------------------------------------- 1 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" 2 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" 3 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" 4 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" 5 | 6 | copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" 7 | copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" 8 | 9 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" 10 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" -------------------------------------------------------------------------------- /XEngine_Apps/VSCopy_Client_x86.bat: -------------------------------------------------------------------------------- 1 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" 2 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" 3 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" 4 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" 5 | 6 | copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" 7 | copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" 8 | 9 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" 10 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" -------------------------------------------------------------------------------- /XEngine_Docment/Docment_en.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Docment/Docment_en.docx -------------------------------------------------------------------------------- /XEngine_Docment/Docment_zh.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Docment/Docment_zh.docx -------------------------------------------------------------------------------- /XEngine_Release/APPVer.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/APPVer.key -------------------------------------------------------------------------------- /XEngine_Release/XEngine_Config/HttpMime.types: -------------------------------------------------------------------------------- 1 | text/html html htm shtml 2 | text/css css 3 | text/xml xml 4 | text/mathml mml 5 | text/plain txt 6 | text/vnd.sun.j2me.app-descriptor jad 7 | text/vnd.wap.wml wml 8 | text/x-component htc 9 | 10 | image/gif gif 11 | image/jpeg jpeg jpg 12 | image/avif avif 13 | image/png png 14 | image/tiff tif tiff 15 | image/webp webp 16 | image/vnd.wap.wbmp wbmp 17 | image/svg+xml svg svgz 18 | image/x-icon ico 19 | image/x-jng jng 20 | image/x-ms-bmp bmp 21 | 22 | font/woff woff 23 | font/woff2 woff2 24 | 25 | application/pdf pdf 26 | 27 | application/vnd.google-earth.kml+xml kml 28 | application/vnd.google-earth.kmz kmz 29 | 30 | application/msword doc 31 | application/vnd.ms-excel xls 32 | application/vnd.ms-powerpoint ppt 33 | application/vnd.ms-fontobject eot 34 | application/vnd.oasis.opendocument.graphics odg 35 | application/vnd.oasis.opendocument.presentation odp 36 | application/vnd.oasis.opendocument.spreadsheet ods 37 | application/vnd.oasis.opendocument.text odt 38 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx 39 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx 40 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx 41 | 42 | application/javascript js 43 | application/atom+xml atom 44 | application/rss+xml rss 45 | application/java-archive jar war ear 46 | application/json json 47 | application/mac-binhex40 hqx 48 | application/postscript ps eps ai 49 | application/rtf rtf 50 | application/vnd.apple.mpegurl m3u8 51 | application/vnd.wap.wmlc wmlc 52 | application/wasm wasm 53 | 54 | application/x-7z-compressed 7z 55 | application/x-cocoa cco 56 | application/x-java-archive-diff jardiff 57 | application/x-java-jnlp-file jnlp 58 | application/x-makeself run 59 | application/x-perl pl pm 60 | application/x-pilot prc pdb 61 | application/x-rar-compressed rar 62 | application/x-redhat-package-manager rpm 63 | application/x-sea sea 64 | application/x-shockwave-flash swf 65 | application/x-stuffit sit 66 | application/x-tcl tcl tk 67 | application/x-x509-ca-cert der pem crt 68 | application/x-xpinstall xpi 69 | application/xhtml+xml xhtml 70 | application/xspf+xml xspf 71 | application/zip zip 72 | 73 | application/octet-stream bin exe dll 74 | application/octet-stream deb 75 | application/octet-stream dmg 76 | application/octet-stream iso img 77 | application/octet-stream msi msp msm 78 | 79 | audio/midi mid midi kar 80 | audio/mpeg mp3 81 | audio/ogg ogg 82 | audio/x-m4a m4a 83 | audio/x-realaudio ra 84 | 85 | video/3gpp 3gpp 3gp 86 | video/mp2t ts 87 | video/mp4 mp4 88 | video/mpeg mpeg mpg 89 | video/quicktime mov 90 | video/webm webm 91 | video/x-flv flv 92 | video/x-m4v m4v 93 | video/x-mng mng 94 | video/x-ms-asf asx asf 95 | video/x-ms-wmv wmv 96 | video/x-msvideo avi -------------------------------------------------------------------------------- /XEngine_Release/XEngine_Config/XEngine_Config.json: -------------------------------------------------------------------------------- 1 | { 2 | "nTCPPort":5300, 3 | "nWSPort":5301, 4 | "nHTTPPort":5302, 5 | "bDeamon":false, 6 | "bTimeNotify":false, 7 | "XMax":{ 8 | "nMaxClient":10000, 9 | "nMaxQueue":10000, 10 | "nIOThread":2, 11 | "nTCPThread":2, 12 | "nWSThread":2, 13 | "nHTTPThread":2 14 | }, 15 | "XTime":{ 16 | "nHeartCheck":3, 17 | "nTCPTime":5, 18 | "nWSTime":5, 19 | "nHTTPTime":5 20 | }, 21 | "XVerification":{ 22 | "nTokenTimeout":3600, 23 | "nDynamicTimeout":30, 24 | "nVerTime":5, 25 | "nVerMode":2, 26 | "nTryTime":30, 27 | "nTryMode":1, 28 | "st_XCDKey":{ 29 | "tszKeyFile":"./APPVer.key", 30 | "tszKeyPass":"123123qa" 31 | }, 32 | "st_XToken":{ 33 | "bAutoRenewal":false, 34 | "nRenewalTime":-1 35 | } 36 | }, 37 | "XLogin":{ 38 | "bHTTPAuth":false, 39 | "bPassAuth":false, 40 | "nMultiMode":0, 41 | "st_PassUrl":{ 42 | "tszPassLogin":"http://127.0.0.1:5303/auth/pass/login", 43 | "tszPassLogout":"http://127.0.0.1:5303/auth/pass/logout", 44 | "tszPassTimeout":"http://127.0.0.1:5303/auth/pass/timeout" 45 | }, 46 | "st_MulitLogin":{ 47 | "bSecond":true, 48 | "bTime":true, 49 | "bDay":true, 50 | "bCustom":false 51 | } 52 | }, 53 | "XCrypto":{ 54 | "bEnable":false, 55 | "nPass":123123 56 | }, 57 | "XSql":{ 58 | "nSQLType":0, 59 | "SQLAddr": "127.0.0.1", 60 | "SQLPort": 3306, 61 | "SQLUser": "root", 62 | "SQLPass": "123123", 63 | "SQLFile":"./XEngine_DataBase/SQL_User.db" 64 | }, 65 | "XLog":{ 66 | "tszLogFile":"./XEngine_XLog/XEngine_Authorize.log", 67 | "MaxSize":1024000, 68 | "MaxCount":10, 69 | "LogLeave":32, 70 | "nLogType":17 71 | }, 72 | "XReport":{ 73 | "bEnable":true, 74 | "tszServiceName":"XEngine_Authorize", 75 | "tszAPIUrl":"http://app.xyry.org:5501/api?function=machine" 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /XEngine_Release/XEngine_Config/XEngine_SwitchConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "bSwitchDelete":true, 3 | "bSwitchRegister":true, 4 | "bSwitchLogin":true, 5 | "bSwitchPay":true, 6 | "bSwitchPass":true, 7 | "bSwitchTime":true, 8 | "bSwitchCDKey":true, 9 | "bSwitchNotice":true, 10 | "bSwitchDCode":false, 11 | "bSwitchMulti":true, 12 | "bSwitchTry":true, 13 | "bSwitchBanned":true, 14 | "bSwitchTokenLogin":true, 15 | "bSwitchHCLogin":true 16 | } -------------------------------------------------------------------------------- /XEngine_Release/XEngine_Config/XEngine_VersionConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "XVer":[ 3 | "V3.18.0.1001 Build20250510", 4 | "V3.17.0.1001 Build20250305", 5 | "V3.16.0.1001 Build20250113", 6 | "V3.15.0.1001 Build20241121", 7 | "V3.14.0.1001 Build20240920", 8 | "V3.13.0.1001 Build20240715", 9 | "V3.12.1.1001 Build20240621", 10 | "V3.12.0.1001 Build20240513", 11 | "V3.11.0.1001 Build20240223", 12 | "V3.10.0.1001 Build20240109", 13 | "V3.9.1.1001 Build20231110", 14 | "V3.9.0.1001 Build20231110", 15 | "V3.8.0.1001 Build20230811", 16 | "V3.7.0.1001 Build20230421", 17 | "V3.6.0.1001 Build20230224", 18 | "V3.5.0.1001 Build20230203", 19 | "V3.4.0.1001 Build20221230", 20 | "V3.3.0.1001 Build20221101", 21 | "V3.2.0.1001 Build20220923", 22 | "V3.1.0.1001 Build20220826", 23 | "V3.0.0.1001 Build20220816", 24 | "V2.8.0.1001 Build20220809", 25 | "V2.7.2.1001 Build20220715", 26 | "V2.7.1.1001 Build20220602", 27 | "V2.7.0.1001 Build20220531", 28 | "V2.6.1.1001 Build20220330", 29 | "V2.6.0.1001 Build20220218", 30 | "V2.5.1.1001 Build20220126", 31 | "V2.5.0.1001 Build20211203", 32 | "V2.4.0.1001 Build20211105", 33 | "V2.3.0.1001 Build20211022", 34 | "V2.2.0.1001 Build20210806", 35 | "V2.1.0.1001 Build20210801", 36 | "V2.0.0.1001 Build20210723", 37 | "V1.11.0.1001 Build20210618", 38 | "V1.10.0.1001 Build20210524", 39 | "V1.9.0.1001 Build20210503", 40 | "V1.9.0.1001 Build20210423", 41 | "V1.8.0.1001 Build20210209", 42 | "V1.7.0.1001 Build20210116", 43 | "V1.6.0.1001 Build20190601", 44 | "V1.5.0.1001 Build20190522", 45 | "V1.4.0.1001 Build20190308", 46 | "V1.3.0.1001 Build20141030", 47 | "V1.2.0.1001 Build20140907", 48 | "V1.1.0.1001 Build20110320", 49 | "V1.0.0.1001 Build20110306" 50 | ] 51 | } -------------------------------------------------------------------------------- /XEngine_Release/XEngine_Coredump/keepfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/XEngine_Coredump/keepfile -------------------------------------------------------------------------------- /XEngine_Release/XEngine_DataBase/SQL_User.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/XEngine_DataBase/SQL_User.db -------------------------------------------------------------------------------- /XEngine_Release/XEngine_XLog/keepfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Release/XEngine_XLog/keepfile -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | Authorize_GetLastError 5 | 6 | Authorize_Serial_Creator 7 | Authorize_Serial_Create 8 | Authorize_Serial_GetType 9 | 10 | Authorize_CDKey_WriteKey 11 | Authorize_CDKey_ReadKey 12 | Authorize_CDKey_WriteMemory 13 | Authorize_CDKey_ReadMemory 14 | Authorize_CDKey_BuildKeyTime 15 | Authorize_CDKey_UserRegister 16 | Authorize_CDKey_GetLeftTimer 17 | Authorize_CDKey_WriteTime 18 | Authorize_CDKey_ReadTime -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {0a186122-00ae-4ad3-91b5-8a6fdf3950bc} 18 | 19 | 20 | {c4ce44ad-ed56-48d6-92d8-49f68b1029d4} 21 | 22 | 23 | {a33f91ec-f718-45b9-9ec5-d4f93a6482d0} 24 | 25 | 26 | {39fc0e03-6422-475a-be30-30d77154b7d1} 27 | 28 | 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件\Authorize_CDKey 38 | 39 | 40 | 头文件\Authorize_Serial 41 | 42 | 43 | 头文件 44 | 45 | 46 | 头文件 47 | 48 | 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件\Authorize_CDKey 58 | 59 | 60 | 源文件\Authorize_Serial 61 | 62 | 63 | 64 | 65 | 源文件 66 | 67 | 68 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/AuthorizeModule_CDKey.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/Authorize_CDKey/Authorize_CDKey.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2024/07/08 17:27:26 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey\Authorize_CDKey.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_CDKey 6 | // File Base: Authorize_CDKey 7 | // File Ext: h 8 | // Project: XEngine 9 | // Author: qyt 10 | // Purpose: 本地授权服务 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CAuthorize_CDKey 15 | { 16 | public: 17 | CAuthorize_CDKey(); 18 | ~CAuthorize_CDKey(); 19 | public: 20 | bool Authorize_CDKey_WriteKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); 21 | bool Authorize_CDKey_ReadKey(LPCXSTR lpszFileKey, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); 22 | bool Authorize_CDKey_WriteMemory(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); 23 | bool Authorize_CDKey_ReadMemory(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal); 24 | public: 25 | bool Authorize_CDKey_BuildKeyTime(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, __int64x nDayTimer = 0, XENGINE_LIBTIME* pSt_DayTimer = NULL); 26 | bool Authorize_CDKey_UserRegister(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialStr); 27 | bool Authorize_CDKey_GetLeftTimer(XENGINE_AUTHORIZE_LOCAL* pSt_AuthLocal, LPCXSTR lpszSerialNumber = NULL); 28 | bool Authorize_CDKey_WriteTime(LPCXSTR lpszFileKey, int nCount = 0); 29 | bool Authorize_CDKey_ReadTime(LPCXSTR lpszFileKey, XCHAR*** ppptszTimeList, int* pInt_ListCount); 30 | private: 31 | }; 32 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/Authorize_Serial/Authorize_Serial.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2024/07/08 17:30:06 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial\Authorize_Serial.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Serial 6 | // File Base: Authorize_Serial 7 | // File Ext: h 8 | // Project: XEngine 9 | // Author: qyt 10 | // Purpose: 序列卡生成器 11 | // History: 12 | *********************************************************************/ 13 | 14 | 15 | class CAuthorize_Serial 16 | { 17 | public: 18 | CAuthorize_Serial(); 19 | ~CAuthorize_Serial(); 20 | public: 21 | bool Authorize_Serial_Creator(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber, XENGINE_LIBTIME* pSt_CustomTimer, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY); 22 | bool Authorize_Serial_Create(XCHAR*** ppptszSerialNumber, LPCXSTR lpszUserHeader, int nCardNumber, int nFieldNumber); 23 | bool Authorize_Serial_GetType(LPCXSTR lpszSerialNumber, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, XENGINE_LIBTIME* pSt_CustomTimer = NULL); 24 | protected: 25 | bool Authorize_Serial_Fill(XCHAR *ptszFillBuffer, int nCardNumer); //填充后面的字段 26 | protected: 27 | bool Authorize_Serial_Random(XCHAR *ptszFillBuffer); //取随机字母数字 28 | bool Authorize_Serial_RandomWord(XCHAR *ptszFillBuffer); //随机取单词 29 | bool Authorize_Serial_RandomNumber(XCHAR *ptszFilleBuffer); //取随机数 30 | private: 31 | XCHAR tszTimerSecond[6]; //按照秒钟时间格式 32 | XCHAR tszTimerDay[6]; //按照天的时间格式 33 | XCHAR tszTimerTime[6]; //次数卡 34 | XCHAR tszTimerCustom[32]; //自定义到期时间 35 | }; 36 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/CDKey_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2024/07/08 17:30:28 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\Authorize_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey 6 | // File Base: Authorize_Error 7 | // File Ext: h 8 | // Project: XEngine 9 | // Author: qyt 10 | // Purpose: 错误导出表 11 | // History: 12 | *********************************************************************/ 13 | ////////////////////////////////////////////////////////////////////////// 14 | // 序列卡授权导出错误表 15 | ////////////////////////////////////////////////////////////////////////// 16 | #define ERROR_AUTHORIZE_MODULE_CDKEY_PARAMENT 0x50A0001 //参数不合适 17 | #define ERROR_AUTHORIZE_MODULE_CDKEY_NOTSUPPORT 0x50A0002 //不支持此生成类型 18 | #define ERROR_AUTHORIZE_MODULE_CDKEY_BUFFER 0x50A0003 //这个缓冲区有问题,获取卡类型失败 19 | #define ERROR_AUTHORIZE_MODULE_CDKEY_CUSTOM 0x50A0004 //获取自定义时间序列号的过期时间失败。 20 | #define ERROR_AUTHORIZE_MODULE_CDKEY_UNKNOW 0x50A0005 //获取类型失败,这个类型未知 21 | #define ERROR_AUTHORIZE_MODULE_CDKEY_CONNECT 0x50A1001 //连接信息写入失败 22 | #define ERROR_AUTHORIZE_MODULE_CDKEY_APPINFO 0x50A1002 //程序信息写入失败 23 | #define ERROR_AUTHORIZE_MODULE_CDKEY_AUTHREG 0x50A1003 //添加注册信息失败 24 | #define ERROR_AUTHORIZE_MODULE_CDKEY_SERIAL 0x50A1004 //写入序列号失败 25 | #define ERROR_AUTHORIZE_MODULE_CDKEY_USER 0x50A1005 //写入用户信息失败 26 | #define ERROR_AUTHORIZE_MODULE_CDKEY_NOTREG 0x50A1021 //没有注册 27 | #define ERROR_AUTHORIZE_MODULE_CDKEY_NOTHASTIME 0x50A1022 //没有可用时间 28 | #define ERROR_AUTHORIZE_MODULE_CDKEY_TIMEOUT 0x50A1024 //CDKEY已经超时,没有可用时间 29 | #define ERROR_AUTHORIZE_MODULE_CDKEY_TEMP 0x50A1026 //临时版本已不可用 30 | #define ERROR_AUTHORIZE_MODULE_CDKEY_EXPIRED 0x50A1027 //已经过期的CDKEY,无法继续使用 31 | #define ERROR_AUTHORIZE_MODULE_CDKEY_OPENFILE 0x50A1031 //文件不存在 32 | #define ERROR_AUTHORIZE_MODULE_CDKEY_SETFILE 0x50A1032 //设置文件失败 33 | #define ERROR_AUTHORIZE_MODULE_CDKEY_TIMELIST 0x50A1041 //不存在时间列表 34 | #define ERROR_AUTHORIZE_MODULE_CDKEY_MALLOC 0x50A1042 //申请内存失败 35 | #define ERROR_AUTHORIZE_MODULE_CDKEY_READ 0x50A1043 //读取文件失败 36 | #define ERROR_AUTHORIZE_MODULE_CDKEY_FAILED 0x50A1044 //序列号验证失败,输入的序列号错误 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ 6 | LIB = -lXEngine_BaseLib -lXEngine_SystemConfig 7 | LIBEX = 8 | LOADSO = 9 | OBJECTS = Authorize_Serial.o Authorize_CDKey.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=../XEngine_BaseLib,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/../XEngine_BaseLib/ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_CDKey.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | Authorize_Serial.o:./Authorize_Serial/Authorize_Serial.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Authorize_Serial/Authorize_Serial.cpp 54 | Authorize_CDKey.o:./Authorize_CDKey/Authorize_CDKey.cpp 55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Authorize_CDKey/Authorize_CDKey.cpp 56 | 57 | pch.o:pch.cpp 58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 59 | 60 | 61 | InstallAll:InstallSo 62 | InstallSo:./libAuthorizeModule_CDKey.$(FILEEXT) 63 | cp ./libAuthorizeModule_CDKey.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_CDKey.$(FILEEXT) 64 | 65 | 66 | CleanAll:CleanObj CleanMk 67 | CleanObj: 68 | rm *.o 69 | CleanMk: 70 | rm *.$(FILEEXT) 71 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | BOOL APIENTRY DllMain( HMODULE hModule, 5 | DWORD ul_reason_for_call, 6 | LPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return TRUE; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_CDKey/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | #ifdef _MSC_BUILD 11 | // 添加要在此处预编译的标头 12 | #include "framework.h" 13 | #include 14 | #include 15 | #else 16 | #include 17 | #endif 18 | #endif //PCH_H 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | using namespace std; 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include "../XAuth_BuildSwitch.h" 35 | #include "../XAuth_Protocol.h" 36 | #include "CDKey_Define.h" 37 | #include "CDKey_Error.h" 38 | /******************************************************************** 39 | // Created: 2024/07/08 17:29:57 40 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey\pch.h 41 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_CDKey 42 | // File Base: pch 43 | // File Ext: h 44 | // Project: XEngine 45 | // Author: qyt 46 | // Purpose: 公有头文件 47 | // History: 48 | *********************************************************************/ 49 | extern bool Authorize_IsErrorOccur; 50 | extern XLONG Authorize_dwErrorCode; 51 | 52 | typedef std::string xstring; 53 | 54 | #ifdef _MSC_BUILD 55 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") 56 | #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemConfig.lib") 57 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/AuthClient_Connector/AuthClient_Connector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2023/11/15 10:34:36 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector\AuthClient_Connector.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Connector 6 | // File Base: AuthClient_Connector 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 验证客户端示例模块 11 | // History: 12 | *********************************************************************/ 13 | typedef struct 14 | { 15 | XNETHANDLE xhToken; 16 | int nDynamicCode; 17 | time_t nTimeStart; 18 | }AUTHHELP_DYNAMICCODE; 19 | 20 | class CAuthClient_Connector 21 | { 22 | public: 23 | CAuthClient_Connector(); 24 | ~CAuthClient_Connector(); 25 | public: 26 | bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass = NULL); 27 | bool AuthClient_Connector_Close(); 28 | bool AuthClient_Connector_GetAuth(bool* pbAuth = NULL); 29 | bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, XSHOT nDYCode = 0, XNETHANDLE xhToken = 0, XLONG dwCryption = 0); 30 | bool AuthClient_Connector_Heart(bool bEnable = true); 31 | protected: 32 | static XHTHREAD XCALLBACK AuthClient_Connector_Thread(XPVOID lParam); 33 | private: 34 | bool m_bRun = false; 35 | bool m_bLogin = false; 36 | bool m_bAuth = false; 37 | bool m_bHeart = false; 38 | XSOCKET m_hSocket = 0; 39 | XCHAR tszPassStr[128] = {}; 40 | private: 41 | shared_ptr pSTDThread; 42 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/AuthClient_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2023/11/15 11:32:27 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client 6 | // File Base: AuthClient_Error 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 错误表 11 | // History: 12 | *********************************************************************/ 13 | ////////////////////////////////////////////////////////////////////////// 14 | // 导出的错误表 15 | ////////////////////////////////////////////////////////////////////////// 16 | /************************************************************************/ 17 | /* 网络协议错误 */ 18 | /************************************************************************/ 19 | #define ERROR_AUTHORIZE_MODULE_CLIENT_PARAMENT 0x0060000 //参数错误,无法继续 20 | #define ERROR_AUTHORIZE_MODULE_CLIENT_SEND 0x0060001 //发送数据失败 21 | #define ERROR_AUTHORIZE_MODULE_CLIENT_RECV 0x0060002 //接受数据失败 22 | #define ERROR_AUTHORIZE_MODULE_CLIENT_LOGIN 0x0060003 //登录失败,请查看错误码 23 | #define ERROR_AUTHORIZE_MODULE_CLIENT_THREAD 0x0060004 //创建线程失败 24 | #define ERROR_AUTHORIZE_MODULE_CLIENT_NOTAUTH 0x0060005 //没有验证无法启用心跳 25 | /************************************************************************/ 26 | /* HTTP验证错误 */ 27 | /************************************************************************/ 28 | #define ERROR_AUTHORIZE_MODULE_HTTPVER_PARAMENT 0x0060010 29 | #define ERROR_AUTHORIZE_MODULE_HTTPVER_PARSE 0x0060011 30 | #define ERROR_AUTHORIZE_MODULE_HTTPVER_VERFAILED 0x0060012 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/AuthClient_HTTPVer/AuthClient_HTTPVer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2024/01/04 09:42:55 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer\AuthClient_HTTPVer.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\AuthClient_HTTPVer 6 | // File Base: AuthClient_HTTPVer 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 临时授权客户端 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CAuthClient_HTTPVer 15 | { 16 | public: 17 | CAuthClient_HTTPVer(); 18 | ~CAuthClient_HTTPVer(); 19 | public: 20 | bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr, LPCXSTR lpszPass = NULL); 21 | bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE* pxhToken, int* pInt_Timeout = NULL, LPCXSTR lpszPass = NULL); 22 | protected: 23 | private: 24 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | AuthClient_GetLastError 5 | 6 | AuthClient_Connector_Connect 7 | AuthClient_Connector_Close 8 | AuthClient_Connector_GetAuth 9 | AuthClient_Connector_Login 10 | AuthClient_Connector_Heart 11 | 12 | AuthClient_HTTPVer_TryRequest 13 | AuthClient_HTTPVer_GetDCode -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {8e7e2cf3-2b0b-423c-ac1e-1397e7a6b105} 18 | 19 | 20 | {af74d4d4-f721-4060-b98b-6f9d5eda9354} 21 | 22 | 23 | {4a9a85f2-55f9-47e4-9049-14245fc56628} 24 | 25 | 26 | {a5434c6b-9493-4a10-ae83-7dc2f1f6d489} 27 | 28 | 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件\AuthClient_Connector 38 | 39 | 40 | 头文件 41 | 42 | 43 | 头文件 44 | 45 | 46 | 头文件\AuthClient_HTTPVer 47 | 48 | 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件\AuthClient_Connector 58 | 59 | 60 | 源文件\AuthClient_HTTPVer 61 | 62 | 63 | 64 | 65 | 源文件 66 | 67 | 68 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/AuthorizeModule_Client.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp 6 | LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp 7 | LIB = -ljsoncpp -lXEngine_BaseLib -lXEngine_Cryption -lXClient_Socket -lXClient_APIHelp -lXEngine_SystemApi 8 | LIBEX = 9 | OBJECTS = AuthClient_Connector.o AuthClient_HTTPVer.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/./ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Client.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | AuthClient_Connector.o:./AuthClient_Connector/AuthClient_Connector.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthClient_Connector/AuthClient_Connector.cpp 54 | AuthClient_HTTPVer.o:./AuthClient_HTTPVer/AuthClient_HTTPVer.cpp 55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthClient_HTTPVer/AuthClient_HTTPVer.cpp 56 | 57 | pch.o:pch.cpp 58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 59 | 60 | InstallAll:InstallSo 61 | InstallSo:./libAuthorizeModule_Client.$(FILEEXT) 62 | cp ./libAuthorizeModule_Client.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Client.$(FILEEXT) 63 | 64 | 65 | CleanAll:CleanObj CleanMk 66 | CleanObj: 67 | rm *.o 68 | CleanMk: 69 | rm *.$(FILEEXT) 70 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | BOOL APIENTRY DllMain( HMODULE hModule, 5 | DWORD ul_reason_for_call, 6 | LPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return TRUE; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/pch.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include "AuthClient_Connector/AuthClient_Connector.h" 3 | #include "AuthClient_HTTPVer/AuthClient_HTTPVer.h" 4 | /******************************************************************** 5 | // Created: 2023/11/15 11:28:22 6 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\pch.cpp 7 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client 8 | // File Base: pch 9 | // File Ext: cpp 10 | // Project: XEngine(网络通信引擎) 11 | // Author: qyt 12 | // Purpose: 导出实现 13 | // History: 14 | *********************************************************************/ 15 | bool AuthClient_IsErrorOccur = false; 16 | XLONG AuthClient_dwErrorCode = 0; 17 | ////////////////////////////////////////////////////////////////////////// 18 | CAuthClient_Connector m_Connector; 19 | CAuthClient_HTTPVer m_HTTPVer; 20 | ////////////////////////////////////////////////////////////////////////// 21 | // 导出的函数 22 | ////////////////////////////////////////////////////////////////////////// 23 | extern "C" XLONG AuthClient_GetLastError(int* pInt_SysError) 24 | { 25 | if (NULL != pInt_SysError) 26 | { 27 | *pInt_SysError = errno; 28 | } 29 | return AuthClient_dwErrorCode; 30 | } 31 | /************************************************************************/ 32 | /* 验证客户端导出函数 */ 33 | /************************************************************************/ 34 | extern "C" bool AuthClient_Connector_Connect(LPCXSTR lpszClientAddr, int nPort, LPCXSTR lpszPass) 35 | { 36 | return m_Connector.AuthClient_Connector_Connect(lpszClientAddr, nPort, lpszPass); 37 | } 38 | extern "C" bool AuthClient_Connector_Close() 39 | { 40 | return m_Connector.AuthClient_Connector_Close(); 41 | } 42 | extern "C" bool AuthClient_Connector_GetAuth(bool* pbAuth) 43 | { 44 | return m_Connector.AuthClient_Connector_GetAuth(pbAuth); 45 | } 46 | extern "C" bool AuthClient_Connector_Login(LPCXSTR lpszUser, LPCXSTR lpszPass, XSHOT nDYCode, XNETHANDLE xhToken, XLONG dwCryption) 47 | { 48 | return m_Connector.AuthClient_Connector_Login(lpszUser, lpszPass, nDYCode, xhToken, dwCryption); 49 | } 50 | extern "C" bool AuthClient_Connector_Heart(bool bEnable) 51 | { 52 | return m_Connector.AuthClient_Connector_Heart(bEnable); 53 | } 54 | /************************************************************************/ 55 | /* 临时验证函数 */ 56 | /************************************************************************/ 57 | extern "C" bool AuthClient_HTTPVer_TryRequest(LPCXSTR lpszURLAddr) 58 | { 59 | return m_HTTPVer.AuthClient_HTTPVer_TryRequest(lpszURLAddr); 60 | } 61 | extern "C" bool AuthClient_HTTPVer_GetDCode(LPCXSTR lpszURLAddr, int* pInt_DYCode, XNETHANDLE * pxhToken, int* pInt_Timeout) 62 | { 63 | return m_HTTPVer.AuthClient_HTTPVer_GetDCode(lpszURLAddr, pInt_DYCode, pxhToken, pInt_Timeout); 64 | } -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Client/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | // 添加要在此处预编译的标头 11 | #ifdef _MSC_BUILD 12 | #include "framework.h" 13 | #include 14 | #endif 15 | #endif //PCH_H 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include "../XAuth_BuildSwitch.h" 28 | #if (1 == _XAUTH_BUILD_SWITCH_CLIENT_TCP) 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include "../XAuth_Protocol.h" 34 | #endif 35 | #if (1 == _XAUTH_BUILD_SWITCH_CLIENT_HTTP) 36 | #include 37 | #include 38 | #include 39 | #include 40 | #endif 41 | #include "AuthClient_Define.h" 42 | #include "AuthClient_Error.h" 43 | using namespace std; 44 | /******************************************************************** 45 | // Created: 2023/11/15 10:37:19 46 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client\pch.h 47 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Client 48 | // File Base: pch 49 | // File Ext: h 50 | // Project: XEngine(网络通信引擎) 51 | // Author: qyt 52 | // Purpose: 公有头文件 53 | // History: 54 | *********************************************************************/ 55 | extern bool AuthClient_IsErrorOccur; 56 | extern XLONG AuthClient_dwErrorCode; 57 | 58 | #ifdef _MSC_BUILD 59 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") 60 | #pragma comment(lib,"XEngine_Core/XEngine_Cryption") 61 | #pragma comment(lib,"XEngine_Client/XClient_Socket") 62 | #pragma comment(lib,"XEngine_Client/XClient_APIHelp") 63 | #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") 64 | #ifdef _DEBUG 65 | #ifdef _M_X64 66 | #pragma comment(lib,"../x64/Debug/jsoncpp") 67 | #elif _M_ARM64 68 | #pragma comment(lib,"../ARM64/Debug/jsoncpp") 69 | #elif _M_IX86 70 | #pragma comment(lib,"../Debug/jsoncpp") 71 | #endif 72 | #else 73 | #ifdef _M_X64 74 | #pragma comment(lib,"../x64/Release/jsoncpp") 75 | #elif _M_ARM64 76 | #pragma comment(lib,"../ARM64/Release/jsoncpp") 77 | #elif _M_IX86 78 | #pragma comment(lib,"../Release/jsoncpp") 79 | #endif 80 | #endif 81 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/AuthorizeModule_Configure.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | Config_GetLastError 5 | 6 | ModuleConfigure_Json_File 7 | ModuleConfigure_Json_Versions 8 | ModuleConfigure_Json_Switch -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/AuthorizeModule_Configure.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {6ac124f6-fb66-4122-a556-46df6d6f6926} 18 | 19 | 20 | {53e7588d-c345-417f-af2d-ea28d15f48fd} 21 | 22 | 23 | 24 | 25 | 头文件 26 | 27 | 28 | 头文件 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件\ModuleConfigure_Json 38 | 39 | 40 | 41 | 42 | 源文件 43 | 44 | 45 | 源文件 46 | 47 | 48 | 源文件\ModuleConfigure_Json 49 | 50 | 51 | 52 | 53 | 源文件 54 | 55 | 56 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/AuthorizeModule_Configure.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/Config_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2021/07/26 09:58:59 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure\Config_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure 6 | // File Base: Config_Error 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 导出的错误 11 | // History: 12 | *********************************************************************/ 13 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_PARAMENT 0x0010001 14 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_OPENFILE 0x0010002 15 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_PARSE 0x0010003 16 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XMAX 0x0010004 17 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XVER 0x0010005 18 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XCRYPTO 0x0010006 19 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XSQL 0x0010007 20 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XLOG 0x0010008 21 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_MALLOC 0x0010009 22 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_REPORT 0x0010010 23 | #define ERROR_AUTHORIZE_MODULE_CONFIGURE_XTIME 0x0010011 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp 6 | LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp 7 | LIB = -ljsoncpp 8 | LIBEX = 9 | OBJECTS = ModuleConfigure_Json.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/./ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Configure.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | ModuleConfigure_Json.o:./ModuleConfigure_Json/ModuleConfigure_Json.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./ModuleConfigure_Json/ModuleConfigure_Json.cpp 54 | 55 | pch.o:pch.cpp 56 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 57 | 58 | InstallAll:InstallSo 59 | InstallSo:./libAuthorizeModule_Configure.$(FILEEXT) 60 | cp ./libAuthorizeModule_Configure.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Configure.$(FILEEXT) 61 | 62 | 63 | 64 | CleanAll:CleanObj CleanMk 65 | CleanObj: 66 | rm *.o 67 | CleanMk: 68 | rm *.$(FILEEXT) 69 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/ModuleConfigure_Json/ModuleConfigure_Json.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2021/12/02 16:08:16 4 | // File Name: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ModuleConfigure\ModuleConfigure_Json\ModuleConfigure_Json.h 5 | // File Path: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ModuleConfigure\ModuleConfigure_Json 6 | // File Base: ModuleConfigure_Json 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: JSON配置文件读写 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CModuleConfigure_Json 15 | { 16 | public: 17 | CModuleConfigure_Json(); 18 | ~CModuleConfigure_Json(); 19 | public: 20 | bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig); 21 | bool ModuleConfigure_Json_Versions(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG* pSt_ServerConfig); 22 | bool ModuleConfigure_Json_Switch(LPCXSTR lpszConfigFile, XENGINE_FUNCTIONSWITCH* pSt_ServerConfig); 23 | protected: 24 | private: 25 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | bool APIENTRY DllMain( HMODULE hModule, 5 | XLONG ul_reason_for_call, 6 | XPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return true; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/pch.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include "ModuleConfigure_Json/ModuleConfigure_Json.h" 3 | /******************************************************************** 4 | // Created: 2021/07/26 10:20:03 5 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure\pch.cpp 6 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure 7 | // File Base: pch 8 | // File Ext: cpp 9 | // Project: XEngine(网络通信引擎) 10 | // Author: qyt 11 | // Purpose: 导出实现 12 | // History: 13 | *********************************************************************/ 14 | bool Config_IsErrorOccur = false; 15 | XLONG Config_dwErrorCode = 0; 16 | ////////////////////////////////////////////////////////////////////////// 17 | CModuleConfigure_Json m_Config; 18 | ////////////////////////////////////////////////////////////////////////// 19 | // 导出函数 20 | ////////////////////////////////////////////////////////////////////////// 21 | extern "C" XLONG Config_GetLastError(int* pInt_SysError) 22 | { 23 | if (NULL != pInt_SysError) 24 | { 25 | *pInt_SysError = errno; 26 | } 27 | return Config_dwErrorCode; 28 | } 29 | /************************************************************************/ 30 | /* 配置文件导出函数 */ 31 | /************************************************************************/ 32 | extern "C" bool ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG * pSt_ServerConfig) 33 | { 34 | return m_Config.ModuleConfigure_Json_File(lpszConfigFile, pSt_ServerConfig); 35 | } 36 | extern "C" bool ModuleConfigure_Json_Versions(LPCXSTR lpszConfigFile, XENGINE_SERVICECONFIG * pSt_ServerConfig) 37 | { 38 | return m_Config.ModuleConfigure_Json_Versions(lpszConfigFile, pSt_ServerConfig); 39 | } 40 | extern "C" bool ModuleConfigure_Json_Switch(LPCXSTR lpszConfigFile, XENGINE_FUNCTIONSWITCH * pSt_ServerConfig) 41 | { 42 | return m_Config.ModuleConfigure_Json_Switch(lpszConfigFile, pSt_ServerConfig); 43 | } -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Configure/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | #ifdef _WINDOWS 11 | // 添加要在此处预编译的标头 12 | #include "framework.h" 13 | #include 14 | #endif 15 | #endif //PCH_H 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | using namespace std; 23 | #include 24 | #include 25 | #include "Config_Define.h" 26 | #include "Config_Error.h" 27 | /******************************************************************** 28 | // Created: 2021/07/26 10:00:36 29 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure\pch.h 30 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Configure 31 | // File Base: pch 32 | // File Ext: h 33 | // Project: XEngine(网络通信引擎) 34 | // Author: qyt 35 | // Purpose: 公用头文件 36 | // History: 37 | *********************************************************************/ 38 | extern bool Config_IsErrorOccur; 39 | extern XLONG Config_dwErrorCode; 40 | 41 | #ifdef _MSC_BUILD 42 | #ifdef _DEBUG 43 | #ifdef _M_X64 44 | #pragma comment(lib,"../x64/Debug/jsoncpp") 45 | #elif _M_ARM64 46 | #pragma comment(lib,"../ARM64/Debug/jsoncpp") 47 | #elif _M_IX86 48 | #pragma comment(lib,"../Debug/jsoncpp") 49 | #endif 50 | #else 51 | #ifdef _M_X64 52 | #pragma comment(lib,"../x64/Release/jsoncpp") 53 | #elif _M_ARM64 54 | #pragma comment(lib,"../ARM64/Release/jsoncpp") 55 | #elif _M_IX86 56 | #pragma comment(lib,"../Release/jsoncpp") 57 | #endif 58 | #endif 59 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | DBModule_GetLastError 5 | 6 | DBModule_SQLite_Init 7 | DBModule_SQLite_Destroy 8 | 9 | DBModule_SQLite_UserDelete 10 | DBModule_SQLite_UserRegister 11 | DBModule_SQLite_UserQuery 12 | DBModule_SQLite_UserPay 13 | DBModule_SQLite_UserLeave 14 | DBModule_SQLite_UserSet 15 | DBModule_SQLite_UserList 16 | DBModule_SQLite_UserLogin 17 | DBModule_SQLite_QueryLogin 18 | 19 | DBModule_SQLite_SerialInsert 20 | DBModule_SQLite_SerialDelete 21 | DBModule_SQLite_SerialQuery 22 | DBModule_SQLite_SerialQueryAll 23 | DBModule_SQLite_SerialPush 24 | 25 | DBModule_SQLite_TryInsert 26 | DBModule_SQLite_TryQuery 27 | DBModule_SQLite_TryDelete 28 | DBModule_SQLite_TryClear 29 | DBModule_SQLite_TrySet 30 | DBModule_SQLite_TryList 31 | 32 | DBModule_SQLite_BannedInsert 33 | DBModule_SQLite_BannedDelete 34 | DBModule_SQLite_BannedList 35 | DBModule_SQLite_BannedExist 36 | DBModule_SQLite_BannedUPDate 37 | 38 | DBModule_SQLite_AnnouncementInsert 39 | DBModule_SQLite_AnnouncementDelete 40 | DBModule_SQLite_AnnouncementList 41 | 42 | DBModule_MySQL_Init 43 | DBModule_MySQL_Destroy 44 | 45 | DBModule_MySQL_UserDelete 46 | DBModule_MySQL_UserRegister 47 | DBModule_MySQL_UserQuery 48 | DBModule_MySQL_UserPay 49 | DBModule_MySQL_UserLeave 50 | DBModule_MySQL_UserSet 51 | DBModule_MySQL_UserList 52 | DBModule_MySQL_UserLogin 53 | DBModule_MySQL_QueryLogin 54 | 55 | DBModule_MySQL_SerialInsert 56 | DBModule_MySQL_SerialDelete 57 | DBModule_MySQL_SerialQuery 58 | DBModule_MySQL_SerialQueryAll 59 | DBModule_MySQL_SerialPush 60 | 61 | DBModule_MySQL_TryInsert 62 | DBModule_MySQL_TryQuery 63 | DBModule_MySQL_TryDelete 64 | DBModule_MySQL_TryClear 65 | DBModule_MySQL_TrySet 66 | DBModule_MySQL_TryList 67 | 68 | DBModule_MySQL_BannedInsert 69 | DBModule_MySQL_BannedDelete 70 | DBModule_MySQL_BannedList 71 | DBModule_MySQL_BannedExist 72 | DBModule_MySQL_BannedUPDate 73 | 74 | DBModule_MySQL_AnnouncementInsert 75 | DBModule_MySQL_AnnouncementDelete 76 | DBModule_MySQL_AnnouncementList -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {e8a2076d-4bed-4439-9493-1a33b0f6fd2b} 18 | 19 | 20 | {dc9f7cbb-dd1b-4430-99ee-15793188c3a0} 21 | 22 | 23 | {bb64f825-b769-444e-b078-90c2727b694f} 24 | 25 | 26 | {be64df35-6ef0-4c8c-b95a-444977d7d1c4} 27 | 28 | 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件 38 | 39 | 40 | 头文件 41 | 42 | 43 | 头文件\DBModule_MySQL 44 | 45 | 46 | 头文件\DBModule_SQLite 47 | 48 | 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件\DBModule_MySQL 58 | 59 | 60 | 源文件\DBModule_SQLite 61 | 62 | 63 | 64 | 65 | 源文件 66 | 67 | 68 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/AuthorizeModule_Database.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/Database_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/05/26 11:00:50 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\Database_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database 6 | // File Base: Database_Error 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 错误表 11 | // History: 12 | *********************************************************************/ 13 | ////////////////////////////////////////////////////////////////////////// 14 | // 导出的错误表 15 | ////////////////////////////////////////////////////////////////////////// 16 | /************************************************************************/ 17 | /* 数据库错误 */ 18 | /************************************************************************/ 19 | #define ERROR_AUTHORIZE_MODULE_DATABASE_CREATETABLE 0x0030001 //创建表失败 20 | #define ERROR_AUTHORIZE_MODULE_DATABASE_EXIST 0x0030002 //用户已经存在 21 | #define ERROR_AUTHORIZE_MODULE_DATABASE_INSERT 0x0030003 //插入内容失败 22 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTUSER 0x0030004 //用户不存在 23 | #define ERROR_AUTHORIZE_MODULE_DATABASE_GETTABLE 0x0030005 //获取表失败 24 | #define ERROR_AUTHORIZE_MODULE_DATABASE_SERIAL 0x0030006 //不存在的序列号 25 | #define ERROR_AUTHORIZE_MODULE_DATABASE_EXEC 0x0030007 //删除执行失败 26 | #define ERROR_AUTHORIZE_MODULE_DATABASE_ISFAILED 0x0030008 //序列号插入失败 27 | #define ERROR_AUTHORIZE_MODULE_DATABASE_PARAMENT 0x0030009 //充值失败,参数错误 28 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTSUPPORT 0x0030010 //不支持的充值卡 29 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UPDATAUSEDNAME 0x0030011 //更新序列卡使用者失败 30 | #define ERROR_AUTHORIZE_MODULE_DATABASE_ISUSED 0x0030012 //充值卡已经被使用 31 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTMATCH 0x0030013 //充值方式不匹配 32 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UPDATATYPE 0x0030014 //更新用户充值卡类型失败 33 | #define ERROR_AUTHORIZE_MODULE_DATABASE_GETTIME 0x0030015 //获取时间结构失败 34 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UPDATA 0x0030016 //更新数据库失败 35 | #define ERROR_AUTHORIZE_MODULE_DATABASE_UNKNOWTYPE 0x0030017 //无法识别的卡的类型,无法正确处理离开消息 36 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NONE 0x0030018 //获取失败,没有任何记录 37 | #define ERROR_AUTHORIZE_MODULE_DATABASE_NOTENABLE 0x0030019 //没有启用.不禁用 38 | #define ERROR_AUTHORIZE_MODULE_DATABASE_TIMELEFT 0x0030020 //超过禁用时间 39 | #define ERROR_AUTHORIZE_MODULE_DATABASE_BANNED 0x0030021 //被禁用 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ 6 | LOADSO = -L ../AuthorizeModule_CDKey 7 | LIB = -lXEngine_BaseLib -lHelpComponents_DataBase -lAuthorizeModule_CDKey 8 | LIBEX = 9 | OBJECTS = DBModule_SQLite.o DBModule_MySQL.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/./ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Database.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | DBModule_SQLite.o:./DBModule_SQLite/DBModule_SQLite.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./DBModule_SQLite/DBModule_SQLite.cpp 54 | DBModule_MySQL.o:./DBModule_MySQL/DBModule_MySQL.cpp 55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./DBModule_MySQL/DBModule_MySQL.cpp 56 | 57 | pch.o:pch.cpp 58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 59 | 60 | InstallAll:InstallSo 61 | InstallSo:./libAuthorizeModule_Database.$(FILEEXT) 62 | cp ./libAuthorizeModule_Database.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Database.$(FILEEXT) 63 | 64 | 65 | CleanAll:CleanObj CleanMk 66 | CleanObj: 67 | rm *.o 68 | CleanMk: 69 | rm *.$(FILEEXT) 70 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | bool APIENTRY DllMain( HMODULE hModule, 5 | XLONG ul_reason_for_call, 6 | XPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return true; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Database/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | #ifdef _WINDOWS 11 | // 添加要在此处预编译的标头 12 | #include "framework.h" 13 | #include 14 | #endif 15 | 16 | #endif //PCH_H 17 | #include 18 | #include 19 | #include 20 | using namespace std; 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include "../XAuth_BuildSwitch.h" 29 | #include "../XAuth_Protocol.h" 30 | #include "../AuthorizeModule_CDKey/CDKey_Define.h" 31 | #include "../AuthorizeModule_CDKey/CDKey_Error.h" 32 | #include "Database_Define.h" 33 | #include "Database_Error.h" 34 | /******************************************************************** 35 | // Created: 2022/05/26 11:00:58 36 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database\pch.h 37 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Database 38 | // File Base: pch 39 | // File Ext: h 40 | // Project: XEngine(网络通信引擎) 41 | // Author: qyt 42 | // Purpose: 公有头文件 43 | // History: 44 | *********************************************************************/ 45 | extern bool SQLPacket_IsErrorOccur; 46 | extern XLONG SQLPacket_dwErrorCode; 47 | 48 | 49 | #ifdef _WINDOWS 50 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") 51 | #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_DataBase.lib") 52 | #ifdef _DEBUG 53 | #ifdef _M_X64 54 | #pragma comment(lib,"../x64/Debug/AuthorizeModule_CDKey") 55 | #elif _M_ARM64 56 | #pragma comment(lib,"../ARM64/Debug/AuthorizeModule_CDKey") 57 | #elif _M_IX86 58 | #pragma comment(lib,"../Debug/AuthorizeModule_CDKey") 59 | #endif 60 | #else 61 | #ifdef _M_X64 62 | #pragma comment(lib,"../x64/Release/AuthorizeModule_CDKey") 63 | #elif _M_ARM64 64 | #pragma comment(lib,"../ARM64/Release/AuthorizeModule_CDKey") 65 | #elif _M_IX86 66 | #pragma comment(lib,"../Release/AuthorizeModule_CDKey") 67 | #endif 68 | #endif 69 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthHelp_ClipBoard/AuthHelp_ClipBoard.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/08/12 14:13:29 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_ClipBoard\AuthHelp_ClipBoard.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_ClipBoard 6 | // File Base: AuthHelp_ClipBoard 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 剪贴板通信实现 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CAuthHelp_ClipBoard 15 | { 16 | public: 17 | CAuthHelp_ClipBoard(); 18 | ~CAuthHelp_ClipBoard(); 19 | public: 20 | bool AuthHelp_ClipBoard_Set(LPCTSTR lpszMsgBuffer, int nMsgLen, XLONG dwFormat = 1); 21 | bool AuthHelp_ClipBoard_Get(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, XLONG dwFormat = 1); 22 | bool AuthHelp_ClipBoard_Clear(); 23 | private: 24 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthHelp_DynamicCode/AuthHelp_DynamicCode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2023/04/13 10:50:29 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_DynamicCode\AuthHelp_DynamicCode.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_DynamicCode 6 | // File Base: AuthHelp_DynamicCode 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 动态码 11 | // History: 12 | *********************************************************************/ 13 | typedef struct 14 | { 15 | XNETHANDLE xhToken; 16 | XSHOT nDynamicCode; 17 | time_t nTimeStart; 18 | }AUTHHELP_DYNAMICCODE; 19 | 20 | class CAuthHelp_DynamicCode 21 | { 22 | public: 23 | CAuthHelp_DynamicCode(); 24 | ~CAuthHelp_DynamicCode(); 25 | public: 26 | bool AuthHelp_DynamicCode_Init(int nSecond); 27 | bool AuthHelp_DynamicCode_Destory(); 28 | bool AuthHelp_DynamicCode_Create(XNETHANDLE* pxhToken, XSHOT* pInt_DynamicCode); 29 | bool AuthHelp_DynamicCode_Get(XNETHANDLE xhToken, int nDynamicCode); 30 | protected: 31 | static XHTHREAD XCALLBACK AuthHelp_DynamicCode_Thread(XPVOID lParam); 32 | private: 33 | int m_nSescond = 0; 34 | bool m_bRun = false; 35 | private: 36 | shared_mutex st_Locker; 37 | shared_ptr pSTDThread; 38 | private: 39 | unordered_map stl_MapDynamicCode; 40 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthHelp_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/08/12 14:15:37 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help 6 | // File Base: AuthHelp_Error 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 错误表 11 | // History: 12 | *********************************************************************/ 13 | ////////////////////////////////////////////////////////////////////////// 14 | // 导出的错误表 15 | ////////////////////////////////////////////////////////////////////////// 16 | /************************************************************************/ 17 | /* 剪贴板 */ 18 | /************************************************************************/ 19 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_PARRAMENT 0x0050001 //设置失败,参数错误 20 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_OPEN 0x0050002 //打开剪贴板失败 21 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_OWNER 0x0050003 //设置所有者失败 22 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_MALLOC 0x0050004 //申请内存失败 23 | #define ERROR_AUTHORIZE_MODULE_HELP_CLIPBOARD_GETDATA 0x0050005 //获取内容失败 24 | /************************************************************************/ 25 | /* 窗口 */ 26 | /************************************************************************/ 27 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_GETRECT 0x0050010 //获取失败 28 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_INIT 0x0050011 //初始化窗口失败 29 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_CREATEWINDOW 0x0050012 //创建窗口失败 30 | #define ERROR_AUTHORIZE_MODULE_HELP_WINDOW_SETWINDOW 0x0050013 //设置窗口失败 31 | /************************************************************************/ 32 | /* 动态码 */ 33 | /************************************************************************/ 34 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_THREAD 0x0050020 //线程创建失败 35 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_PARAMENT 0x0050021 //参数错误 36 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_NOTFOUND 0x0050022 //没有找到 37 | #define ERROR_AUTHORIZE_MODULE_HELP_DYNAMIC_NOTMATCH 0x0050023 //动态码不匹配 38 | /************************************************************************/ 39 | /* 多端登录 */ 40 | /************************************************************************/ 41 | #define ERROR_AUTHORIZE_MODULE_HELP_MULTI_NOTSUPPORT 0x0050030 //不支持 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthHelp_MultiLogin/AuthHelp_MultiLogin.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include "AuthHelp_MultiLogin.h" 3 | /******************************************************************** 4 | // Created: 2023/08/09 15:10:52 5 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin\AuthHelp_MultiLogin.cpp 6 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin 7 | // File Base: AuthHelp_MultiLogin 8 | // File Ext: cpp 9 | // Project: XEngine(网络通信引擎) 10 | // Author: qyt 11 | // Purpose: 多端登录处理代码 12 | // History: 13 | *********************************************************************/ 14 | CAuthHelp_MultiLogin::CAuthHelp_MultiLogin() 15 | { 16 | } 17 | CAuthHelp_MultiLogin::~CAuthHelp_MultiLogin() 18 | { 19 | } 20 | ////////////////////////////////////////////////////////////////////////// 21 | // 公有函数 22 | ////////////////////////////////////////////////////////////////////////// 23 | /******************************************************************** 24 | 函数名称:AuthHelp_MultiLogin_GetRange 25 | 函数功能:获取多端登录范围 26 | 参数.一:nClientDevice 27 | In/Out:In 28 | 类型:整数型 29 | 可空:N 30 | 意思:输入要判断的设备类型 31 | 参数.二:pInt_IDType 32 | In/Out:In 33 | 类型:整数型指针 34 | 可空:N 35 | 意思:输出设备范围类型 36 | 返回值 37 | 类型:逻辑型 38 | 意思:是否成功 39 | 备注: 40 | *********************************************************************/ 41 | bool CAuthHelp_MultiLogin::AuthHelp_MultiLogin_GetRange(int nClientDevice, int* pInt_IDType) 42 | { 43 | Help_IsErrorOccur = true; 44 | 45 | //在范围 46 | switch (nClientDevice) 47 | { 48 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_WINDOWS: 49 | *pInt_IDType = 1; 50 | break; 51 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_LINUX: 52 | *pInt_IDType = 1; 53 | break; 54 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_UNIX: 55 | *pInt_IDType = 1; 56 | break; 57 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PC_MACOS: 58 | *pInt_IDType = 1; 59 | break; 60 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PAD_SURFACE: 61 | *pInt_IDType = 2; 62 | break; 63 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PAD_ANDROID: 64 | *pInt_IDType = 2; 65 | break; 66 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_PAD_IPAD: 67 | *pInt_IDType = 2; 68 | break; 69 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_MOBILE_ANDROID: 70 | *pInt_IDType = 3; 71 | break; 72 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_MOBILE_IOS: 73 | *pInt_IDType = 3; 74 | break; 75 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_MOBILE_EMBEDDED: 76 | *pInt_IDType = 3; 77 | break; 78 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_IE: 79 | *pInt_IDType = 4; 80 | break; 81 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_EDGE: 82 | *pInt_IDType = 4; 83 | break; 84 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_CHROME: 85 | *pInt_IDType = 4; 86 | break; 87 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_FIREFOX: 88 | *pInt_IDType = 4; 89 | break; 90 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_SAFARI: 91 | *pInt_IDType = 4; 92 | break; 93 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_OPERA: 94 | *pInt_IDType = 4; 95 | break; 96 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_RESTFUL: 97 | *pInt_IDType = 4; 98 | break; 99 | case ENUM_PROTOCOL_FOR_DEVICE_TYPE_WEB_LIKEGG: 100 | *pInt_IDType = 4; 101 | break; 102 | default: 103 | Help_IsErrorOccur = true; 104 | Help_dwErrorCode = ERROR_AUTHORIZE_MODULE_HELP_MULTI_NOTSUPPORT; 105 | return false; 106 | } 107 | 108 | return true; 109 | } -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthHelp_MultiLogin/AuthHelp_MultiLogin.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2023/08/09 15:10:42 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin\AuthHelp_MultiLogin.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_MultiLogin 6 | // File Base: AuthHelp_MultiLogin 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 多端登录处理代码 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CAuthHelp_MultiLogin 15 | { 16 | public: 17 | CAuthHelp_MultiLogin(); 18 | ~CAuthHelp_MultiLogin(); 19 | public: 20 | bool AuthHelp_MultiLogin_GetRange(int nClientDevice, int* pInt_IDType); 21 | protected: 22 | private: 23 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthHelp_Windows/AuthHelp_Windows.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/12/19 16:37:34 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_Windows\AuthHelp_Windows.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\AuthHelp_Windows 6 | // File Base: AuthHelp_Windows 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 窗口效果函数 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CAuthHelp_Windows 15 | { 16 | public: 17 | CAuthHelp_Windows(); 18 | ~CAuthHelp_Windows(); 19 | public: 20 | bool AuthHelp_Windows_Dithering(HWND hWnd, int nDitheringDegree = 4, int nDitheringCareer = 30); 21 | bool AuthHelp_Windows_CreateTooltip(HWND hWnd, LPCTSTR lpszContextOfTip); 22 | private: 23 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthorizeModule_Help.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | AuthHelp_GetLastError 5 | 6 | AuthHelp_DynamicCode_Init 7 | AuthHelp_DynamicCode_Destory 8 | AuthHelp_DynamicCode_Create 9 | AuthHelp_DynamicCode_Get 10 | 11 | AuthHelp_MultiLogin_GetRange 12 | 13 | AuthHelp_ClipBoard_Set 14 | AuthHelp_ClipBoard_Get 15 | AuthHelp_ClipBoard_Clear 16 | 17 | AuthHelp_Windows_Dithering 18 | AuthHelp_Windows_CreateTooltip -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthorizeModule_Help.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {c4b1b98e-4a22-4faa-9b85-215c70f2b89c} 18 | 19 | 20 | {f8204c92-f86d-47b3-869b-bc57822a8276} 21 | 22 | 23 | {d240ac1c-aaa2-40cf-9b28-dffdc2f25922} 24 | 25 | 26 | {4a1f4a92-dfc7-4a5a-bd47-85349ebdc583} 27 | 28 | 29 | {0e7fb41b-48a3-4c07-b19c-4fa914d3f814} 30 | 31 | 32 | {4df65f23-98dc-4355-8843-fbe5041766c9} 33 | 34 | 35 | {61a1ebc3-5193-4c3e-a5b6-fe076b84c758} 36 | 37 | 38 | {92e4cc9f-02d7-4e6d-92a1-86e433e38fd2} 39 | 40 | 41 | 42 | 43 | 头文件 44 | 45 | 46 | 头文件 47 | 48 | 49 | 头文件\AuthHelp_ClipBoard 50 | 51 | 52 | 头文件 53 | 54 | 55 | 头文件 56 | 57 | 58 | 头文件\AuthHelp_Windows 59 | 60 | 61 | 头文件\AuthHelp_DynamicCode 62 | 63 | 64 | 头文件\AuthHelp_MultiLogin 65 | 66 | 67 | 68 | 69 | 源文件 70 | 71 | 72 | 源文件 73 | 74 | 75 | 源文件\AuthHelp_ClipBoard 76 | 77 | 78 | 源文件\AuthHelp_Windows 79 | 80 | 81 | 源文件\AuthHelp_DynamicCode 82 | 83 | 84 | 源文件\AuthHelp_MultiLogin 85 | 86 | 87 | 88 | 89 | 源文件 90 | 91 | 92 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/AuthorizeModule_Help.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ 6 | LOADSO = -L 7 | LIB = -lXEngine_BaseLib 8 | LIBEX = 9 | OBJECTS = AuthHelp_DynamicCode.o AuthHelp_MultiLogin.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/./ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Help.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | AuthHelp_DynamicCode.o:./AuthHelp_DynamicCode/AuthHelp_DynamicCode.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthHelp_DynamicCode/AuthHelp_DynamicCode.cpp 54 | AuthHelp_MultiLogin.o:./AuthHelp_MultiLogin/AuthHelp_MultiLogin.cpp 55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./AuthHelp_MultiLogin/AuthHelp_MultiLogin.cpp 56 | 57 | pch.o:pch.cpp 58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 59 | 60 | InstallAll:InstallSo 61 | InstallSo:./libAuthorizeModule_Help.$(FILEEXT) 62 | cp ./libAuthorizeModule_Help.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Help.$(FILEEXT) 63 | 64 | 65 | 66 | CleanAll:CleanObj CleanMk 67 | CleanObj: 68 | rm *.o 69 | CleanMk: 70 | rm *.$(FILEEXT) 71 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | bool APIENTRY DllMain( HMODULE hModule, 5 | XLONG ul_reason_for_call, 6 | XPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return true; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/pch.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include "AuthHelp_DynamicCode/AuthHelp_DynamicCode.h" 3 | #include "AuthHelp_MultiLogin/AuthHelp_MultiLogin.h" 4 | #ifdef _MSC_BUILD 5 | #include "AuthHelp_ClipBoard/AuthHelp_ClipBoard.h" 6 | #include "AuthHelp_Windows/AuthHelp_Windows.h" 7 | #endif 8 | /******************************************************************** 9 | // Created: 2022/08/12 14:14:11 10 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\pch.cpp 11 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help 12 | // File Base: pch 13 | // File Ext: cpp 14 | // Project: XEngine(网络通信引擎) 15 | // Author: qyt 16 | // Purpose: 导出函数实现 17 | // History: 18 | *********************************************************************/ 19 | bool Help_IsErrorOccur = false; 20 | XLONG Help_dwErrorCode = 0; 21 | ////////////////////////////////////////////////////////////////////////// 22 | CAuthHelp_DynamicCode m_HelpDynamic; 23 | CAuthHelp_MultiLogin m_HelpLogin; 24 | #ifdef _MSC_BUILD 25 | CAuthHelp_ClipBoard m_HelpClipBoard; 26 | CAuthHelp_Windows m_HelpWindow; 27 | #endif 28 | ////////////////////////////////////////////////////////////////////////// 29 | extern "C" XLONG AuthHelp_GetLastError(int* pInt_SysError) 30 | { 31 | if (NULL != pInt_SysError) 32 | { 33 | *pInt_SysError = errno; 34 | } 35 | return Help_dwErrorCode; 36 | } 37 | /************************************************************************/ 38 | /* 动态码导出定义 */ 39 | /************************************************************************/ 40 | extern "C" bool AuthHelp_DynamicCode_Init(int nSecond) 41 | { 42 | return m_HelpDynamic.AuthHelp_DynamicCode_Init(nSecond); 43 | } 44 | extern "C" bool AuthHelp_DynamicCode_Destory() 45 | { 46 | return m_HelpDynamic.AuthHelp_DynamicCode_Destory(); 47 | } 48 | extern "C" bool AuthHelp_DynamicCode_Create(XNETHANDLE * pxhToken, XSHOT* pInt_DynamicCode) 49 | { 50 | return m_HelpDynamic.AuthHelp_DynamicCode_Create(pxhToken, pInt_DynamicCode); 51 | } 52 | extern "C" bool AuthHelp_DynamicCode_Get(XNETHANDLE xhToken, int nDynamicCode) 53 | { 54 | return m_HelpDynamic.AuthHelp_DynamicCode_Get(xhToken, nDynamicCode); 55 | } 56 | /************************************************************************/ 57 | /* 多端登录导出定义 */ 58 | /************************************************************************/ 59 | extern "C" bool AuthHelp_MultiLogin_GetRange(int nClientDevice, int* pInt_IDType) 60 | { 61 | return m_HelpLogin.AuthHelp_MultiLogin_GetRange(nClientDevice, pInt_IDType); 62 | } 63 | /************************************************************************/ 64 | /* 剪贴板导出定义 */ 65 | /************************************************************************/ 66 | #ifdef _MSC_BUILD 67 | extern "C" bool AuthHelp_ClipBoard_Set(LPCTSTR lpszMsgBuffer, int nMsgLen, XLONG dwFormat) 68 | { 69 | return m_HelpClipBoard.AuthHelp_ClipBoard_Set(lpszMsgBuffer, nMsgLen, dwFormat); 70 | } 71 | extern "C" bool AuthHelp_ClipBoard_Get(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, XLONG dwFormat) 72 | { 73 | return m_HelpClipBoard.AuthHelp_ClipBoard_Get(ptszMsgBuffer, pInt_MsgLen, dwFormat); 74 | } 75 | extern "C" bool AuthHelp_ClipBoard_Clear() 76 | { 77 | return m_HelpClipBoard.AuthHelp_ClipBoard_Clear(); 78 | } 79 | /************************************************************************/ 80 | /* 窗口类导出定义 */ 81 | /************************************************************************/ 82 | extern "C" bool AuthHelp_Windows_Dithering(HWND hWnd, int nDitheringDegree, int nDitheringCareer) 83 | { 84 | return m_HelpWindow.AuthHelp_Windows_Dithering(hWnd, nDitheringDegree, nDitheringCareer); 85 | } 86 | extern "C" bool AuthHelp_Windows_CreateTooltip(HWND hWnd, LPCTSTR lpszContextOfTip) 87 | { 88 | return m_HelpWindow.AuthHelp_Windows_CreateTooltip(hWnd, lpszContextOfTip); 89 | } 90 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Help/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | #ifdef _MSC_BUILD 11 | // 添加要在此处预编译的标头 12 | #include "framework.h" 13 | #include 14 | #include 15 | #endif 16 | #endif //PCH_H 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | using namespace std; 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include "../XAuth_BuildSwitch.h" 28 | #include "AuthHelp_Define.h" 29 | #include "AuthHelp_Error.h" 30 | /******************************************************************** 31 | // Created: 2022/08/12 14:14:28 32 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help\pch.h 33 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Help 34 | // File Base: pch 35 | // File Ext: h 36 | // Project: XEngine(网络通信引擎) 37 | // Author: qyt 38 | // Purpose: 公用头文件 39 | // History: 40 | *********************************************************************/ 41 | extern bool Help_IsErrorOccur; 42 | extern XLONG Help_dwErrorCode; 43 | 44 | 45 | #ifdef _MSC_BUILD 46 | #pragma comment(lib,"Comctl32.lib") 47 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") 48 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | Protocol_GetLastError 5 | 6 | Protocol_Packet_HDRComm 7 | Protocol_Packet_HttpComm 8 | Protocol_Packet_HttpUserPass 9 | Protocol_Packet_UserTime 10 | Protocol_Packet_HttpUserTime 11 | Protocol_Packet_HttpClientInfo 12 | Protocol_Packet_HttpClientList 13 | Protocol_Packet_HttpSerialList 14 | Protocol_Packet_HttpToken 15 | Protocol_Packet_HttpSwitch 16 | Protocol_Packet_HttpBanned 17 | Protocol_Packet_HttpAnnouncement 18 | Protocol_Packet_HttpTryList 19 | 20 | Protocol_Parse_WSHdr 21 | Protocol_Parse_HttpParseToken 22 | Protocol_Parse_HttpParseAuth 23 | Protocol_Parse_HttpParseUser 24 | Protocol_Parse_HttpParsePay 25 | Protocol_Parse_HttpParseTry 26 | Protocol_Parse_HttpParseTable 27 | Protocol_Parse_HttpParseSerial 28 | Protocol_Parse_HttpParseSerial2 29 | Protocol_Parse_HttpParseOnline 30 | Protocol_Parse_HttpParseTime 31 | Protocol_Parse_HttpParseSwitch 32 | Protocol_Parse_HttpParsePos 33 | Protocol_Parse_HttpParseBanned 34 | Protocol_Parse_HttpParseBanned2 35 | Protocol_Parse_HttpParseCDKey 36 | Protocol_Parse_HttpParseAnnouncement -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {d632b93c-9d0a-4a96-be71-aaf28962cde6} 18 | 19 | 20 | {51b0cb65-365c-42ea-b709-499ae03f9a8d} 21 | 22 | 23 | {67a028ad-c937-41fd-9746-6886a0410bc2} 24 | 25 | 26 | {d26708d0-4748-433e-8d16-5265edaf48b9} 27 | 28 | 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件\Protocol_Packet 38 | 39 | 40 | 头文件\Protocol_Parse 41 | 42 | 43 | 头文件 44 | 45 | 46 | 头文件 47 | 48 | 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件\Protocol_Packet 58 | 59 | 60 | 源文件\Protocol_Parse 61 | 62 | 63 | 64 | 65 | 源文件 66 | 67 | 68 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp 6 | LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp 7 | LIB = -ljsoncpp -lXEngine_BaseLib 8 | LIBEX = 9 | OBJECTS = Protocol_Packet.o Protocol_Parse.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/./ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Protocol.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | Protocol_Packet.o:./Protocol_Packet/Protocol_Packet.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Protocol_Packet/Protocol_Packet.cpp 54 | Protocol_Parse.o:./Protocol_Parse/Protocol_Parse.cpp 55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Protocol_Parse/Protocol_Parse.cpp 56 | 57 | pch.o:pch.cpp 58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 59 | 60 | InstallAll:InstallSo 61 | InstallSo:./libAuthorizeModule_Protocol.$(FILEEXT) 62 | cp ./libAuthorizeModule_Protocol.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Protocol.$(FILEEXT) 63 | 64 | 65 | 66 | CleanAll:CleanObj CleanMk 67 | CleanObj: 68 | rm *.o 69 | CleanMk: 70 | rm *.$(FILEEXT) 71 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/Protocol_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2021/07/16 09:22:57 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol 6 | // File Base: Protocol_Error 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 导出错误 11 | // History: 12 | *********************************************************************/ 13 | #define ERROR_AUTHORIZE_MODULE_PROTOCOL_PARAMENT 0x0040001 14 | #define ERROR_AUTHORIZE_MODULE_PROTOCOL_PARSE 0x0040002 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/Protocol_Packet/Protocol_Packet.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2021/07/14 14:24:11 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Packet\Protocol_Packet.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Packet 6 | // File Base: Protocol_Packet 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 协议打包类 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CProtocol_Packet 15 | { 16 | public: 17 | CProtocol_Packet(); 18 | ~CProtocol_Packet(); 19 | public: 20 | bool Protocol_Packet_HDRComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, int enDeviceType); 21 | public: 22 | bool Protocol_Packet_HttpComm(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); 23 | bool Protocol_Packet_HttpUserPass(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_PROTOCOL_USERAUTH* pSt_UserAuth); 24 | bool Protocol_Packet_UserTime(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHSESSION_NETCLIENT*** pppSt_ListClient, int nListCount); 25 | bool Protocol_Packet_HttpUserTime(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_PROTOCOL_TIME* pSt_ProtocolTime); 26 | bool Protocol_Packet_HttpClientInfo(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_USERTABLE* pSt_UserTable); 27 | bool Protocol_Packet_HttpClientList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHSESSION_NETCLIENT*** pppSt_OnClient, int nOnCount, AUTHREG_USERTABLE*** pppSt_OffClient, int nOffCount); 28 | bool Protocol_Packet_HttpSerialList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_SERIALTABLE*** pppSt_SerialList, int nListCount); 29 | bool Protocol_Packet_HttpToken(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, int nTimeout, XSHOT nDCode = 0); 30 | bool Protocol_Packet_HttpSwitch(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_FUNCTIONSWITCH* pSt_FunSwitch); 31 | bool Protocol_Packet_HttpBanned(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_BANNED*** pppSt_BannedUser, int nUserCount, AUTHREG_BANNED*** pppSt_BannedAddr, int nAddrCount); 32 | bool Protocol_Packet_HttpAnnouncement(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_ANNOUNCEMENT*** pppSt_Announcement, int nListCount); 33 | bool Protocol_Packet_HttpTryList(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AUTHREG_TEMPVER*** pppSt_TryList, int nListCount); 34 | protected: 35 | private: 36 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2021/07/14 14:26:26 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Parse\Protocol_Parse.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\Protocol_Parse 6 | // File Base: Protocol_Parse 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 协议解析类 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CProtocol_Parse 15 | { 16 | public: 17 | CProtocol_Parse(); 18 | ~CProtocol_Parse(); 19 | public: 20 | bool Protocol_Parse_WSHdr(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr); 21 | public: 22 | bool Protocol_Parse_HttpParseToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken); 23 | bool Protocol_Parse_HttpParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTH* pSt_UserAuth); 24 | bool Protocol_Parse_HttpParseUser(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERINFO* pSt_UserInfo); 25 | bool Protocol_Parse_HttpParsePay(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_PROTOCOL_USERPAY* pSt_UserPay); 26 | bool Protocol_Parse_HttpParseTry(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_TEMPVER* pSt_NETTry); 27 | bool Protocol_Parse_HttpParseTable(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_USERTABLE* pSt_UserTable); 28 | bool Protocol_Parse_HttpParseSerial(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_SERIALTABLE*** pppSt_SerialTable, int* pInt_ListCount); 29 | bool Protocol_Parse_HttpParseSerial2(LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE* penSerialType, int* pInt_NumberCount, int* pInt_SerialCount, XCHAR* ptszHasTime); 30 | bool Protocol_Parse_HttpParseOnline(LPCXSTR lpszMsgBuffer, int nMsgLen, bool* pbOnline); 31 | bool Protocol_Parse_HttpParseTime(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_PROTOCOL_TIME* pSt_ProtocolTime); 32 | bool Protocol_Parse_HttpParseSwitch(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_FUNCTIONSWITCH* pSt_FunSwitch); 33 | bool Protocol_Parse_HttpParsePos(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_PosStart, int* pInt_PosEnd); 34 | bool Protocol_Parse_HttpParseBanned(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_BANNED* pSt_AuthBanned); 35 | bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_POSStart, int* pInt_POSEnd); 36 | bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_AUTHORIZE_LOCAL* pSt_Authorize); 37 | bool Protocol_Parse_HttpParseAnnouncement(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_ANNOUNCEMENT* pSt_Announcement); 38 | protected: 39 | private: 40 | }; -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | bool APIENTRY DllMain( HMODULE hModule, 5 | XLONG ul_reason_for_call, 6 | XPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return true; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Protocol/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | #ifdef _WINDOWS 11 | // 添加要在此处预编译的标头 12 | #include "framework.h" 13 | #include 14 | #endif 15 | #endif //PCH_H 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | using namespace std; 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include "../XAuth_BuildSwitch.h" 28 | #include "../XAuth_Protocol.h" 29 | #include "../AuthorizeModule_CDKey/CDKey_Define.h" 30 | #include "../AuthorizeModule_CDKey/CDKey_Error.h" 31 | #include "../AuthorizeModule_Configure/Config_Define.h" 32 | #include "../AuthorizeModule_Session/Session_Define.h" 33 | #include "../AuthorizeModule_Session/Session_Error.h" 34 | #include "Protocol_Define.h" 35 | #include "Protocol_Error.h" 36 | /******************************************************************** 37 | // Created: 2021/07/16 09:20:47 38 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol\pch.h 39 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Protocol 40 | // File Base: pch 41 | // File Ext: h 42 | // Project: XEngine(网络通信引擎) 43 | // Author: qyt 44 | // Purpose: 公用头文件 45 | // History: 46 | *********************************************************************/ 47 | extern bool Protocol_IsErrorOccur; 48 | extern XLONG Protocol_dwErrorCode; 49 | 50 | #ifdef _MSC_BUILD 51 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") 52 | #ifdef _DEBUG 53 | #ifdef _M_X64 54 | #pragma comment(lib,"../x64/Debug/jsoncpp") 55 | #elif _M_ARM64 56 | #pragma comment(lib,"../ARM64/Debug/jsoncpp") 57 | #elif _M_IX86 58 | #pragma comment(lib,"../Debug/jsoncpp") 59 | #endif 60 | #else 61 | #ifdef _M_X64 62 | #pragma comment(lib,"../x64/Release/jsoncpp") 63 | #elif _M_ARM64 64 | #pragma comment(lib,"../ARM64/Release/jsoncpp") 65 | #elif _M_IX86 66 | #pragma comment(lib,"../Release/jsoncpp") 67 | #endif 68 | #endif 69 | #endif -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/AuthorizeModule_Session.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | 3 | EXPORTS 4 | Session_GetLastError 5 | 6 | Session_Authorize_Init 7 | Session_Authorize_GetClient 8 | Session_Authorize_GetUserForAddr 9 | Session_Authorize_CloseAddr 10 | Session_Authorize_Destroy 11 | Session_Authorize_Insert 12 | Session_Authorize_SetUser 13 | 14 | Session_Token_Init 15 | Session_Token_Destroy 16 | Session_Token_Insert 17 | Session_Token_Delete 18 | Session_Token_UPDate 19 | Session_Token_Get 20 | Session_Token_GetUser 21 | Session_Token_RenewalTime -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/AuthorizeModule_Session.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {2be445da-b5f4-4b97-84c7-0ebe36e01ce8} 18 | 19 | 20 | {98019e80-6680-48fa-a755-702b5b3aab78} 21 | 22 | 23 | {5ad6d359-09c2-4995-82f6-e5f2e32a14c1} 24 | 25 | 26 | {0b721944-f23e-4671-81dc-beb1970fe840} 27 | 28 | 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件 38 | 39 | 40 | 头文件 41 | 42 | 43 | 头文件\Session_Authorize 44 | 45 | 46 | 头文件\Session_Token 47 | 48 | 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件\Session_Authorize 58 | 59 | 60 | 源文件\Session_Token 61 | 62 | 63 | 64 | 65 | 源文件 66 | 67 | 68 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/AuthorizeModule_Session.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/Makefile: -------------------------------------------------------------------------------- 1 | CC = g++ -Wall -std=c++20 -fPIC 2 | PLATVER = 3 | FILEEXT = 4 | LIBFLAG = 5 | LOADHDR = -I ./ 6 | LOADSO = 7 | LIB = -lXEngine_BaseLib 8 | LIBEX = 9 | OBJECTS = Session_Authorize.o Session_Token.o pch.o 10 | 11 | ifeq ($(RELEASE),1) 12 | FLAGS = -c -D _RELEASE 13 | DEBUG = -O2 14 | else 15 | ifeq ($(PLATFORM),mac) 16 | FLAGS = -c 17 | DEBUG = -g -D _DEBUG 18 | else 19 | FLAGS = -c -lc_p 20 | DEBUG = -g -pg -D _DEBUG 21 | endif 22 | endif 23 | 24 | ifeq ($(UNICODE),1) 25 | override UNICODE := -D __UNICODE__ 26 | else 27 | override UNICODE := -D __ANSI__ 28 | endif 29 | 30 | ifeq ($(PLATFORM),linux) 31 | ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) 32 | PLATVER = -D __CENTOS__ 33 | else 34 | PLATVER = -D __UBUNTU__ 35 | endif 36 | FILEEXT = so 37 | LIBFLAG = -shared 38 | LIBEX = -lpthread -lrt -ldl 39 | LOADBIN = -Wl,-rpath=./,--disable-new-dtags 40 | else ifeq ($(PLATFORM),mac) 41 | CC += -Wno-deprecated-declarations 42 | PLATVER = -D __MACOS__ 43 | FILEEXT = dylib 44 | LIBFLAG = -dynamiclib 45 | LIBEX = -lpthread -ldl 46 | LOADBIN = -Wl,-rpath,@loader_path/./ 47 | endif 48 | 49 | all:$(OBJECTS) 50 | $(CC) $(DEBUG) $(OBJECTS) -o libAuthorizeModule_Session.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) 51 | 52 | Session_Authorize.o:./Session_Authorize/Session_Authorize.cpp 53 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_Authorize/Session_Authorize.cpp 54 | Session_Token.o:./Session_Token/Session_Token.cpp 55 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_Token/Session_Token.cpp 56 | 57 | pch.o:pch.cpp 58 | $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp 59 | 60 | InstallAll:InstallSo 61 | InstallSo:./libAuthorizeModule_Session.$(FILEEXT) 62 | cp ./libAuthorizeModule_Session.$(FILEEXT) ../../XEngine_Release/libAuthorizeModule_Session.$(FILEEXT) 63 | 64 | 65 | CleanAll:CleanObj CleanMk 66 | CleanObj: 67 | rm *.o 68 | CleanMk: 69 | rm *.$(FILEEXT) 70 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/Session_Authorize/Session_Authorize.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/05/26 11:22:22 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Authorize\Session_Authorize.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Authorize 6 | // File Base: Session_Authorize 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 会话管理器 11 | // History: 12 | *********************************************************************/ 13 | 14 | class CSession_Authorize 15 | { 16 | public: 17 | CSession_Authorize(); 18 | ~CSession_Authorize(); 19 | public: 20 | bool Session_Authorize_Init(CALLBACK_XENGIEN_AUTHORIZE_SESSION_CLIENT_EVENTS fpCall_AuthEvent, XPVOID lParam = NULL); 21 | bool Session_Authorize_GetClient(AUTHSESSION_NETCLIENT*** pppSt_ListClient, int* pInt_ListCount, LPCXSTR lpszClientUser = NULL); 22 | bool Session_Authorize_GetUserForAddr(LPCXSTR lpszClientAddr, AUTHSESSION_NETCLIENT* pSt_Client = NULL); 23 | bool Session_Authorize_CloseAddr(LPCXSTR lpszClientAddr); 24 | bool Session_Authorize_Destroy(); 25 | public: 26 | bool Session_Authorize_Insert(LPCXSTR lpszClientAddr, AUTHREG_USERTABLE* pSt_UserTable, XNETHANDLE xhToken, int nNetType = 0); 27 | bool Session_Authorize_SetUser(AUTHREG_USERTABLE* pSt_UserTable); 28 | protected: 29 | static XHTHREAD Session_Authorize_ActiveThread(XPVOID lParam); //计时器线程 30 | private: 31 | bool bIsRun; //运行标志 32 | shared_ptr pSTDThread_hActive; //时间计算器线程句柄 33 | private: 34 | XPVOID m_lParam; 35 | CALLBACK_XENGIEN_AUTHORIZE_SESSION_CLIENT_EVENTS lpCall_AuthregEvents; 36 | private: 37 | shared_mutex st_Locker; 38 | private: 39 | unordered_map > stl_MapNetClient; 40 | }; 41 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/Session_Error.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/05/26 10:53:29 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Error.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session 6 | // File Base: Session_Error 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 错误表 11 | // History: 12 | *********************************************************************/ 13 | ////////////////////////////////////////////////////////////////////////// 14 | // 导出的错误表 15 | ////////////////////////////////////////////////////////////////////////// 16 | /************************************************************************/ 17 | /* 网络协议错误 */ 18 | /************************************************************************/ 19 | #define ERROR_AUTHORIZE_MODULE_SESSION_PARAMENT 0x0020000 //参数错误,无法继续 20 | #define ERROR_AUTHORIZE_MODULE_SESSION_CREATETHREAD 0x0020001 //创建线程失败 21 | #define ERROR_AUTHORIZE_MODULE_SESSION_NOTFOUND 0x0020002 //没有找到客户端 22 | #define ERROR_AUTHORIZE_MODULE_SESSION_ISLOGIN 0x0020003 //用户已经登陆,无法第二次登陆 23 | #define ERROR_AUTHORIZE_MODULE_SESSION_MATCH 0x0020004 //找回密码失败,匹配资料错误 24 | #define ERROR_AUTHORIZE_MODULE_SESSION_VER 0x0020005 //验证失败 25 | #define ERROR_AUTHORIZE_MODULE_SESSION_EXIST 0x0020006 //已存在 -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/Session_Token/Session_Token.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/08/18 14:29:38 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Token\Session_Token.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\Session_Token 6 | // File Base: Session_Token 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: TOKEN会话 11 | // History: 12 | *********************************************************************/ 13 | typedef struct 14 | { 15 | AUTHREG_USERTABLE st_UserTable; //用户表 16 | XENGINE_LIBTIME st_LibTimer; //登录时间结构 17 | int nTimeout; //单独指定超时 18 | int nRenewalTime; //自动续期次数 19 | }AUTHSESSION_TOKENCLIENT, * LPAUTHSESSION_TOKENCLIENT; 20 | ////////////////////////////////////////////////////////////////////////// 21 | class CSession_Token 22 | { 23 | public: 24 | CSession_Token(); 25 | ~CSession_Token(); 26 | public: 27 | bool Session_Token_Init(int nTimeout, CALLBACK_XENGIEN_AUTHORIZE_SESSION_TOKEN_EVENTS fpCall_AuthEvent, XPVOID lParam = NULL); 28 | bool Session_Token_Destroy(); 29 | bool Session_Token_Insert(XNETHANDLE xhToken, AUTHREG_USERTABLE* pSt_UserTable); 30 | bool Session_Token_Delete(XNETHANDLE xhToken); 31 | bool Session_Token_UPDate(XNETHANDLE xhToken); 32 | bool Session_Token_Get(XNETHANDLE xhToken, AUTHREG_USERTABLE* pSt_UserTable = NULL); 33 | bool Session_Token_GetUser(LPCXSTR lpszUser, LPCXSTR lpszPass, XNETHANDLE* pxhToken); 34 | bool Session_Token_RenewalTime(XNETHANDLE xhToken, int* pInt_RenewalTime); 35 | protected: 36 | static XHTHREAD Session_Token_Thread(XPVOID lParam); 37 | private: 38 | int m_nTimeout; 39 | bool bIsRun; 40 | shared_ptr pSTDThread_hActive; 41 | private: 42 | XPVOID m_lParam; 43 | CALLBACK_XENGIEN_AUTHORIZE_SESSION_TOKEN_EVENTS lpCall_AuthregEvents; 44 | private: 45 | shared_mutex st_Locker; 46 | private: 47 | unordered_map stl_MapToken; 48 | }; 49 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "pch.h" 3 | 4 | bool APIENTRY DllMain( HMODULE hModule, 5 | XLONG ul_reason_for_call, 6 | XPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return true; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容 4 | // Windows 头文件 5 | #include 6 | -------------------------------------------------------------------------------- /XEngine_Source/AuthorizeModule_Session/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | #ifdef _WINDOWS 11 | // 添加要在此处预编译的标头 12 | #include "framework.h" 13 | #include 14 | #endif 15 | 16 | #endif //PCH_H 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | using namespace std; 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include "../XAuth_BuildSwitch.h" 31 | #include "../XAuth_Protocol.h" 32 | #include "../AuthorizeModule_CDKey/CDKey_Define.h" 33 | #include "../AuthorizeModule_CDKey/CDKey_Error.h" 34 | #include "Session_Define.h" 35 | #include "Session_Error.h" 36 | /******************************************************************** 37 | // Created: 2022/05/26 10:53:07 38 | // File Name: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session\pch.h 39 | // File Path: D:\XEngine_Authorize\XEngine_Source\AuthorizeModule_Session 40 | // File Base: pch 41 | // File Ext: h 42 | // Project: XEngine(网络通信引擎) 43 | // Author: qyt 44 | // Purpose: 公有头文件 45 | // History: 46 | *********************************************************************/ 47 | extern bool Session_IsErrorOccur; 48 | extern XLONG Session_dwErrorCode; 49 | 50 | typedef std::string xstring; 51 | 52 | #ifdef _WINDOWS 53 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") 54 | #endif -------------------------------------------------------------------------------- /XEngine_Source/Makefile: -------------------------------------------------------------------------------- 1 | RELEASE = 0 2 | UNICODE = 0 3 | PLATFORM=linux 4 | FLAGS= 5 | 6 | DEPEND_JSONCPP_PATH = ./XEngine_Depend/XEngine_Module/jsoncpp 7 | DEPEND_REPORT_PATH = ./XEngine_Depend/XEngine_Module/XEngine_InfoReport 8 | 9 | AUTH_CDKEY_PATH = ./AuthorizeModule_CDKey 10 | AUTH_SESSION_PATH = ./AuthorizeModule_Session 11 | AUTH_DATABASE_PATH = ./AuthorizeModule_Database 12 | AUTH_PROTOCOL_PATH = ./AuthorizeModule_Protocol 13 | AUTH_CONFIGURE_PATH = ./AuthorizeModule_Configure 14 | AUTH_HELP_PATH = ./AuthorizeModule_Help 15 | AUTH_CLIENT_PATH = ./AuthorizeModule_Client 16 | 17 | AUTH_APP_PATH = ./XEngine_APPService/XEngine_AuthorizeService 18 | 19 | ifeq ($(PLATFORM),linux) 20 | FILEEXT = so 21 | else ifeq ($(PLATFORM),mac) 22 | FILEEXT = dylib 23 | endif 24 | 25 | XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so \ 26 | libAuthorizeModule_CDKey.so libAuthorizeModule_Session.so libAuthorizeModule_Database.so libAuthorizeModule_Protocol.so libAuthorizeModule_Configure.so libAuthorizeModule_Help.so libAuthorizeModule_Client.so \ 27 | XEngine_AuthorizeApp.exe 28 | 29 | .PHONY:MakeAll 30 | MakeAll:$(XENGINE_MODULES) 31 | 32 | 33 | libjsoncpp.so: 34 | ifeq ($(FLAGS), InstallAll) 35 | cp $(DEPEND_JSONCPP_PATH)/libjsoncpp.$(FILEEXT) ../XEngine_Release/ 36 | else 37 | make -C $(DEPEND_JSONCPP_PATH) PLATFORM=$(PLATFORM) $(FLAGS) 38 | endif 39 | libXEngine_InfoReport.so: 40 | ifeq ($(FLAGS), InstallAll) 41 | cp $(DEPEND_REPORT_PATH)/libXEngine_InfoReport.$(FILEEXT) ../XEngine_Release/ 42 | else 43 | make -C $(DEPEND_REPORT_PATH) PLATFORM=$(PLATFORM) $(FLAGS) 44 | endif 45 | 46 | libAuthorizeModule_CDKey.so: 47 | make -C $(AUTH_CDKEY_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 48 | libAuthorizeModule_Session.so: 49 | make -C $(AUTH_SESSION_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 50 | libAuthorizeModule_Database.so: 51 | make -C $(AUTH_DATABASE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 52 | libAuthorizeModule_Protocol.so: 53 | make -C $(AUTH_PROTOCOL_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 54 | libAuthorizeModule_Configure.so: 55 | make -C $(AUTH_CONFIGURE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 56 | libAuthorizeModule_Help.so: 57 | make -C $(AUTH_HELP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 58 | libAuthorizeModule_Client.so: 59 | make -C $(AUTH_CLIENT_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) 60 | 61 | XEngine_AuthorizeApp.exe: 62 | make -C $(AUTH_APP_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) $(FLAGS) -------------------------------------------------------------------------------- /XEngine_Source/VSClean.bat: -------------------------------------------------------------------------------- 1 | @echo Off 2 | del /s /a *.ncb *.so *.o *.db 3 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul 4 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Release" 2>nul 5 | FOR /R . %%d IN (.) DO rd /s /q "%%d\x64" 2>nul 6 | FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul 7 | FOR /R . %%d IN (.) DO rd /s /q "%%d\ipch" 2>nul 8 | 9 | rem If the Properties directory is empty, remove it 10 | FOR /R . %%d in (.) do rd /q "%%d\Properties" 2> nul 11 | -------------------------------------------------------------------------------- /XEngine_Source/VSCopy_Arm64.bat: -------------------------------------------------------------------------------- 1 | copy /y "%XEngine_LibArm64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" 2 | copy /y "%XEngine_LibArm64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" 3 | copy /y "%XEngine_LibArm64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" 4 | copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Core.dll" "./" 5 | copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_ManagePool.dll" "./" 6 | copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Cryption.dll" "./" 7 | 8 | copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" 9 | copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" 10 | 11 | copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" 12 | copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" 13 | copy /y "%XEngine_LibArm64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" 14 | 15 | copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./" 16 | copy /y "%XEngine_LibArm64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" 17 | 18 | copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./" 19 | copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" 20 | copy /y "%XEngine_LibArm64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" -------------------------------------------------------------------------------- /XEngine_Source/VSCopy_Debug.bat: -------------------------------------------------------------------------------- 1 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_BaseLib.dll" "./" 2 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_BaseSafe.dll" "./" 3 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Algorithm.dll" "./" 4 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" 5 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" 6 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Cryption.dll" "./" 7 | 8 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" 9 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIAddr.dll" "./" 10 | 11 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./" 12 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./" 13 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" 14 | 15 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_WSProtocol.dll" "./" 16 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./" 17 | 18 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" 19 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" 20 | copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemConfig.dll" "./" -------------------------------------------------------------------------------- /XEngine_Source/VSCopy_x64.bat: -------------------------------------------------------------------------------- 1 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" 2 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" 3 | copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" 4 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" 5 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" 6 | copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" 7 | 8 | copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" 9 | copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" 10 | 11 | copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" 12 | copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" 13 | copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" 14 | 15 | copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./" 16 | copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" 17 | 18 | copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" 19 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" 20 | copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" -------------------------------------------------------------------------------- /XEngine_Source/VSCopy_x86.bat: -------------------------------------------------------------------------------- 1 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" 2 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_BaseSafe.dll" "./" 3 | copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" 4 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" 5 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" 6 | copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" 7 | 8 | copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" 9 | copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIAddr.dll" "./" 10 | 11 | copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" 12 | copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" 13 | copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" 14 | 15 | copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_WSProtocol.dll" "./" 16 | copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" 17 | 18 | copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" 19 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" 20 | copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemConfig.dll" "./" -------------------------------------------------------------------------------- /XEngine_Source/XAuth_BuildSwitch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2024/01/04 10:01:07 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\XAuth_BuildSwitch.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source 6 | // File Base: XAuth_BuildSwitch 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 编译选项 11 | // History: 12 | *********************************************************************/ 13 | #define _XAUTH_BUILD_SWITCH_CLIENT_TCP 1 14 | #define _XAUTH_BUILD_SWITCH_CLIENT_HTTP 1 15 | 16 | #if (XENGINE_VERSION_KERNEL <= 9) && (XENGINE_VERSION_MAIN < 10) 17 | typedef XENGINE_LIBTIMER XENGINE_LIBTIME; 18 | #endif -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Announcement.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Announcement 对话框 6 | 7 | class CDialog_Announcement : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Announcement) 10 | 11 | public: 12 | CDialog_Announcement(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Announcement(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_ANNOUNCEMENT }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | virtual BOOL OnInitDialog(); 26 | CListCtrl m_ListAnnouncement; 27 | afx_msg void OnBnClickedButton1(); 28 | CEdit m_EditNoticeStr; 29 | afx_msg void OnBnClickedButton2(); 30 | afx_msg void OnBnClickedButton3(); 31 | }; 32 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Banned.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Banned 对话框 6 | 7 | class CDialog_Banned : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Banned) 10 | 11 | public: 12 | CDialog_Banned(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Banned(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_BANNED }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | afx_msg void OnBnClickedRadio1(); 26 | CButton m_RadioIPAddr; 27 | CButton m_RadioUser; 28 | CStatic m_StaticTips; 29 | afx_msg void OnBnClickedRadio2(); 30 | virtual BOOL OnInitDialog(); 31 | afx_msg void OnBnClickedButton2(); 32 | afx_msg void OnBnClickedButton4(); 33 | afx_msg void OnBnClickedButton3(); 34 | CListCtrl m_ListAddr; 35 | CListCtrl m_ListUser; 36 | CEdit m_EditUser; 37 | CDateTimeCtrl m_DataTime; 38 | afx_msg void OnBnClickedCheck1(); 39 | CButton m_BtnCheckTime; 40 | CButton m_RadioEnable; 41 | CButton m_RadioDisable; 42 | afx_msg void OnBnClickedButton5(); 43 | afx_msg void OnNMClickList2(NMHDR* pNMHDR, LRESULT* pResult); 44 | afx_msg void OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult); 45 | CEdit m_EditPosEnd; 46 | CEdit m_EditPosStart; 47 | }; 48 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_CDKey.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_CDKey 对话框 6 | 7 | class CDialog_CDKey : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_CDKey) 10 | 11 | public: 12 | CDialog_CDKey(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_CDKey(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_CDKEY }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | bool bOPenCDKey = false; 26 | bool Dialog_CDKey_Init(); 27 | bool Dialog_CDKey_Read(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey); 28 | bool Dialog_CDKey_Write(XENGINE_AUTHORIZE_LOCAL* pSt_AuthorizeCDKey); 29 | public: 30 | virtual BOOL OnInitDialog(); 31 | afx_msg void OnBnClickedButton1(); 32 | CEdit m_EditPort; 33 | CDateTimeCtrl m_DateTimeCreate; 34 | CDateTimeCtrl m_DateTimeRegister; 35 | CDateTimeCtrl m_DateTimeStart; 36 | CEdit m_EditSoftName; 37 | CEdit m_EditSoftVer; 38 | CEdit m_EditSoftTime; 39 | CButton m_EditSoftInit; 40 | CEdit m_EditRegHardCode; 41 | CEdit m_EditRegLeftTime; 42 | CEdit m_EditRegHaveTime; 43 | CComboBox m_ComboRegSerial; 44 | CComboBox m_ComboRegType; 45 | CComboBox m_ComboRegHard; 46 | CComboBox m_ComboRegVer; 47 | CEdit m_EditSerialTimeNumber; 48 | CEdit m_EditSerialTimeCount; 49 | CEdit m_EditSerialDataNumber; 50 | CDateTimeCtrl m_DataTimeSerial; 51 | CEdit m_EditSerialUnlimitNumber; 52 | CEdit m_EditUserInfo; 53 | CEdit m_EditUserContact; 54 | CEdit m_EditUserCustom; 55 | afx_msg void OnBnClickedButton9(); 56 | CDateTimeCtrl m_DataTimeRegExpiry; 57 | CEdit m_EditKeyPass; 58 | afx_msg void OnBnClickedButton10(); 59 | CButton m_CheckSerialDataAdd; 60 | afx_msg void OnBnClickedButton11(); 61 | CEdit m_EditIPAddr; 62 | }; 63 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Config 对话框 6 | 7 | class CDialog_Config : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Config) 10 | 11 | public: 12 | CDialog_Config(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Config(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_CONFIG }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | virtual BOOL OnInitDialog(); 26 | CEdit m_EditIPAddr; 27 | CEdit m_EditIPPort; 28 | afx_msg void OnBnClickedButton1(); 29 | afx_msg void OnBnClickedButton2(); 30 | CEdit m_EditUser; 31 | CEdit m_EditPass; 32 | CEdit m_EditToken; 33 | CButton m_BtnLogin; 34 | CButton m_BtnLogout; 35 | CEdit m_EditTimeout; 36 | afx_msg void OnBnClickedButton5(); 37 | CButton m_BtnUpdate; 38 | CButton m_CheckCodecEnable; 39 | CButton m_CheckCodecDisable; 40 | CComboBox m_ListEncrypto; 41 | afx_msg void OnBnClickedRadio2(); 42 | afx_msg void OnBnClickedRadio1(); 43 | CEdit m_EditPassword; 44 | CEdit m_EditDCode; 45 | afx_msg void OnBnClickedButton8(); 46 | CComboBox m_ComboPassCodec; 47 | CButton m_RadioPassDisable; 48 | CButton m_RadioPassEnable; 49 | afx_msg void OnBnClickedRadio3(); 50 | afx_msg void OnBnClickedRadio4(); 51 | }; 52 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Modify.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Modify 对话框 6 | 7 | class CDialog_Modify : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Modify) 10 | 11 | public: 12 | CDialog_Modify(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Modify(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_MODIFY }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | virtual BOOL OnInitDialog(); 26 | CEdit m_EditUser; 27 | CEdit m_EditPass; 28 | CEdit m_EditEMail; 29 | CEdit m_EditCardID; 30 | CEdit m_EditPhone; 31 | CEdit m_EditLeftTime; 32 | CComboBox m_ComboSerial; 33 | CComboBox m_ComboLeave; 34 | afx_msg void OnBnClickedButton2(); 35 | CEdit m_EditHardCode; 36 | CButton m_BtnModify; 37 | afx_msg void OnBnClickedButton3(); 38 | CDateTimeCtrl m_DateTimeRegister; 39 | }; 40 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Serial.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Serial 对话框 6 | 7 | class CDialog_Serial : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Serial) 10 | 11 | public: 12 | CDialog_Serial(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Serial(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_SERIAL }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | virtual BOOL OnInitDialog(); 26 | CListCtrl m_ListSerial; 27 | CComboBox m_ComboSerialType; 28 | CComboBox m_ComboNumber; 29 | afx_msg void OnBnClickedButton1(); 30 | afx_msg void OnBnClickedButton2(); 31 | CEdit m_EditSerialCount; 32 | CEdit m_EditHasTime; 33 | afx_msg void OnBnClickedButton4(); 34 | afx_msg void OnBnClickedButton3(); 35 | afx_msg void OnBnClickedButton6(); 36 | afx_msg void OnBnClickedButton7(); 37 | CEdit m_EditPosStart; 38 | CEdit m_EditPosEnd; 39 | }; 40 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Switch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Switch 对话框 6 | 7 | class CDialog_Switch : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Switch) 10 | 11 | public: 12 | CDialog_Switch(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Switch(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_SWITCH }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | afx_msg void OnBnClickedButton1(); 26 | CButton m_RadioDelOPen; 27 | CButton m_RadioDelClose; 28 | CButton m_RadioRegOPen; 29 | CButton m_RadioRegClose; 30 | CButton m_RadioLoginOPen; 31 | CButton m_RadioLoginClose; 32 | CButton m_RadioPayOPen; 33 | CButton m_RadioPayClose; 34 | CButton m_RadioPassOPen; 35 | CButton m_RadioPassClose; 36 | afx_msg void OnBnClickedButton2(); 37 | virtual BOOL OnInitDialog(); 38 | CButton m_BtnSetConfigure; 39 | CButton m_BtnGetConfigure; 40 | CButton m_RadioCDkeyOPen; 41 | CButton m_RadioCDKeyClose; 42 | CButton m_RadioNoticeOPen; 43 | CButton m_RadioNoticeClose; 44 | CButton m_RadioDCodeOPen; 45 | CButton m_RadioDCodeClose; 46 | CButton m_RadioMultiOPen; 47 | CButton m_RadioMultiClose; 48 | CButton m_RadioTryOPen; 49 | CButton m_RadioTryClose; 50 | CButton m_RadioBlackOPen; 51 | CButton m_RadioBlackClose; 52 | CButton m_RadioTokenOPen; 53 | CButton m_RadioTokenClose; 54 | CButton m_RadioHCLoginOPen; 55 | CButton m_RadioHCLoginClose; 56 | }; 57 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_Try.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_Try 对话框 6 | 7 | class CDialog_Try : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_Try) 10 | 11 | public: 12 | CDialog_Try(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_Try(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_TRY }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | afx_msg void OnBnClickedButton1(); 26 | virtual BOOL OnInitDialog(); 27 | CListCtrl m_ListTry; 28 | CEdit m_EditPosStart; 29 | CEdit m_EditPosEnd; 30 | afx_msg void OnBnClickedButton2(); 31 | afx_msg void OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult); 32 | CEdit m_EditSerial; 33 | CEdit m_EditTime; 34 | CEdit m_EditDate; 35 | CComboBox m_ComboType; 36 | afx_msg void OnBnClickedButton3(); 37 | CEdit m_EditLeftTime; 38 | }; 39 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Dialog/Dialog_User.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "afxdialogex.h" 3 | 4 | 5 | // CDialog_User 对话框 6 | 7 | class CDialog_User : public CDialogEx 8 | { 9 | DECLARE_DYNAMIC(CDialog_User) 10 | 11 | public: 12 | CDialog_User(CWnd* pParent = nullptr); // 标准构造函数 13 | virtual ~CDialog_User(); 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_DIALOG_USER }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | DECLARE_MESSAGE_MAP() 24 | public: 25 | bool bThread; 26 | HANDLE hThread; 27 | static XLONG WINAPI Dialog_User_Thread(XPVOID lParam); 28 | public: 29 | virtual BOOL OnInitDialog(); 30 | CListCtrl m_ListCtrlClient; 31 | afx_msg void OnBnClickedButton1(); 32 | afx_msg void OnBnClickedButton2(); 33 | afx_msg void OnBnClickedButton3(); 34 | afx_msg void OnBnClickedButton4(); 35 | CButton m_CheckOnlineList; 36 | CEdit m_EditFlushTime; 37 | afx_msg void OnBnClickedCheck2(); 38 | CButton m_CheckAuto; 39 | CButton m_BtnModifyClient; 40 | afx_msg void OnBnClickedButton5(); 41 | CEdit m_EditPosStart; 42 | CEdit m_EditPosEnd; 43 | afx_msg void OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult); 44 | }; 45 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Help/Authorize_Help.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include "../resource.h" 3 | #include "Authorize_Help.h" 4 | /******************************************************************** 5 | // Created: 2022/09/15 09:40:05 6 | // File Name: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help\Authorize_Help.cpp 7 | // File Path: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help 8 | // File Base: Authorize_Help 9 | // File Ext: cpp 10 | // Project: XEngine(网络通信引擎) 11 | // Author: qyt 12 | // Purpose: 帮助函数类 13 | // History: 14 | *********************************************************************/ 15 | ////////////////////////////////////////////////////////////////////////// 16 | // 公有函数 17 | ////////////////////////////////////////////////////////////////////////// 18 | bool Authorize_Help_LogPrint(LPCTSTR lpszLogBuffer) 19 | { 20 | TCHAR tszLogBuffer[8196]; 21 | TCHAR tszAddBuffer[8196]; 22 | XCHAR tszTimeStr[64]; 23 | 24 | memset(tszLogBuffer, '\0', sizeof(tszLogBuffer)); 25 | memset(tszAddBuffer, '\0', sizeof(tszAddBuffer)); 26 | memset(tszTimeStr, '\0', sizeof(tszTimeStr)); 27 | 28 | ::GetDlgItemText(hMainWnd, IDC_EDIT1, tszAddBuffer, sizeof(tszAddBuffer)); 29 | 30 | USES_CONVERSION; 31 | BaseLib_Time_TimeToStr(tszTimeStr); 32 | if (_tcslen(tszAddBuffer) <= 0) 33 | { 34 | _stprintf(tszLogBuffer, _T("%s:%s"), A2W(tszTimeStr), lpszLogBuffer); 35 | } 36 | else if (_tcslen(tszAddBuffer) >= 8196) 37 | { 38 | _stprintf(tszLogBuffer, _T("%s:%s"), A2W(tszTimeStr), lpszLogBuffer); 39 | } 40 | else 41 | { 42 | _stprintf(tszLogBuffer, _T("%s\r\n%s:%s"), tszAddBuffer, A2W(tszTimeStr), lpszLogBuffer); 43 | } 44 | ::SetDlgItemText(hMainWnd, IDC_EDIT1, tszLogBuffer); 45 | return true; 46 | } -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/Authorize_Help/Authorize_Help.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2022/09/15 09:39:01 4 | // File Name: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help\Authorize_Help.h 5 | // File Path: H:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeApp\Authorize_Help 6 | // File Base: Authorize_Help 7 | // File Ext: h 8 | // Project: XEngine(网络通信引擎) 9 | // Author: qyt 10 | // Purpose: 帮助函数类 11 | // History: 12 | *********************************************************************/ 13 | bool Authorize_Help_LogPrint(LPCTSTR lpszLogBuffer); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngineAuthorizeApp.rc -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeApp.cpp: -------------------------------------------------------------------------------- 1 |  2 | // XEngine_AuthorizeApp.cpp: 定义应用程序的类行为。 3 | // 4 | 5 | #include "pch.h" 6 | #include "framework.h" 7 | #include "XEngine_AuthorizeApp.h" 8 | #include "XEngine_AuthorizeAppDlg.h" 9 | 10 | #ifdef _DEBUG 11 | #define new DEBUG_NEW 12 | #endif 13 | 14 | 15 | // CXEngineAuthorizeAppApp 16 | 17 | BEGIN_MESSAGE_MAP(CXEngineAuthorizeAppApp, CWinApp) 18 | ON_COMMAND(ID_HELP, &CWinApp::OnHelp) 19 | END_MESSAGE_MAP() 20 | 21 | 22 | // CXEngineAuthorizeAppApp 构造 23 | 24 | CXEngineAuthorizeAppApp::CXEngineAuthorizeAppApp() 25 | { 26 | // 支持重新启动管理器 27 | m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; 28 | 29 | // TODO: 在此处添加构造代码, 30 | // 将所有重要的初始化放置在 InitInstance 中 31 | } 32 | 33 | 34 | // 唯一的 CXEngineAuthorizeAppApp 对象 35 | 36 | CXEngineAuthorizeAppApp theApp; 37 | 38 | 39 | // CXEngineAuthorizeAppApp 初始化 40 | 41 | BOOL CXEngineAuthorizeAppApp::InitInstance() 42 | { 43 | // 如果一个运行在 Windows XP 上的应用程序清单指定要 44 | // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, 45 | //则需要 InitCommonControlsEx()。 否则,将无法创建窗口。 46 | INITCOMMONCONTROLSEX InitCtrls; 47 | InitCtrls.dwSize = sizeof(InitCtrls); 48 | // 将它设置为包括所有要在应用程序中使用的 49 | // 公共控件类。 50 | InitCtrls.dwICC = ICC_WIN95_CLASSES; 51 | InitCommonControlsEx(&InitCtrls); 52 | 53 | CWinApp::InitInstance(); 54 | 55 | 56 | AfxEnableControlContainer(); 57 | 58 | // 创建 shell 管理器,以防对话框包含 59 | // 任何 shell 树视图控件或 shell 列表视图控件。 60 | CShellManager *pShellManager = new CShellManager; 61 | 62 | // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题 63 | CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows)); 64 | 65 | // 标准初始化 66 | // 如果未使用这些功能并希望减小 67 | // 最终可执行文件的大小,则应移除下列 68 | // 不需要的特定初始化例程 69 | // 更改用于存储设置的注册表项 70 | // TODO: 应适当修改该字符串, 71 | // 例如修改为公司或组织名 72 | SetRegistryKey(_T("应用程序向导生成的本地应用程序")); 73 | 74 | CXEngineAuthorizeAppDlg dlg; 75 | m_pMainWnd = &dlg; 76 | INT_PTR nResponse = dlg.DoModal(); 77 | if (nResponse == IDOK) 78 | { 79 | // TODO: 在此放置处理何时用 80 | // “确定”来关闭对话框的代码 81 | } 82 | else if (nResponse == IDCANCEL) 83 | { 84 | // TODO: 在此放置处理何时用 85 | // “取消”来关闭对话框的代码 86 | } 87 | else if (nResponse == -1) 88 | { 89 | TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n"); 90 | TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n"); 91 | } 92 | 93 | // 删除上面创建的 shell 管理器。 94 | if (pShellManager != nullptr) 95 | { 96 | delete pShellManager; 97 | } 98 | 99 | #if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS) 100 | ControlBarCleanUp(); 101 | #endif 102 | 103 | // 由于对话框已关闭,所以将返回 false 以便退出应用程序, 104 | // 而不是启动应用程序的消息泵。 105 | return false; 106 | } 107 | 108 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeApp.h: -------------------------------------------------------------------------------- 1 |  2 | // XEngine_AuthorizeApp.h: PROJECT_NAME 应用程序的主头文件 3 | // 4 | 5 | #pragma once 6 | 7 | #ifndef __AFXWIN_H__ 8 | #error "在包含此文件之前包含 'pch.h' 以生成 PCH" 9 | #endif 10 | 11 | #include "resource.h" // 主符号 12 | 13 | 14 | // CXEngineAuthorizeAppApp: 15 | // 有关此类的实现,请参阅 XEngine_AuthorizeApp.cpp 16 | // 17 | 18 | class CXEngineAuthorizeAppApp : public CWinApp 19 | { 20 | public: 21 | CXEngineAuthorizeAppApp(); 22 | 23 | // 重写 24 | public: 25 | virtual BOOL InitInstance(); 26 | 27 | // 实现 28 | 29 | DECLARE_MESSAGE_MAP() 30 | }; 31 | 32 | extern CXEngineAuthorizeAppApp theApp; 33 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeApp.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | XEngineAuthorizeApp.rc 5 | 6 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/XEngine_AuthorizeAppDlg.h: -------------------------------------------------------------------------------- 1 |  2 | // XEngine_AuthorizeAppDlg.h: 头文件 3 | // 4 | 5 | #pragma once 6 | 7 | 8 | // CXEngineAuthorizeAppDlg 对话框 9 | class CXEngineAuthorizeAppDlg : public CDialogEx 10 | { 11 | // 构造 12 | public: 13 | CXEngineAuthorizeAppDlg(CWnd* pParent = nullptr); // 标准构造函数 14 | 15 | // 对话框数据 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_XENGINE_AUTHORIZEAPP_DIALOG }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 22 | 23 | 24 | // 实现 25 | protected: 26 | HICON m_hIcon; 27 | 28 | // 生成的消息映射函数 29 | virtual BOOL OnInitDialog(); 30 | afx_msg void OnPaint(); 31 | afx_msg HCURSOR OnQueryDragIcon(); 32 | DECLARE_MESSAGE_MAP() 33 | public: 34 | CDialog_Config m_DlgConfig; 35 | CDialog_Switch m_DlgSwitch; 36 | CDialog_User m_DlgUser; 37 | CDialog_Serial m_DlgSerial; 38 | CDialog_Banned m_DlgBanned; 39 | CDialog_Try m_DlgTry; 40 | CDialog_CDKey m_DlgCDKey; 41 | CDialog_Announcement m_DlgAnnouncement; 42 | public: 43 | CTabCtrl m_TabWindows; 44 | afx_msg void OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult); 45 | CEdit m_EditLog; 46 | afx_msg void OnBnClickedButton1(); 47 | afx_msg void OnBnClickedButton2(); 48 | CButton m_BtnLogSave; 49 | CButton m_BtnLogClear; 50 | }; 51 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef VC_EXTRALEAN 4 | #define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料 5 | #endif 6 | 7 | #include "targetver.h" 8 | 9 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的 10 | 11 | // 关闭 MFC 的一些常见且经常可放心忽略的隐藏警告消息 12 | #define _AFX_ALL_WARNINGS 13 | 14 | #include // MFC 核心组件和标准组件 15 | #include // MFC 扩展 16 | 17 | 18 | #include // MFC 自动化类 19 | 20 | 21 | 22 | #ifndef _AFX_NO_OLE_SUPPORT 23 | #include // MFC 对 Internet Explorer 4 公共控件的支持 24 | #endif 25 | #ifndef _AFX_NO_AFXCMN_SUPPORT 26 | #include // MFC 对 Windows 公共控件的支持 27 | #endif // _AFX_NO_AFXCMN_SUPPORT 28 | 29 | #include // MFC 支持功能区和控制条 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | #ifdef _UNICODE 40 | #if defined _M_IX86 41 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 42 | #elif defined _M_X64 43 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 44 | #else 45 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 46 | #endif 47 | #endif 48 | 49 | 50 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.cpp: -------------------------------------------------------------------------------- 1 | // pch.cpp: 与预编译标头对应的源文件 2 | 3 | #include "pch.h" 4 | 5 | // 当使用预编译的头时,需要使用此源文件,编译才能成功。 6 | HWND hMainWnd = NULL; 7 | HWND hUserWnd = NULL; 8 | HWND hConfigWnd = NULL; 9 | bool bCrypto = false; 10 | LPCTSTR lpszStuType[2] = { _T("离线"),_T("在线") }; -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: 这是预编译标头文件。 2 | // 下方列出的文件仅编译一次,提高了将来生成的生成性能。 3 | // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 4 | // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 5 | // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | // 添加要在此处预编译的标头 11 | #include "framework.h" 12 | #include 13 | #endif //PCH_H 14 | #include 15 | #include 16 | #include 17 | using namespace std; 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include "../../XAuth_BuildSwitch.h" 28 | #include "../../XAuth_Protocol.h" 29 | #include "../../AuthorizeModule_Configure/Config_Define.h" 30 | #include "../../AuthorizeModule_Configure/Config_Error.h" 31 | #include "../../AuthorizeModule_Help/AuthHelp_Define.h" 32 | #include "../../AuthorizeModule_Help/AuthHelp_Error.h" 33 | #include "../../AuthorizeModule_CDKey/CDKey_Define.h" 34 | #include "../../AuthorizeModule_CDKey/CDKey_Error.h" 35 | #include "Authorize_Dialog/Dialog_Config.h" 36 | #include "Authorize_Dialog/Dialog_User.h" 37 | #include "Authorize_Dialog/Dialog_Serial.h" 38 | #include "Authorize_Dialog/Dialog_Modify.h" 39 | #include "Authorize_Dialog/Dialog_Switch.h" 40 | #include "Authorize_Dialog/Dialog_Banned.h" 41 | #include "Authorize_Dialog/Dialog_Announcement.h" 42 | #include "Authorize_Dialog/Dialog_Try.h" 43 | #include "Authorize_Dialog/Dialog_CDKey.h" 44 | #include "Authorize_Help/Authorize_Help.h" 45 | 46 | extern HWND hMainWnd; 47 | extern HWND hUserWnd; 48 | extern HWND hConfigWnd; 49 | extern bool bCrypto; 50 | extern LPCTSTR lpszStuType[2]; 51 | 52 | #ifdef _MSC_BUILD 53 | #pragma comment(lib,"Dbghelp.lib") 54 | #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") 55 | #pragma comment(lib,"XEngine_Core/XEngine_Cryption.lib") 56 | #pragma comment(lib,"XEngine_Client/XClient_APIHelp.lib") 57 | #ifdef _DEBUG 58 | #ifdef _M_X64 59 | #pragma comment(lib,"../../x64/Debug/jsoncpp") 60 | #pragma comment(lib,"../../x64/Debug/AuthorizeModule_Help") 61 | #pragma comment(lib,"../../x64/Debug/AuthorizeModule_CDKey") 62 | #elif _M_ARM64 63 | #pragma comment(lib,"../../ARM64/Debug/jsoncpp") 64 | #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_Help") 65 | #pragma comment(lib,"../../ARM64/Debug/AuthorizeModule_CDKey") 66 | #elif _M_IX86 67 | #pragma comment(lib,"../../Debug/jsoncpp") 68 | #pragma comment(lib,"../../Debug/AuthorizeModule_Help") 69 | #pragma comment(lib,"../../Debug/AuthorizeModule_CDKey") 70 | #endif 71 | #else 72 | #ifdef _M_X64 73 | #pragma comment(lib,"../../x64/Release/jsoncpp") 74 | #pragma comment(lib,"../../x64/Release/AuthorizeModule_Help") 75 | #pragma comment(lib,"../../x64/Release/AuthorizeModule_CDKey") 76 | #elif _M_ARM64 77 | #pragma comment(lib,"../../ARM64/Release/jsoncpp") 78 | #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_Help") 79 | #pragma comment(lib,"../../ARM64/Release/AuthorizeModule_CDKey") 80 | #elif _M_IX86 81 | #pragma comment(lib,"../../Release/jsoncpp") 82 | #pragma comment(lib,"../../Release/AuthorizeModule_Help") 83 | #pragma comment(lib,"../../Release/AuthorizeModule_CDKey") 84 | #endif 85 | #endif 86 | #endif -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngineAuthorizeApp.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngineAuthorizeApp.rc2 -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngine_AuthorizeApp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libxengine/XEngine_Authorize/8718fdad4139240abdfb3e773139c9b570fc6b28/XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/res/XEngine_AuthorizeApp.ico -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeApp/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。 4 | 5 | //如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并 6 | // 将 _WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_GetTask.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_GetTask(LPCXSTR lpszClientAddr, XCHAR** pptszList, int nListCount); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Token(LPCXSTR lpszClientAddr, XCHAR** pptszList, int nListCount); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Announcement.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Announcement(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Banned.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Banned(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_CDKey(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Client.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Client(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.cpp: -------------------------------------------------------------------------------- 1 | #include "../Authorize_Hdr.h" 2 | 3 | bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen) 4 | { 5 | int nSDLen = 8196; 6 | XCHAR tszSDBuffer[8196]; 7 | LPCXSTR lpszAPILogin = _X("login"); 8 | LPCXSTR lpszAPILogout = _X("logout"); 9 | LPCXSTR lpszAPITimeout = _X("timeout"); 10 | 11 | memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); 12 | 13 | if (0 == _tcsxnicmp(lpszAPIName, lpszAPILogin, _tcsxlen(lpszAPIName))) 14 | { 15 | XENGINE_PROTOCOL_USERAUTH st_UserAuth; 16 | AUTHREG_USERTABLE st_UserTable; 17 | 18 | memset(&st_UserAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH)); 19 | memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE)); 20 | 21 | Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth); 22 | bool bSuccess = false; 23 | if (0 == st_AuthConfig.st_XSql.nDBType) 24 | { 25 | bSuccess = DBModule_SQLite_UserQuery(st_UserAuth.tszUserName, &st_UserTable); 26 | } 27 | else 28 | { 29 | bSuccess = DBModule_MySQL_UserQuery(st_UserAuth.tszUserName, &st_UserTable); 30 | } 31 | if (!bSuccess) 32 | { 33 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_USER, "user notfound"); 34 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 35 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("PASS客户端:%s,用户名:%s,登录失败,用户名不存在"), lpszClientAddr, st_UserAuth.tszUserName); 36 | return false; 37 | } 38 | if ((_tcsxlen(st_UserAuth.tszUserPass) != _tcsxlen(st_UserTable.st_UserInfo.tszUserPass)) || (0 != _tcsxncmp(st_UserAuth.tszUserPass, st_UserTable.st_UserInfo.tszUserPass, _tcsxlen(st_UserTable.st_UserInfo.tszUserPass)))) 39 | { 40 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_PASS, "password is incorrent"); 41 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 42 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("PASS客户端:%s,用户名:%s,登录失败,密码错误"), lpszClientAddr, st_UserAuth.tszUserName); 43 | return false; 44 | } 45 | Protocol_Packet_HttpClientInfo(tszSDBuffer, &nSDLen, &st_UserTable); 46 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 47 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,请求登录用户:%s 成功"), lpszClientAddr, st_UserAuth.tszUserName); 48 | } 49 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPILogout, _tcsxlen(lpszAPIName))) 50 | { 51 | AUTHREG_PROTOCOL_TIME st_ProtocolTime; 52 | memset(&st_ProtocolTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME)); 53 | 54 | Protocol_Parse_HttpParseTime(lpszMsgBuffer, nMsgLen, &st_ProtocolTime); 55 | if (0 == st_AuthConfig.st_XSql.nDBType) 56 | { 57 | DBModule_SQLite_UserLeave(&st_ProtocolTime); 58 | } 59 | else 60 | { 61 | DBModule_MySQL_UserLeave(&st_ProtocolTime); 62 | } 63 | 64 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen); 65 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 66 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,用户名:%s,请求离开服务成功"), lpszClientAddr, st_ProtocolTime.tszUserName); 67 | } 68 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPITimeout, _tcsxlen(lpszAPIName))) 69 | { 70 | AUTHREG_PROTOCOL_TIME st_ProtocolTime; 71 | memset(&st_ProtocolTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME)); 72 | 73 | Protocol_Parse_HttpParseTime(lpszMsgBuffer, nMsgLen, &st_ProtocolTime); 74 | if (0 == st_AuthConfig.st_XSql.nDBType) 75 | { 76 | DBModule_SQLite_UserLeave(&st_ProtocolTime); 77 | } 78 | else 79 | { 80 | DBModule_MySQL_UserLeave(&st_ProtocolTime); 81 | } 82 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen); 83 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 84 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("PASS客户端:%s,用户名:%s,超时通知成功"), lpszClientAddr, st_ProtocolTime.tszUserName); 85 | } 86 | return true; 87 | } -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Pass.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Pass(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Serial.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Serial(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Switch.cpp: -------------------------------------------------------------------------------- 1 | #include "../Authorize_Hdr.h" 2 | 3 | bool XEngine_AuthorizeHTTP_Switch(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen) 4 | { 5 | int nSDLen = 8196; 6 | XCHAR tszSDBuffer[8196]; 7 | LPCXSTR lpszAPIGet = _X("get"); 8 | LPCXSTR lpszAPISet = _X("set"); 9 | 10 | memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); 11 | 12 | if (0 == _tcsxnicmp(lpszAPIGet, lpszAPIName, _tcsxlen(lpszAPIGet))) 13 | { 14 | Protocol_Packet_HttpSwitch(tszSDBuffer, &nSDLen, &st_FunSwitch); 15 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 16 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取功能开关成功,删除功能:%d,登录功能:%d,找回密码:%d,充值功能:%d,注册功能:%d,CDKey功能:%d,公告系统:%d,多端登录:%d,临时试用:%d,普通Token:%d,硬件码登录:%d"), lpszClientAddr, st_FunSwitch.bSwitchDelete, st_FunSwitch.bSwitchLogin, st_FunSwitch.bSwitchPass, st_FunSwitch.bSwitchPay, st_FunSwitch.bSwitchRegister, st_FunSwitch.bSwitchCDKey, st_FunSwitch.bSwitchNotice, st_FunSwitch.bSwitchMulti, st_FunSwitch.bSwitchTry, st_FunSwitch.bSwitchTokenLogin, st_FunSwitch.bSwitchHCLogin); 17 | } 18 | else if (0 == _tcsxnicmp(lpszAPISet, lpszAPIName, _tcsxlen(lpszAPISet))) 19 | { 20 | Protocol_Parse_HttpParseSwitch(lpszMsgBuffer, nMsgLen, &st_FunSwitch); 21 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen); 22 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 23 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置功能开关成功,删除功能:%d,登录功能:%d,找回密码:%d,充值功能:%d,注册功能:%d,CDKey功能:%d,公告系统:%d,多端登录:%d,临时试用:%d,普通Token:%d,硬件码登录:%d"), lpszClientAddr, st_FunSwitch.bSwitchDelete, st_FunSwitch.bSwitchLogin, st_FunSwitch.bSwitchPass, st_FunSwitch.bSwitchPay, st_FunSwitch.bSwitchRegister, st_FunSwitch.bSwitchCDKey, st_FunSwitch.bSwitchNotice, st_FunSwitch.bSwitchMulti, st_FunSwitch.bSwitchTry, st_FunSwitch.bSwitchTokenLogin, st_FunSwitch.bSwitchHCLogin); 24 | } 25 | 26 | return true; 27 | } -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Switch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Switch(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.cpp: -------------------------------------------------------------------------------- 1 | #include "../Authorize_Hdr.h" 2 | 3 | bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen) 4 | { 5 | int nSDLen = 8196; 6 | XCHAR tszSDBuffer[8196]; 7 | 8 | LPCXSTR lpszAPIList = _X("list"); 9 | LPCXSTR lpszAPIDelete = _X("delete"); 10 | LPCXSTR lpszAPIModify = _X("modify"); 11 | 12 | memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); 13 | 14 | if (0 == _tcsxnicmp(lpszAPIName, lpszAPIList, _tcsxlen(lpszAPIName))) 15 | { 16 | int nPosStart = 0; 17 | int nPosEnd = 0; 18 | 19 | CHttpMemory_PoolEx m_HTTPMemoryPool(XENGINE_MEMORY_SIZE_MAX); 20 | Protocol_Parse_HttpParsePos(lpszMsgBuffer, nMsgLen, &nPosStart, &nPosEnd); 21 | 22 | int nListCount = 0; 23 | AUTHREG_TEMPVER** ppSt_AuthVer; 24 | if (0 == st_AuthConfig.st_XSql.nDBType) 25 | { 26 | DBModule_SQLite_TryList(&ppSt_AuthVer, &nListCount); 27 | } 28 | else 29 | { 30 | DBModule_MySQL_TryList(&ppSt_AuthVer, &nListCount); 31 | } 32 | Protocol_Packet_HttpTryList(m_HTTPMemoryPool.get(), &nSDLen, &ppSt_AuthVer, nListCount); 33 | BaseLib_Memory_Free((XPPPMEM)&ppSt_AuthVer, nListCount); 34 | XEngine_Client_TaskSend(lpszClientAddr, m_HTTPMemoryPool.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 35 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,临时验证获取列表成功,列表个数:%d"), lpszClientAddr, nListCount); 36 | } 37 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPIDelete, _tcsxlen(lpszAPIName))) 38 | { 39 | AUTHREG_TEMPVER st_VERTemp; 40 | memset(&st_VERTemp, '\0', sizeof(AUTHREG_TEMPVER)); 41 | 42 | Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp); 43 | if (0 == st_AuthConfig.st_XSql.nDBType) 44 | { 45 | DBModule_SQLite_TryDelete(st_VERTemp.tszVSerial); 46 | } 47 | else 48 | { 49 | DBModule_MySQL_TryDelete(st_VERTemp.tszVSerial); 50 | } 51 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen); 52 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 53 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,临时验证删除成功"), lpszClientAddr, st_VERTemp.tszVSerial); 54 | } 55 | else if (0 == _tcsxnicmp(lpszAPIName, lpszAPIModify, _tcsxlen(lpszAPIName))) 56 | { 57 | AUTHREG_TEMPVER st_VERTemp; 58 | memset(&st_VERTemp, '\0', sizeof(AUTHREG_TEMPVER)); 59 | 60 | Protocol_Parse_HttpParseTry(lpszMsgBuffer, nMsgLen, &st_VERTemp); 61 | if (0 == st_AuthConfig.st_XSql.nDBType) 62 | { 63 | DBModule_SQLite_TrySet(&st_VERTemp); 64 | } 65 | else 66 | { 67 | DBModule_MySQL_TrySet(&st_VERTemp); 68 | } 69 | Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen); 70 | XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP); 71 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,序列号:%s,临时验证修改成功"), lpszClientAddr, st_VERTemp.tszVSerial); 72 | } 73 | return true; 74 | } -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_Try.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_Try(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_User.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LPCXSTR lpszMsgBuffer, int nMsgLen); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Config.cpp: -------------------------------------------------------------------------------- 1 | #include "Authorize_Hdr.h" 2 | 3 | bool Authorize_Service_Parament(int argc, char** argv) 4 | { 5 | LPCXSTR lpszFile = _X("./XEngine_Config/XEngine_Config.json"); 6 | LPCXSTR lpszVersionFile = _X("./XEngine_Config/XEngine_VersionConfig.json"); 7 | LPCXSTR lpszSwitchFile = _X("./XEngine_Config/XEngine_SwitchConfig.json"); 8 | 9 | if (!ModuleConfigure_Json_File(lpszFile, &st_AuthConfig)) 10 | { 11 | printf("解析配置文件失败,Configure_IniFile_Read:%lX\n", Config_GetLastError()); 12 | return false; 13 | } 14 | if (!ModuleConfigure_Json_Versions(lpszVersionFile, &st_AuthConfig)) 15 | { 16 | printf("解析配置文件失败,ModuleConfigure_Json_Versions:%lX\n", Config_GetLastError()); 17 | return false; 18 | } 19 | if (!ModuleConfigure_Json_Switch(lpszSwitchFile, &st_FunSwitch)) 20 | { 21 | printf("解析配置文件失败,ModuleConfigure_Json_Switch:%lX\n", Config_GetLastError()); 22 | return false; 23 | } 24 | 25 | for (int i = 0;i < argc;i++) 26 | { 27 | if ((0 == _tcsxcmp("-h", argv[i])) || (0 == _tcsxcmp("-H", argv[i]))) 28 | { 29 | Authorize_Service_ParamentHelp(); 30 | return false; 31 | } 32 | else if (0 == _tcsxcmp("-d", argv[i])) 33 | { 34 | st_AuthConfig.bDeamon = _ttxoi(argv[++i]); 35 | } 36 | else if (0 == _tcsxcmp("-TP", argv[i])) 37 | { 38 | st_AuthConfig.nTCPPort = _ttxoi(argv[++i]); 39 | } 40 | else if (0 == _tcsxcmp("-WP", argv[i])) 41 | { 42 | st_AuthConfig.nWSPort = _ttxoi(argv[++i]); 43 | } 44 | else if (0 == _tcsxcmp("-HP", argv[i])) 45 | { 46 | st_AuthConfig.nHTTPPort = _ttxoi(argv[++i]); 47 | } 48 | else if (0 == _tcsxcmp("-LL", argv[i])) 49 | { 50 | st_AuthConfig.st_XLog.nLogLeave = _ttxoi(argv[++i]); 51 | } 52 | else if (0 == _tcsxcmp("-LT", argv[i])) 53 | { 54 | st_AuthConfig.st_XLog.nLogType = _ttxoi(argv[++i]); 55 | } 56 | else if (0 == _tcsxcmp("-t", argv[i])) 57 | { 58 | bIsTest = true; 59 | } 60 | } 61 | 62 | return true; 63 | } 64 | 65 | void Authorize_Service_ParamentHelp() 66 | { 67 | printf(_X("--------------------------启动参数帮助开始--------------------------\n")); 68 | printf(_X("网络授权服务启动参数:程序 参数 参数值,参数是区分大小写的。如果不指定将会加载默认的ini配置文件里面的参数\n")); 69 | printf(_X("-h or -H:启动参数帮助提示信息\n")); 70 | printf(_X("-d:1 启用守护进程,2不启用\n")); 71 | printf(_X("--------------------------启动参数帮助结束--------------------------\n")); 72 | } 73 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool Authorize_Service_Parament(int argc, char** argv); 4 | void Authorize_Service_ParamentHelp(); 5 | -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpMemory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /******************************************************************** 3 | // Created: 2025/04/19 14:02:23 4 | // File Name: D:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeService\Authorize_HttpMemory.h 5 | // File Path: D:\XEngine_Authorize\XEngine_Source\XEngine_APPService\XEngine_AuthorizeService 6 | // File Base: Authorize_HttpMemory 7 | // File Ext: h 8 | // Project: XEngine 9 | // Author: qyt 10 | // Purpose: 内存池封装 11 | // History: 12 | *********************************************************************/ 13 | class CHttpMemory_PoolEx 14 | { 15 | public: 16 | CHttpMemory_PoolEx(size_t nSize) 17 | { 18 | lPtr = ManagePool_Memory_Alloc(xhMemPool, nSize); 19 | if (NULL == lPtr) 20 | { 21 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ALERT, _X("内存池分配失败,系统面临崩溃!")); 22 | return; 23 | } 24 | } 25 | ~CHttpMemory_PoolEx() 26 | { 27 | if (NULL != lPtr) 28 | { 29 | ManagePool_Memory_Free(xhMemPool, lPtr); 30 | } 31 | } 32 | public: 33 | // 支持类型转换 34 | template 35 | T* as() { 36 | return static_cast(lPtr); 37 | } 38 | XCHAR* get() 39 | { 40 | return static_cast(lPtr); 41 | } 42 | private: 43 | XPVOID lPtr = NULL; 44 | }; -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | XHTHREAD XCALLBACK XEngine_AuthService_HttpThread(XPVOID lParam); 4 | bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParament); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Net.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | bool XCALLBACK XEngine_Client_TCPAccept(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); 4 | void XCALLBACK XEngine_Client_TCPRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); 5 | void XCALLBACK XEngine_Client_TCPClose(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); 6 | void XCALLBACK XEngine_Client_TCPHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); 7 | 8 | bool XCALLBACK XEngine_Client_WSAccept(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); 9 | void XCALLBACK XEngine_Client_WSRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); 10 | void XCALLBACK XEngine_Client_WSClose(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); 11 | void XCALLBACK XEngine_Client_WSHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); 12 | 13 | bool XCALLBACK XEngine_Client_HttpAccept(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); 14 | void XCALLBACK XEngine_Client_HttpRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); 15 | void XCALLBACK XEngine_Client_HttpClose(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); 16 | void XCALLBACK XEngine_Client_HttpHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); 17 | 18 | bool XEngine_CloseClient(LPCXSTR lpszClientAddr, int nLeaveType = 0); 19 | bool XEngine_Client_TaskSend(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nNetType); 20 | bool XEngine_SendMsg(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nNetType, LPCXSTR lpszPass = NULL); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_TCPTask.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | XHTHREAD XCALLBACK XEngine_AuthService_TCPThread(XPVOID lParam); 4 | bool XEngine_Client_TCPTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, int nNetType); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp: -------------------------------------------------------------------------------- 1 | #include "Authorize_Hdr.h" 2 | 3 | void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam) 4 | { 5 | if (nLeftTimer <= 0) 6 | { 7 | int nMsgLen = 0; 8 | XCHAR tszMsgBuffer[1024]; 9 | XENGINE_PROTOCOLHDR st_ProtocolHdr; 10 | 11 | memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); 12 | memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR)); 13 | 14 | st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER; 15 | st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH; 16 | st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_TIMEDOUT; 17 | st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL; 18 | 19 | if (st_AuthConfig.st_XLogin.bPassAuth) 20 | { 21 | AUTHREG_PROTOCOL_TIME st_AuthTime; 22 | memset(&st_AuthTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME)); 23 | 24 | st_AuthTime.nNetType = nNetType; 25 | st_AuthTime.nTimeLeft = nLeftTimer; 26 | st_AuthTime.nTimeONLine = nOnlineTimer; 27 | st_AuthTime.enSerialType = enSerialType; 28 | _tcsxcpy(st_AuthTime.tszUserName, lpszUserName); 29 | _tcsxcpy(st_AuthTime.tszLeftTime, lpszLeftDate); 30 | _tcsxcpy(st_AuthTime.tszUserAddr, lpszUserAddr); 31 | 32 | memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); 33 | Protocol_Packet_HttpUserTime(tszMsgBuffer, &nMsgLen, &st_AuthTime); 34 | APIClient_Http_Request(_X("POST"), st_AuthConfig.st_XLogin.st_PassUrl.tszPassTimeout, tszMsgBuffer); 35 | } 36 | //HTTP不能通知 37 | Protocol_Packet_HDRComm(tszMsgBuffer, &nMsgLen, &st_ProtocolHdr, nNetType); 38 | XEngine_Client_TaskSend(lpszUserAddr, tszMsgBuffer, nMsgLen, nNetType); 39 | if (!st_AuthConfig.bTimeNotify) 40 | { 41 | XEngine_CloseClient(lpszUserAddr); 42 | } 43 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("地址:%s,用户:%s,网络类型:%d,没有剩余时间,已经通知客户单超时,三方通知设置:%d"), lpszUserName, lpszUserAddr, nNetType, st_AuthConfig.st_XLogin.bPassAuth); 44 | } 45 | AUTHREG_PROTOCOL_TIME st_AuthTime; 46 | memset(&st_AuthTime, '\0', sizeof(AUTHREG_PROTOCOL_TIME)); 47 | 48 | st_AuthTime.nTimeLeft = nLeftTimer; 49 | st_AuthTime.nTimeONLine = nOnlineTimer; 50 | st_AuthTime.enSerialType = enSerialType; 51 | _tcsxcpy(st_AuthTime.tszLeftTime, lpszLeftDate); 52 | _tcsxcpy(st_AuthTime.tszUserName, lpszUserName); 53 | _tcsxcpy(st_AuthTime.tszUserAddr, lpszUserAddr); 54 | 55 | if (0 == st_AuthConfig.st_XSql.nDBType) 56 | { 57 | DBModule_SQLite_UserLeave(&st_AuthTime); 58 | } 59 | else 60 | { 61 | DBModule_MySQL_UserLeave(&st_AuthTime); 62 | } 63 | } 64 | void XCALLBACK XEngine_TaskEvent_Token(XNETHANDLE xhToken, XPVOID lParam) 65 | { 66 | bool bRemove = true; 67 | AUTHREG_USERTABLE st_UserTable; 68 | memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE)); 69 | 70 | Session_Token_Get(xhToken, &st_UserTable); 71 | //自动续期? 72 | if (st_AuthConfig.st_XVerification.st_XToken.bAutoRenewal) 73 | { 74 | int nRenewalTime = 0; 75 | Session_Token_RenewalTime(xhToken, &nRenewalTime); 76 | 77 | if (-1 == st_AuthConfig.st_XVerification.st_XToken.nRenewalTime) 78 | { 79 | bRemove = false; 80 | } 81 | else 82 | { 83 | if (nRenewalTime <= st_AuthConfig.st_XVerification.st_XToken.nRenewalTime) 84 | { 85 | bRemove = false; 86 | } 87 | } 88 | } 89 | 90 | if (bRemove) 91 | { 92 | Session_Token_Delete(xhToken); 93 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Token:%lld,用户名:%s,已经超时,权限级别:%d,被移除服务器"), xhToken, st_UserTable.st_UserInfo.tszUserName, st_UserTable.st_UserInfo.nUserLevel); 94 | } 95 | } -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserName, __int64x nOnlineTimer, __int64x nLeftTimer, LPCXSTR lpszLeftDate, ENUM_AUTHORIZE_MODULE_SERIAL_TYPE enSerialType, ENUM_PROTOCOLDEVICE_TYPE enDeviceType, int nNetType, XPVOID lParam); 4 | void XCALLBACK XEngine_TaskEvent_Token(XNETHANDLE xhToken, XPVOID lParam); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.cpp: -------------------------------------------------------------------------------- 1 | #include "Authorize_Hdr.h" 2 | 3 | XHTHREAD XCALLBACK XEngine_AuthService_WSThread(XPVOID lParam) 4 | { 5 | int nPoolIndex = *(int*)lParam; 6 | int nThreadPos = nPoolIndex + 1; 7 | 8 | while (bIsRun) 9 | { 10 | if (!RfcComponents_WSPacket_WaitEventEx(xhWSPacket, nThreadPos)) 11 | { 12 | continue; 13 | } 14 | int nMsgLen = 2048; 15 | XCHAR tszMsgBuffer[2048]; 16 | memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); 17 | 18 | int nListCount = 0; 19 | XENGINE_MANAGEPOOL_TASKEVENT** ppSt_ListClient; 20 | RfcComponents_WSPacket_GetPoolEx(xhWSPacket, nThreadPos, &ppSt_ListClient, &nListCount); 21 | for (int i = 0; i < nListCount; i++) 22 | { 23 | ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE enOPCode; 24 | if (!RfcComponents_WSPacket_GetEx(xhWSPacket, ppSt_ListClient[i]->tszClientAddr, tszMsgBuffer, &nMsgLen, &enOPCode)) 25 | { 26 | continue; 27 | } 28 | if (st_AuthConfig.st_XCrypto.bEnable) 29 | { 30 | XCHAR tszPassword[64]; 31 | XCHAR tszDeBuffer[2048]; 32 | 33 | memset(tszPassword, '\0', sizeof(tszPassword)); 34 | memset(tszDeBuffer, '\0', sizeof(tszDeBuffer)); 35 | 36 | _xstprintf(tszPassword, _X("%d"), st_AuthConfig.st_XCrypto.nPassword); 37 | Cryption_XCrypto_Decoder(tszMsgBuffer, &nMsgLen, tszDeBuffer, tszPassword); 38 | XEngine_Client_WSTask(ppSt_ListClient[i]->tszClientAddr, tszDeBuffer, nMsgLen, enOPCode); 39 | } 40 | else 41 | { 42 | XEngine_Client_WSTask(ppSt_ListClient[i]->tszClientAddr, tszMsgBuffer, nMsgLen, enOPCode); 43 | } 44 | } 45 | BaseLib_Memory_Free((XPPPMEM)&ppSt_ListClient, nListCount); 46 | } 47 | return 0; 48 | } 49 | 50 | bool XEngine_Client_WSTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE enOPCode) 51 | { 52 | XENGINE_PROTOCOLHDR st_ProtocolHdr; 53 | memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR)); 54 | 55 | if (ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_CLOSE == enOPCode) 56 | { 57 | int nSDLen = 0; 58 | XCHAR tszMSGBuffer[XPATH_MAX] = {}; 59 | RfcComponents_WSCodec_EncodeMsg(NULL, tszMSGBuffer, &nSDLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_CLOSE); 60 | NetCore_TCPXCore_SendEx(xhWSSocket, lpszClientAddr, tszMSGBuffer, nSDLen); 61 | } 62 | else if (ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_PING == enOPCode) 63 | { 64 | int nSDLen = 0; 65 | XCHAR tszMSGBuffer[XPATH_MAX] = {}; 66 | RfcComponents_WSCodec_EncodeMsg(NULL, tszMSGBuffer, &nSDLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_PONG); 67 | NetCore_TCPXCore_SendEx(xhWSSocket, lpszClientAddr, tszMSGBuffer, nSDLen); 68 | } 69 | else 70 | { 71 | if (!Protocol_Parse_WSHdr(lpszMsgBuffer, nMsgLen, &st_ProtocolHdr)) 72 | { 73 | XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("WS客户端:%s,协议错误"), lpszClientAddr); 74 | return false; 75 | } 76 | 77 | if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_AUTH_REQLOGIN == st_ProtocolHdr.unOperatorCode) 78 | { 79 | XENGINE_PROTOCOL_USERAUTH st_UserAuth; 80 | memset(&st_UserAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH)); 81 | 82 | Protocol_Parse_HttpParseAuth(lpszMsgBuffer, nMsgLen, &st_UserAuth); 83 | XEngine_Client_TCPTask(lpszClientAddr, (LPCXSTR)&st_UserAuth, sizeof(XENGINE_PROTOCOL_USERAUTH), &st_ProtocolHdr, XENGINE_AUTH_APP_NETTYPE_WS); 84 | } 85 | if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_HB_SYN == st_ProtocolHdr.unOperatorCode) 86 | { 87 | XEngine_Client_TCPTask(lpszClientAddr, NULL, 0, &st_ProtocolHdr, XENGINE_AUTH_APP_NETTYPE_WS); 88 | } 89 | } 90 | 91 | return true; 92 | } -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_WSTask.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | XHTHREAD XCALLBACK XEngine_AuthService_WSThread(XPVOID lParam); 4 | bool XEngine_Client_WSTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE enOPCode); -------------------------------------------------------------------------------- /XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/XEngine_AuthorizeService.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | --------------------------------------------------------------------------------