【c++】通过写一个C++函数来模拟跨境洗钱和系统警告

效果图: 

源码:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <chrono>
#include <thread> // 引入线程头文件

#ifdef _WIN32 // 确保只在Windows上包含Windows.h
#include <windows.h>
#endif

using namespace std;

int main() {
	// 模拟一个跨国银行账户ID(仅为示例)
	int id;
	cout << "请输入你的跨国银行账户(仅为示例):" << endl;
	cin >> id; // 注意:实际应用中不会直接存储用户输入的账户ID
	
	// 模拟10次随机金额的转账
	for (int i = 1; i <= 10; ++i) {
		int money = std::rand() % 1701 + 800; // 生成800到2500之间的随机金额
		auto now = std::chrono::system_clock::now();
		auto time_t = std::chrono::system_clock::to_time_t(now);
		std::cout << std::put_time(std::localtime(&time_t), "%Y-%m-%d %H:%M:%S") << " 转入 #" << i << ": ";
		std::cout << "已成功转入" << money << "元!" << std::endl;
		
		// 使用跨平台的线程暂停
		std::this_thread::sleep_for(std::chrono::milliseconds(rand() % 300 + 200));
	}
	
	// 弹出警告消息(跨平台)
#ifdef _WIN32 // 如果在Windows上,使用MessageBox
	HWND hWnd = GetConsoleWindow();
	SetForegroundWindow(hWnd);
	MessageBox(NULL, "注意:您可能在进行非法跨境洗钱。请立即停止!!!!", "违法警示", NULL);
#else // 如果在非Windows平台上,使用cout
	cout << "\n注意:您可能在进行非法跨境洗钱。请立即停止!!" << endl;
#endif
	
	return 0;
}

代码解释

  1. 包含头文件:您包含了多个头文件,用于输入输出、随机数生成、时间处理、窗口操作等。

  2. 全局变量id 和 total 被声明,但 total 并未在代码中使用。

  3. 随机数种子:您使用当前时间作为随机数生成器的种子。

  4. 输入账户:程序提示用户输入一个“跨国银行账户”,但实际上这个账户号在后续的代码中并未被使用。

  5. 转账模拟

    • 程序模拟了10次转账,每次转入的金额在800到2500元之间(std::rand() % 1701 + 800)。
    • 转账前,程序输出了当前的日期和时间。
    • 每次转账后,程序都会暂停一段时间(使用 Sleep 函数)。
  6. 窗口操作

    • 程序最后尝试将控制台窗口设置为前台窗口。
    • 接着,它弹出一个警告消息框,表示检测到了“非法跨境洗钱”。

警告:

该程序只用于模拟和警示切勿用于非法用途!!!

上一篇:STM32学习4


下一篇:CVE-2019-12272 Openwrt可视页面LuCi命令注入漏洞复现(完结)