C/C++、网络协议、网络安全类文章汇总

文章简介

  • 本文章主要对本博客的所有文章进行了汇总,方便查找。
  • 内容涉及C/C++编程,CMake、Makefile、Shell脚本,GUI编程框架MFC和QT,Git版本控制工具,网络协议基础知识,网络安全领域相关知识,Windows、Linux和Mac平台软件打包流程,一些实用的C/C++开源框架。
  • 对于访问量过万的文章进行了 标记。

文章汇总

C/C++编程

  • C++ 11新特性之std::function类模板与std::bind绑定器介绍
  • C++三大特性之多态
  • c++函数模板与类模板
  • 指针数组与数组指针
  • vector容器中size与capacity的区别
  • vector中reserve与resize的区别
  • visual studio 15 无法卸载(安装时发生严重错误)
  • C++字符串类std::string介绍
  • 静态链接和动态链接 – 静态加载(隐式调用)和动态加载(显式调用)
  • 不同系统和架构下的宏定义名称
  • Dump文件的生成以及使用WinDbg静态分析
  • 使用WinDbg进行动态调试
  • C++ UML 类图介绍与设计
  • C++智能指针 shared_ptr 和 unique_ptr
  • C++ 多线程std::thread以及条件变量和互斥量的使用
  • C++11语法之Lambda表达式介绍
  • C++四种类型转换操作符 static_cast、dynamic_cast、reinterpret_cast、const_cast介绍
  • C++ STL之容器介绍(vector、list、set、map)
  • C++ STL之算法介绍

C/C++开源框架

  • C++高性能日志库spdlog使用指南
  • c语言json库parson的介绍和使用
  • C++ json库介绍 - json11的使用
  • 轻量级c语言开源日志库log.c介绍 - 实现不同级别和参数化日志打印
  • C++日志库plog使用指南
  • 使用c语言libexpat开源库解析XML数据
  • 通过C++开源库TinyXML2解析和生成XML数据
  • C/C++二维码生成库qrencode编译与使用
  • 使用OpenCppCoverage统计代码覆盖率
  • 使用RapidJson开源库解析和生成Json数据
  • libcurl开源库的编译与使用全攻略
  • 使用http-parser解析http请求和响应数据
  • C语言开源库iniparser解析ini文件

CMake

  • cmake实现宏控制
  • cmake之add_dependencies
  • CMake简单案例
  • CMake编译安装、生成可执行程序、生成静态动态库以及静态动态库的链接
  • CMake多行注释以及通过Message打印不同级别日志
  • CMake生成Debug和Release目标程序时的一些配置
  • cmake之find_package命令详解
  • CMake install如何安装目标、文件、目录和安装时执行代码(付费文章)

Makefile

  • Makefile简介及如何指定头文件和库文件
  • makefile实现大型项目编译部署 (付费文章)

QT

  • QT之QTableWidget控件
  • QT实现线程操作
  • QT程序打包发布
  • 使用QT绘制折线图
  • QLabel中文乱码问题
  • QT中使用正则表达式检测IP和端口
  • setAttribute(Qt::WA_DeleteOnClose) 导致程序崩溃问题
  • QT两种方法实现定时器
  • QT实现发送get和post请求
  • QT自定义控件
  • QT信号与槽介绍-自定义信号与槽的实现以及信号重载
  • Visual Studio 2015 + cmake编译QT5程序
  • Windows/Linux(命令、安装包和源码安装)平台各个版本QT详细安装教程
  • Qt实现TCP调试助手 - 简述如何在Qt中实现TCP多并发
  • Qt中使用QNetworkAccessManager类发送https请求时状态码返回0
  • QT消息机制和事件 - 鼠标事件、键盘按下事件、绘图事件、定时器事件处理
  • Qt实现json数据的生成、解析、修改和删除

MFC

  • MFC标签页 Tab Control控件介绍
  • MFC常用控件使用(文本框、编辑框、下拉框、列表控件、树控件)
  • MFC编程入门级教程

网络安全

  • 对称加密与非对称加密算法

  • 数字证书简介

  • OpenSSL编译安装和命令行工具介绍

  • 浅谈数字信封

  • 使用windows提供的API判断防火墙开启状态

  • X509数字证书编码格式和扩展名

  • 消息摘要算法与消息认证码简介

  • 数字签名技术简介

  • 使用windows钩子(HOOK)实现DLL注入

  • ukey设备以及国密SKF、CSP和PKCS#11规范介绍

  • 构建网络信息安全的中国方案 - 国密SSL/TLCP协议介绍以及国密Nginx服务器部署

  • 基于OpenSSL的SSL/TLS加密套件全解析

  • 网络安全之DDos攻击原理与防御

  • 网络探测工具Nmap介绍

  • 使用hping3网络工具构造TCP/IP数据包和进行DDos攻击

  • 密码学基础之ASN.1编码

  • 跨域问题分析以及解决方案

  • OpenSSL之API编程 - C/C++实现摘要算法和Base64编解码算法 (付费文章)

  • OpenSSL之API编程 - C/C++实现AES、DES、3DES、SM4对称加密算法(付费文章)

  • WMI技术介绍以及使用WMI技术获取系统信息(付费文章)

  • OpenSSL之API编程 - C/C++实现RSA非对称加密算法(付费文章)

  • PAC代理技术详解以及PAC代理无法开启问题(付费文章)

  • SM2加密算法的公私钥和密文格式以及不同编程语言之间无法互相解密问题分析(付费文章)

  • Tongsuo(铜锁)项目介绍 - 实现国密SSL协议(付费文章)

  • PKCS#7签名介绍与代码实现(付费文章)

  • 使用openssl库实现MD5加密

