本篇文章給大家談談萬能激活碼生成器,以及萬能激活碼永久皮膚的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
文章詳情介紹:
Qt編寫密鑰生成器+使用demo
一、前言
在很多商業軟件中,需要提供一些可以試運行的版本,這樣就需要配套密鑰機制來控制,縱觀大部分的試用版軟件,基本上采用以下幾種機制來控制。
1:遠程聯網激活,每次啟動都聯網查看使用時間等,這種方法最完美,缺點是沒法聯網的設備就歇菜了。
2:通過獲取本地的硬盤+CPU等硬件的編號,做一個運算,生成一個激活碼,超過半數的軟件會采用此方法,缺點是不能自由控制軟件的其他參數,比如軟件中添加的設備數量的控制。
3:設定一個運行到期時間+數量限制+已運行時間的密鑰文件,發給用戶配套軟件使用,缺點是如果僅僅設置的是運行到期時間,用戶可以更改電腦時間來獲取更長的使用時間,在電腦不聯網的情況下。
本demo采用拋磚引玉的形式,用第三種方法來實現,密鑰文件采用最簡單的異或加密,可以自行改成其他加密方法。
二、實現的功能可以控制軟件使用時間。
可以控制軟件運行時間。
可以控制設備的數量。
可以在工具上啟動和停止服務。
可以查看已重啟過幾次。
可以清空復位重啟次數。
#include "frmmain.h" #include "ui_frmmain.h" #include "qmessagebox.h" #include "qfile.h" #include "qprocess.h" #include "qdebug.h" frmMain::frmMain(QWidget *parent) : QWidget(parent), ui(new Ui::frmMain) { ui->setupUi(this); this->initForm(); qDebug() << this->getCpuName() << this->getCpuId() << this->getDiskNum(); } frmMain::~frmMain() { delete ui; } void frmMain::initForm() { QStringList min; min << "1" << "5" << "10" << "20" << "30"; for (int i = 1; i <= 24; i++) { min << QString::number(i * 60); } ui->cboxMin->addItems(min); ui->cboxMin->setCurrentIndex(1); ui->dateEdit->setDate(QDate::currentDate()); for (int i = 5; i <= 150; i = i + 5) { ui->cboxCount->addItem(QString("%1").arg(i)); } } QString frmMain::getWMIC(const QString &cmd) { //獲取cpu名稱:wmic cpu get Name //獲取cpu核心數:wmic cpu get NumberOfCores //獲取cpu線程數:wmic cpu get NumberOfLogicalProcessors //查詢cpu序列號:wmic cpu get processorid //查詢主板序列號:wmic baseboard get serialnumber //查詢BIOS序列號:wmic bios get serialnumber //查看硬盤:wmic diskdrive get serialnumber QProcess p; p.start(cmd); p.waitForFinished(); QString result = QString::fromLocal8Bit(p.readAllStandardOutput()); QStringList list = cmd.split(" "); result = result.remove(list.last(), Qt::CaseInsensitive); result = result.replace("\r", ""); result = result.replace("\n", ""); result = result.simplified(); return result; } QString frmMain::getCpuName() { return getWMIC("wmic cpu get name"); } QString frmMain::getCpuId() { return getWMIC("wmic cpu get processorid"); } QString frmMain::getDiskNum() { return getWMIC("wmic diskdrive where index=0 get serialnumber"); } QString frmMain::getXorEncryptDecrypt(const QString &data, char key) { //采用異或加密,也可以自行更改算法 QByteArray buffer = data.toLatin1(); int size = buffer.size(); for (int i = 0; i < size; i++) { buffer[i] = buffer.at(i) ^ key; } return QLatin1String(buffer); } void frmMain::on_btnOk_clicked() { bool useDate = ui->ckDate->isChecked(); bool useRun = ui->ckRun->isChecked(); bool useCount = ui->ckCount->isChecked(); if (!useDate && !useRun && !useCount) { if (QMessageBox::question(this, "詢問", "確定要生成沒有任何限制的密鑰嗎?") != QMessageBox::Yes) { return; } } QString strDate = ui->dateEdit->date().toString("yyyy-MM-dd"); QString strRun = ui->cboxMin->currentText(); QString strCount = ui->cboxCount->currentText(); QString key = QString("%1|%2|%3|%4|%5|%6").arg(useDate).arg(strDate).arg(useRun).arg(strRun).arg(useCount).arg(strCount); QFile file(QApplication::applicationDirPath() + "/key.db"); file.open(QFile::WriteOnly | QIODevice::Text); file.write(getXorEncryptDecrypt(key, 110).toLatin1()); file.close(); QMessageBox::information(this, "提示", "生成密鑰成功,將 key.db 文件拷貝到對應目錄即可!"); } void frmMain::on_btnClose_clicked() { this->close(); }
警惕!如果你發現電腦最近變卡,可能已經是別人用來挖礦了?
近幾年,挖礦木馬攻擊事件爆發式增長,已經成為了當下病毒木馬黑產中的最常見的手段。它主要借助一種專用惡意應用秘密安裝到用戶電腦上,包括游戲外掛、盜版軟件、不良網站以及一些激活碼的生成器等植入程序。由于挖礦需要成本、電力資源等,一些不法分子就想了歪招:劫持他人電腦為自己挖礦,直接使得挖礦產業活動頻繁起來。
網頁挖礦腳本
早在2017年10月,海盜灣網站就被曝利用Javascript 比特幣挖掘腳本。也就是說,用戶登入網站,不法分子利用加密方式注入用戶電腦,使用用戶電腦的CPU為其挖礦。在那個時間段,有大約5億用戶在不知情的情況下電腦運行JS腳本進行挖礦。
后來甚至發布了公告,表明了只要你們上我的網站,我就要用你們的電腦挖礦,一時間引來了很大的爭議。
一般不法分子會制作一些大流量的假網站,如:愛奇藝、優酷等網站,或提供免費的游戲外掛。這些都將入侵用戶電腦,惡意利用用戶電腦進行挖礦。此類型的病毒入侵比較“溫和”,病毒并不會更改用戶瀏覽器的首頁、也不會惡性刪除文件,而是利用CPU的空閑資源進行挖礦。這樣一來,普通用戶很難察覺自己的電腦是否被入侵。挖礦過程中會使得CPU一直在高速運行,顯卡也會參與其中,直接導致了電腦配件由于長期高負荷的運轉導致提前報廢。且這類病毒也可以選擇性地查看與更改計算機里的文件。
如何判斷自己的電腦是否被挖礦,怎樣預防?
電腦開機后,所有程序都不打開的情況下。按Ctrl+ALT+Del調出任務管理器,在“進程”卡項中,查看CPU的使用情況。如果看到某個進程占用了大量的cpu使用情況,并且幾分鐘后都沒有降低的趨勢,這個程序就可能是病毒了。
想要預防自己的電腦被挖礦也很簡單,只要安裝正規的安全軟件,使用chrome瀏覽器,添加No coin插件,就可以防止電腦被挖礦了。
當然,如果不瀏覽不正規不健康的網站,不下載盜版游戲,盜版軟件等就更能從根源杜絕電腦被不法分子挖礦的風險。