函数的约定: 对函数调用时如何传递参数的一种约定,我们知道调用函数前需要将参数压入栈然后再传递给函数,栈就是定义在进程中的一段内存,向下扩展,大小记录在PE头中,运行时确定栈的大小 函数执行完毕后,ESP的值如何变化? ESP的值恢复到函数调用之前,这样可引用的栈大小不会缩减 函数: 1 int f ...
分类:
其他好文 时间:
2020-05-19 00:47:36
阅读次数:
60
#include <Windows.h> #include <iostream> using namespace std; HHOOK keyboardHook; LRESULT __stdcall KEYHookCallback(int nCode, WPARAM wParam, LPARAM l ...
在网络编程实验2_(4)基于流式套接字的服务器程序设计中,创建了以下这个函数: DWORD WINAPI ClientThread(LPVOID lpParameter) 以前我只学过类似: int swap(int x,int y) 这样的函数,而这个函数看起来就很诡异,如何理解这个函数呢? DW ...
``` #include typedef LONG NTSTATUS; typedef LONG KPRIORITY; #define STATUS_SUCCESS ((NTSTATUS) 0x00000000) #define NT_SUCCESS(Status) ((NTSTATUS)(Stat... ...
分类:
编程语言 时间:
2020-03-11 22:11:27
阅读次数:
78
被这个关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall 的前面部分由ecx,edx传)。 函数调用在返回前要由被调用者清理堆栈。 扩展: 1、修饰名(Decoration name) “C”或者“C++”函数在内部(编译和链接)通过修饰名识别。 修饰名是编译器在编译函数定义或 ...
分类:
其他好文 时间:
2020-02-05 16:47:01
阅读次数:
67
Mysterious BUUCTF-2019 int __stdcall sub_401090(HWND hWnd, int a2, int a3, int a4) { char v5; // [esp+50h] [ebp-310h] CHAR Text[4]; // [esp+154h] [ebp ...
分类:
其他好文 时间:
2020-01-23 15:30:54
阅读次数:
332
//服务器端unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Fo ...
分类:
Web程序 时间:
2020-01-07 16:06:24
阅读次数:
105
简介: 在一般情况下,创建一个线程是不能提高程序的执行效率的,所以要创建多个线程。但是多个线程同时运行的时候可能调用线程函数,在多个线程同时对同一个内存地址进行写入, 由于CPU时间调度上的问题,写入数据会被多次的覆盖,所以就要使线程同步。 同步就是协同步调,按预定的先后次序进行运行。如:你说完,我 ...
分类:
编程语言 时间:
2019-12-24 20:50:01
阅读次数:
76
引用单元:uses ShellAPI; 函数原型:function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; hWnd:用 ...
在介绍Dll之前先了解下常见三种函数调用约定。 参考:https://www.cnblogs.com/yejianyong/p/7506465.html 我们使用的VS默认使用的函数调用约定是__cdel,而Windows API默认的调用约定是__stdcall。我们在使用一个dll的接口时,一定 ...
分类:
编程语言 时间:
2019-11-05 01:05:09
阅读次数:
124