1、如何自定义函数:
ExitProcess proto uExitCode:DWORD
上面一行是函数原型。函数原型会告诉编译器和链接器该函数的属性,这样在编译和链接时,编译器和链接器就会作相关的类型检查。 函数的原型定义如下:
FunctionName PROTO [ParameterName]:DataType,[ParameterName]:DataType,...
简言之,就是在函数名后加伪指令PROTO,再跟一串由逗号相隔的数据类型链表。在前面的 ExitProcess 定义中,该函数有一个 DWORD 类型的参数。当您使用高层调用语句 INVOKE 时,使用函数原型定义特别有用,您可以简单地认为 INVOKE 是一个有参数类型检查的调用语句。
2、
typedef int size;
此声明定义了一个 int 的同义字,名字为 size。注意 typedef 并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要 int 的上下文中使用 size
3、
MyNtOpenProcess struct
ProcessHandle dword ?
DesiredAccess dword ?
ObjectAttributes dword ?
ClientId dword ?
MyNtOpenProcess ends
等同于c语言中的
typedef struct MyNtOpenProcess
{int ProcessHandle
int DesiredAccess
int ObjectAttributes
int ClientId
}
MyNtOpenProcess *PWNDCLASS 貌似是这样