基于 Reactor 模型的高并发 C++ 网络服务器
基于Linux+epoll+线程池实现轻量级Reactor模型HTTP服务器,支持并发连接接入、HTTP GET请求解析、静态资源返回、长连接管理与超时回收,并通过压力测试对服务器吞吐与响应延迟进行了验证。
基于Linux+epoll+线程池实现轻量级Reactor模型HTTP服务器,支持并发连接接入、HTTP GET请求解析、静态资源返回、长连接管理与超时回收,并通过压力测试对服务器吞吐与响应延迟进行了验证。
基于QT开发的桌面端编译器前端工具,面向简化版C语言(LittleC)实现完成编译核心流程,涵盖词法分析、递归下降语法分析、语义检查和类汇编代码生成,支持编译过程可视化展示和源码错误定位。通过Qt多面板交互界面,实时查看Token序列、AST语法树、符号表和生成类汇编代码。
主要研究内容:
1.针对控制流混淆:
(1)混合型不透明谓词的构造方法:
构造基于混沌映射和并发线程的混合型不透明谓词。混沌子谓词的实现基于二维帐篷映射,使用线程ID作为种子进行N次迭代,得到的值构建混沌子谓词表达式;线程子谓词使用守护线程持续写入某特定值,构建恒真的线程子谓词;使用OR连接混沌子谓词和线程子谓词,混合谓词使得攻击者必须同时破解两个子系统才能安全移除谓词,而且任一子系统失效都不影响程序正确性。
(2)不透明谓词的插入策略:
找到循环、分支的判断条件插入不透明谓词;将原有控制流拆分为调度器 + 基本块,在调度器中加入不透明谓词决定跳转目标,以实现隐藏现有分支和构造虚假分支。
2.针对数据流混淆:
主要研究其中的数组混淆,首先,将多维数组都展平为一维度数组,得到初始索引i;然后,对得到的一维数组进行索引加密,得到加密索引i_enc;最后,将得到的一维数组进行数组拆分,对加密索引i_enc进行二次映射,确定数据保存在哪一个子数组和在该子数组中的偏移量。
3.多策略代码混淆技术:
结合上述代码混淆技术,实现多策略的代码混淆系统。
参与兰州大学暑期支教活动,面向当地学生开展课程准备、课堂协助和学习互动。
参与“爱护口腔从我做起,急救知识我先知”主题课堂实施,负责学生引导、课堂互动和秩序维护。
能够根据学生接受情况,用更通俗、耐心的方式进行交流与讲解,提升课堂参与度。
通过支教实践积累了课堂组织、学生沟通与教学配合经验,增强了责任心和亲和力。