汇编逆向-Qt

Qt源码解析 索引

汇编逆向— 授权破解示例分析

问题模拟

运行环境

  1. x64dbg
  2. Windows 10
  3. Qt5.12.3

示例代码

使用Qt显示当前时间,模拟一般授权软件的时间判断逻辑,当时间超过授权日期后就提示授权过期。

没有Qt经验的同学可以直接使用控制台程序,更简单一点。

#include "QtASM.h"
#include <QTimer>
#include <QDateTime>
#include <QMessageBox>

bool checkPassword()
{
	bool result = true;
	QDateTime now = QDateTime::currentDateTime();
	QDateTime dummy = QDateTime::fromString("2022-11-10", "yyyy-MM-dd");

	qint64 testDateTime = now.secsTo(dummy);
	if (testDateTime < 0)//超过授权日期2022-11-10
	{
		result = false;
	}
	return result;
}

QtASM::QtASM(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);

	QTimer *timer = new QTimer(this);
	connect(timer, &QTimer::timeout, this, [=]() {
		if (checkPassword())
		{
			ui.dateTimeEdit->setDateTime(QDateTime::currentDateTime());
		}
		else
		{
			QMessageBox msgBox;
			msgBox.setText(QStringLiteral("error.授权失败."));//加了英文,方便查找
			msgBox.exec();
		}
	});
	timer->start(1000);
}

运行效果

按照博主测试的时间2022-11-19,软件会一直提示授权失败。

在这里插入图片描述

<

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道格拉斯范朋克

播种花生牛奶自留田

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值