123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "softdog.h"
- #include <QApplication>
- bool SoftDog::DogCheck(QString &errMsg, int nAddr, const QString &appName)
- {
- errMsg = "";
- #ifdef Q_OS_WIN
- QString appPath = QApplication::applicationDirPath() + "/DogCheck4.dll";
- #else
- QString appPath = QApplication::applicationDirPath() + "/libLHDogCheck.so";
- #endif
- QLibrary mylib(appPath);
- if(!mylib.load())
- {
- errMsg = "加载动态库失败! 路径:" + appPath;
- return false;
- }
-
- if(!mylib.isLoaded() && !mylib.load())
- {
- errMsg = "缺少认证库,请不要非法使用软件!";
- return false;
- }
- typedef int (*FunLHCheckDog)(int nAddr, const char* lpszName);
- FunLHCheckDog fnCheck = reinterpret_cast<FunLHCheckDog>(mylib.resolve("LHCheckDog"));
- if(fnCheck == nullptr)
- {
- errMsg = "认证库不对,请不要非法使用软件!";
- return false;
- }
- if(fnCheck == nullptr) return false;
- if(fnCheck(nAddr, appName.toLocal8Bit()) != 0)
- {
- errMsg = "请不要非法使用软件!";
- return false;
- }
- return true;
- }
|