c++
虚构之人
夫学须静也,才须学也,非学无以广才,非志无以成学。
展开
-
C++实现XOR加解器
【代码】C++实现XOR加解器。原创 2024-03-01 11:08:40 · 197 阅读 · 0 评论 -
WINHTTP忽略HTTPS证书
【代码】WINHTTP忽略HTTPS证书。原创 2024-02-01 18:09:25 · 698 阅读 · 1 评论 -
C++发起Https请求
相信很多朋友使用C++ WINAPI开发的时候网络模块的时候遇到Https忽悠证书无效的情况下,仍然希望获取结果下列代码便是忽略异常的Https CA证书。原创 2024-01-29 15:05:20 · 1018 阅读 · 1 评论 -
Windows API压缩与解压
Windows API压缩与解压。原创 2023-12-29 15:20:47 · 505 阅读 · 0 评论 -
C++ 实现HTTPS CDN
#include <cstdio>#include <cstdlib>#include <iostream>#include <fstream>#include "Windows.h"#include "wininet.h"using namespace std;//链接需要 wininet.lib#pragma comment(lib,"wininet.lib")int main(int argc, char* argv[]) { HI原创 2021-11-25 17:18:15 · 3483 阅读 · 0 评论 -
GB2312、GBK、GB18030的区别
GB 2312GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集GB 2312 标准共收录 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的 682 个字符。GBKGBK 即汉字内码扩展规范,K 为汉语拼音 Kuo Zhan(扩展)中“扩”字的声母。英文全称 Chinese Internal Code Specification。GBK 共收入 21886 个汉字和图形符号,包括原创 2021-07-05 15:03:55 · 1037 阅读 · 0 评论 -
ShellCode原理以及编写
0x0 ShellCode编写注意事原理1)不能使用字符串的直接偏移即使你在C/C++代码中定义一个全局变量,一个取值为“Hello world”的字符串,或直接把该字符串作为参数传递给某个函数。但是,编译器会把字符串放置在一个特定的Section中(如.rdata或.data)。2)不能确定函数的地址(如printf)在shellcode中,我们却不能以逸待劳了。因为我们无法确定包含所需函数的DLL文件是否已经加载到内存。受ASLR(地址空间布局随机化)机制的影响,系统不会每次都把DLL文件加载原创 2021-07-02 11:06:52 · 2760 阅读 · 0 评论 -
ASM内存花指令
//随便写的混淆指令用于被探测到调试后执行迷惑调试人员,很多实现效率很差欢迎大家留言改正。_declspec(naked)void jmpFunction(DWORD Memory) { __asm { mov ebp,esp push ebp jmp dword ptr ss:[ebp+0x4] pop ebp retn }}_declspec(naked)void memoryCopy(void *SourceMemory,void *TargeMemory) { __a原创 2021-02-05 22:49:57 · 291 阅读 · 0 评论 -
反调试/反汇编技术、TEB/PEB部分说明
反调试技术WindowsAPIISDebuggerPresent查询PEB进程环境块中的ISDebugged标志CheckRemoteDebuggerPresent类似于IsDebuggerPresent函数,但是也可以检查其他进程NtQueryInfomationProcess提取一个给定进程的信息,第一个参数是进程句柄,第二个参数告诉我们它需要提取的进程信息类型,参数设置为ProcessDebugPort将会告诉你这个句柄标识的进程是否被调试手动检查数据结构(1)检查BeingDebu原创 2021-02-05 16:29:14 · 1416 阅读 · 0 评论 -
Windows内核面试题(持续更新,目前完成度30%约1.8万字)
WINDOWS内核编程问题与答案1.WDK和SDK的区别是什么2.WDK全称叫做3.如何创建WDK程序4.WinDbg如何连接虚拟机5.Windows内核符号表的作用6.如何设置内核符号表与源文件7.如何设置断点与源码调试8.什么时候共享内核空间9.内核模块与驱动程序的区别是什么10.内核模块运行在什么空间11.PsGetCurrentProcessId函数的作用是什么12.System进程的作用是什么13.x64和x86操作系统的用户空间和内核空间的范围分别是多少14.WDK基原创 2020-11-03 17:08:05 · 2170 阅读 · 0 评论 -
C++SOCKET面试题附答案
1.Winsock(套接字)接口主要有几种类型:2.TCP/IP数据使用了大端模式还是小端模式:3.请写出从主机字节转顺序转换为网络字节顺序的API:4.请写出从网络字节顺序转换到主机字节顺序的API:5.请写出inet_ntoa和inet_addr函数的作用是什么:6.请写出sockaddr_in结构属性的含义:7.请写出in_addr结构的属性含义:8.请写出WSAStartup()函数的作用与参数含义:9.WSACleanup()函数的作用是什么10.socket()函数的作用是什么原创 2020-10-26 12:40:06 · 2851 阅读 · 1 评论 -
简单的字符串加密(异或加密)
/** 描述:XorEncrypt* 作者:nullptr* 版本:1.0* 创建时间:2020/10/5 星期一 9:48:23*/#include<iostream>#include<string>#include<Windows.h>using namespace std;CONST BYTE defaultKey = 0x66;string defaultString = "你好啊,哈哈哈";void StringXorEncrypt(st原创 2020-10-05 10:01:30 · 766 阅读 · 0 评论 -
使用汇编实现判断字符串是否相等
#include#include<Windows.h>char i1[] = {“123456789”};char i2[] = {“123456789”};static _declspec(naked) int repzcmpsb(char i1[],char i2[],int size) {__asm {pushadmov ebp,espmov esi, dword ptr ds : [ebp + 0x24]mov edi, dword ptr ds : [ebp + 0x原创 2020-09-05 19:25:21 · 1582 阅读 · 2 评论 -
自己整理的关于windows图形界面的问题
1.GUI应用程序的入口函数是什么:2.FindWindow()函数的作用是什么:3.SendMessage()函数的作用是什么:4.消息处理函数的作用是什么:5.GetMessage()函数的作用是什么6.DispatchMessage()函数和TranslateMessage()函数的作用是什么:7.注册窗口类的函数是什么使用了什么结构8.WNDCLASSEX注册窗口函数需要的结构主要的作用是什么:9.创建窗口的函数是什么:10.桌面显示窗口函数和更新窗口的函数是什么:11.DefW原创 2020-09-24 11:16:02 · 1606 阅读 · 0 评论 -
Windows线程面试题附带答案(自己整理)
联系QQ:10242754401.创建进程的函数是什么:2.创建线程的函数是什么:3.如何让被创建线程挂起状态:4.如何让创建的线程立刻运行:5.线程上下文作用是什么:6.如何打开一个现有的线程对象:7.请写出返回当前进程句柄的函数:8.请写出返回当前线程句柄的函数:9.Usage Count的作用是什么:10.等待线程结束函数:11.唤醒挂起线程的函数:12.Suspend Count暂停次数有什么作用:13.如何挂起一个线程:14.上下文转换的作用是什么:15.GetExi原创 2020-09-23 10:42:11 · 545 阅读 · 0 评论 -
线程局部存储(TLS)实现例子
#include<iostream>#include<Windows.h>#include<map>using namespace std;DWORD g_tls = 0x0;HANDLE handle[10];map<int*,unsigned int>mapTls;DWORD WINAPI TlsFunction(LPVOID lpdata) { DWORD dwStart = GetTickCount();//获取当前时间 TlsSet原创 2020-09-21 17:58:37 · 179 阅读 · 0 评论 -
Windows事件内核使用(自动重置)例子
//事件内核对象例子(自动重置)#include<iostream>#include<Windows.h>using namespace std;unsigned int uInt=NULL;unsigned int uIntTwo = NULL;bool EventBool = true;DWORD WINAPI EventFunction(LPVOID lpData) { HANDLE handle=OpenEvent(EVENT_ALL_ACCESS,FALSE原创 2020-09-21 15:11:21 · 206 阅读 · 0 评论 -
c++常见问题
自己整理c++问题,都是我自己提出来然后自己找的答案其中也有我自己的理解如果有错误请联系QQ:10242754401.请写出1个预处理器编译指令:2.预处理编译指令是以什么字符开头3.Int main(int argc char*argv[])argc和argv[]分别代表什么意思4.main程序运行成功和出现错误分别返回什么值5.名称空间限定符的作用是什么6.Using namespace声明的作用是什么7.unsigned的作用是什么8.typedef作用是什么9.Const、Cons原创 2020-09-19 19:32:03 · 401 阅读 · 0 评论