杂记
文章平均质量分 55
摩尔の
主要方向C/C++后台开发,目前正在向软件驱动开发转型。
什么都懂一点,又什么都不懂。
展开
-
基于布隆过滤器的跨平台USB存储设备管控方案
U盘作为移动存储设备之一,是我们日常生活中接触最多和最常用的存储介质。正因如此,针对U盘内容的管理也因为使用场景的多样和复杂性,变得难以实现。我们的设计思路是先通过某些手段对U盘进行病毒,并在查杀完成后对U盘进行认证。在后续使用过程检测认证U盘是否被篡改以保证U盘的安全性。原创 2024-02-10 16:13:01 · 877 阅读 · 0 评论 -
Windows设备管理
熟悉Windows系统的都应该使用过设备管理器。设备管理器将操作系统中所有已安装的设备分类展现出来。同时提供了安装、卸载、启用和禁用的功能。那么,我们应该如何通过C++编程的方式实现这种功能呢?答案很简单,那就是使用SetupDi函数族。原创 2023-12-16 22:38:49 · 975 阅读 · 0 评论 -
C++ 获取进程信息
通常对于一个正在执行的进程而言,我们会关注进程的内存/CPU占用,网络连接,启动参数,映像路径,线程,堆栈等信息。windows平台没有直接提供获取进程启动参数的接口,但是可以通过解析进程的PEB(进程环境块)地址,获取信息。:这个文件包含了有关进程状态的各种信息,如进程ID、父进程ID、运行状态、内存使用情况等。:这个文件包含了进程的内存映射信息,显示了进程所使用的内存地址范围及其对应的权限。:这是一个文件夹,包含了进程当前打开的文件描述符列表。:这是每个正在运行的进程都有一个对应的目录,其中。原创 2023-08-28 18:20:59 · 1615 阅读 · 0 评论 -
PE文件解析
PE文件磁盘分布和解析原创 2023-08-10 20:02:48 · 533 阅读 · 0 评论 -
C语言实现简单线程池
生产消费线程池实现原创 2022-08-26 21:53:58 · 603 阅读 · 0 评论 -
C/C++ 基础知识总结
C/C++ 知识总结原创 2022-08-16 13:45:54 · 413 阅读 · 0 评论 -
基于MIME风格的Base64编码
1、Base641.1 简介Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,一种基于64个可打印字符来表示二进制数据的方法。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。原创 2022-05-09 17:09:23 · 1153 阅读 · 0 评论 -
记一次https访问握手失败(sslv3 Alert Handshake Failure)
前言使用C++结合openssl实现https请求时,当访问百度等网站时,可以正常动作。但是某些网站出错,SSL_connect函数返回异常。1.调查过程1、尝试使用curl测试网站是否可以正常访问,结果是正常的。2、下载curl的源码,查看源码中关于openssl关联的代码3、最终定位到这行代码。SSL_set_tlsext_host_name(ssl, hostname);2.原因正常情形下,一个ip对应一个域名(主机名)。但是对于某些拥有超过1个主机名的web服务器,客户端必须告诉原创 2022-04-15 11:58:01 · 6104 阅读 · 0 评论 -
手动删除win10恢复分区
前言由于Window10装机时会自动创建回复分区,当系统盘容量不足需要扩容时,由于恢复分区存在,导致无法扩容。方法1.管理员打开命令提示符,使用diskpart删除恢复分区。C:\WINDOWS\system32>diskpartMicrosoft DiskPart 版本 10.0.19041.964Copyright (C) Microsoft Corporation.在计算机上: DESKTOP-GGSOCOA1.管理员打开命令提示符,使用diskpart删除恢复分区。C:原创 2022-03-28 12:55:31 · 3700 阅读 · 1 评论 -
Oracle 启动
1.启动监听$ lsnrctl start2.启动数据库实例$ sqlplus / as sysdbaSQL> startup3.启动PDB(使用CDB的场合)SQL> startupSQL> alter pluggable database ALL OPEN;4.测试连接SQL> conn system/oracle@orclpdb;原创 2022-03-14 11:09:36 · 572 阅读 · 0 评论 -
openssl 安装
前言由于Window系统没有自带的openssl库,因此当需要使用openssl参与工程编译时,需要自己下载和编译openssl源码。1.编译环境下载Mingw和Msys2TDM-MingwMSYS22.编译下载openssl源码,解压OpenSSL开始菜单打开"MSYS2 MSYS",cd到openssl解压目录cd /c/openssl-3.0.1/openssl-3.0.1编译(静态库和动态库)export PATH=$PATH:/c/TDM-GCC-64/原创 2022-02-10 10:54:57 · 4922 阅读 · 0 评论 -
bashdb 安装
前言正常情况下,使用Shell程序-x参数打印执行日志可以满足一般的测试需求。因此,当需要更精细地调试Shell,可以通过bashdb工具实现。1.下载找到bash版本对应的bashdb源码并下载。$bash -versionGNU bash,版本 4.4.19(1)-release (sparc-sun-solaris2.11)Copyright (C) 2016 Free Software Foundation, Inc.2.编译及安装$cd bashdb-4.x... # <-原创 2021-12-14 15:35:42 · 2218 阅读 · 0 评论 -
java.util.Collections#sort() throws IllegalArgumentException
问题JDK6升级JDK7的情况下,由于java.util.Arrays.sort和java.util.Collections.sort使用的排序算法已被替换(mergesort → timsort)。当TimSort检测到待比较的项目违反约定,则可能抛出IllegalArgumentException。JDK6及以前的版本忽略了这种情况。如果需要以前的行为,可以使用新的系统属性java.util.Arrays.useLegacyMergeSort来恢复以前的mergesort行为。 /**原创 2021-12-09 13:48:22 · 199 阅读 · 0 评论 -
KB2999226安装提示 此更新不适用你的计算机
问题安装Microsoft Visual C++ 2015-2019 Redistributable(x86) 失败。安装日志如下:[07E8:05E8][2021-11-15T18:27:34]i305: Verified acquired payload: vcRuntimeAdditional_x86 at path: C:\ProgramData\Package Cache\.unverified\vcRuntimeAdditional_x86, moving to: C:\ProgramDa原创 2021-11-16 10:47:35 · 8001 阅读 · 0 评论