️ 网络协议

  • ️ websocket协议简介

  • ️ 使用Wireshark抓包分析TCP协议

  • ️ 网络分析器Wireshark过滤器设置

  • ️ linux下使用tcpdump抓取数据包

  • ️ TCP状态转换以及TIMEWAIT和FIN_WAIT_2状态

  • ️ HTTP协议详解 - 通过C++实现HTTP服务剖析HTTP协议

  • ️ 加密通信的基础 - 全面解读SSL/TLS协议

  • ️ 桥接模式与NAT模式的区别以及设置静态IP

  • ️ 如何使用wireShark的追踪流功能抓取并还原文件

  • ️ IO多路复用之select/epoll模型

  • ️ SSL/TLS警告协议详解以及常见握手失败消息的含义与解决方案

GIT

  • git合并分支时如何解决冲突
  • 使用git restore --staged撤销你在暂存区的提交
  • git pull时报错:Your local changes to the following files would be overwritten by merge
  • git常用命令记录
  • git提交代码到同一分支时冲突的解决
  • git工作流程简介
  • 使用git restore命令撤销你在工作区的修改
  • 使用git reset回退版本
  • 使用git revert回退版本
  • 使用git submodule命令创建子模块
  • Centos安装GitLab教程
  • GitLab CI/CD实现项目自动化部署

软件打包

  • inno setup打包教程-入门篇
  • 使用inno setup打中文安装界面的安装包
  • linux平台制作deb包
  • Mac下安装pkg包报错:安装器遇到了一个错误,导致安装失败。请联系软件生产企业以获得帮助。
  • 使用inno setup制作静默安装包
  • Inno Setup打包实现安装自启和开机自启
  • Mac平台下如何制作pkg安装包以及rpath设置
  • RPM包详解以及如何制作RPM包
  • 使用alien工具转deb为rpm包时报错:Use of uninitialized value in lc at /usr/share/perl5/Alien/Package/Deb.pm
  • 提升软件安全性 - 运用Inno Setup打包技术实现序列号与机器绑定
  • inno setup打包脚本中调用系统和自定义DLL库

实用框架

  • Jenkins从配置到实战(一) - 实现C/C++项目自动化构建
  • Docker介绍以及实战教程
  • Jenkins从配置到实战(二) - Jenkins的Master-Slave分布式构建
  • nginx介绍 -下载安装以及如何实现http和https服务
  • Nginx日志功能介绍
  • Nginx + fastCGI 实现动态网页部署
  • 内网穿透技术 - 带你玩转Ngrok和NATAPP
  • Nginx实现反向代理和负载均衡

OpenCV

  • opencv训练自己的模型,实现特定物体的识别
  • opencv实现人脸识别(c++实现)
  • 使用opencv和dlib库(C++代码)实现人脸活体检测(眨眼、张嘴、摇头检测)(付费文章)

脚本

  • shell脚本介绍

数据库

  • MySql数据库基础篇-增删改查
  • SQLite数据库使用指南以及相关API编程

算法

  • 图解快速排序

视频动画

  • PR视频剪辑软件教程
  • PR视频剪辑教程–视频特效和转场
  • MAYA教程之建模基础命令介绍
  • MAYA教程之模型的UV拆分与材质介绍
  • 音视频(一)之使用FFMpeg工具推流并搭建流媒体服务器Nginx + RTMP
  • 音视频(二)之使用FFMpegSDK在C++代码中进行推流
  • MAYA教程之灯光与渲染

操作系统

  • windows注册表写入与读取
  • windows线程之CreateThread与_beginthreadex区别详解
  • windows线程同步与互斥
  • Linux下记录崩溃信息
  • Linux常用命令记录
  • 国产操作系统介绍和安装
  • Windows编程模型-消息循环机制
  • wchar_t*(LPWSTR)与char*(LPSTR)相互转换

️ 逆向分析

  • ️ nm命令如何查看目标文件符号表
  • ️ 通过strings二进制文件分析工具排查 version ‘GLIBC_2.25‘ not found 报错

其它

  • 深度剖析六大国产CPU

你可能感兴趣的:(网络安全,c语言,c++,网络协议,网络安全,密码学)