萌新随笔

萌新随笔

目前对个别涉及堆栈的函数的认识:

创建一个辅助堆栈让程序可以使用:

HeapCreate(地址,不清楚意思,不清楚意思)

设置堆栈(不可改):

HeapAlloc(堆栈名,HEAP_GENERATE_EXCEPTIONS(不清楚意思),堆栈内字节数)

	返回值

 如果成功分配内存,返回值为一个指向所分配内存块的首地址的(void*)指针。

 如果分配内存失败,并且没有指定HEAP_GENERATE_EXCEPTIONS,则返回NULL。

如果指定了HEAP_GENERATE_EXCEPTIONS,则抛出异常,而不返回NULL

做题时遇见的在堆栈里放东西用的`memcpy_s(目标地址,字节数,源地址,复制的字节数)`

Example:

   hHeap = HeapCreate(0x40000u, 0,0);   // 创建堆栈

   lpMem = (CHAR *)HeapAlloc(hHeap, 8u, MaxCount + 1);// 为堆栈赋予空间大小

   memcpy_s(lpMem, MaxCount, &unk_409B10, MaxCount);// 在堆栈里放入数据

IsDebuggerPresent()

该函数可以检查程序是否正在被调试,返回值为程序内BeingDebugged的值

MessageBox 函数用于创建、显示并操作一个消息对话框.

MessageBox(窗口所有者,显示内容,标题字符串,按钮的相关设置)

猜你喜欢

转载自blog.csdn.net/qq_43500877/article/details/89450835