北邮面向对象程序设计(C++)2022年春季学期实验作业要求

本文记录了北京邮电大学面向对象程序设计实践(C++)的大作业(综合作业+基础题目)的内容需求,用以备查。BUPT 的 OOP 课程的综合题目每年都会发生变化。为了使有需要的朋友在阅读代码时能够理解部分设计用意,特此将课程设计的内容记录如下。

Qt 不同版本以及不同协议的选择

Qt 是目前较为流行而且功能完备的 C++ 图形化开发框架(GUI Framework),其运营者是商业公司 Qt Group (Nasdaq Helsinki: QTCOM)。出于商业化运营的考虑和拥抱开源的策略,Qt 有两种不同的授权许可协议。同时,作为一个历史悠久的跨平台开发库,Qt 有很多不同的版本。如何选择合适的授权协议以及 Qt 版本,是十分值得讨论的。

FastAPI,YYDS!

我们的数电助教和老师很奇怪,并不使用常见的课堂派/爱课堂等方式收作业,而是采用纸质的方式收取作业。最近因为疫情反弹的原因,课程重新改为线上,需要收电子版作业。考虑到用 QQ 或 Email 的方式发作业会混乱不堪,我决定在 1024 程序员节的末尾快速写一个收 .pdf 文件的网站,预计从开写到完成在 1 小时左右,算上上线在 2 小时左右,主要需求就两个:能用且不丢数据。原本打算使用 rust rocket v0.5 的我,最终使用了 python fastapi。

Write Ransomware in Rust——用Rust写勒索软件: (一)结构篇

勒索软件的结构是基本一致的。从开源的 Hidden Tear 勒索软件开始,几乎所有的勒索软件都遵循着大致的结构。原因是勒索软件的目的和手段没有发生大的变化,且勒索软件的核心技术结构也没有大的变化。因此,想要编写一个勒索软件,首先需要按照几乎既定的模式进行结构组织。我将勒索软件的技术结构分为:交互层、逻辑层、加密层、传输层。

Write Ransomware in Rust——用Rust写勒索软件: (零)起因篇

自比特币(BTC)、以太坊(ETH)等数字加密货币兴起,价格暴涨以来,它们凭借自身难追踪、易交易、高价值、低监管的特点成为了黑客的首选。随着他们的兴起,以收取勒索加密数字货币赎金为目的勒索软件也逐步兴起。知名的WannaCry勒索软件利用美国国家安全局(NSA)泄露的“永恒之蓝”漏洞展开攻击,要求用户支付300美元的比特币来解密被加密的文件。总体来讲,勒索软件近些年频繁出现,而且勒索金额、勒索形式、技术手段也愈加丰富,危害性越来越大。因而研究勒索软件是一种必要的探索,以掌握其规律和手段。