A、分析API函数原理
B、自写API函数
C、SYSENTER指令
D、硬编码_emit
E、模拟FindWindow函数
PUNICODE_STRING
MOV EAX,117A
7C92E510 > 8BD4 MOV EDX,ESP
7C92E512 0F34 SYSENTER
//取得RtlInitUnicodeString地址
typedef (__stdcall *PRtlInitUnicodeString)( PUNICODE_STRING , PCWSTR );
PRtlInitUnicodeString RtlInitUnicodeString;
RtlInitUnicodeString=(PRtlInitUnicodeString)GetProcAddress(GetModuleHandle("ntdll.dll"),"RtlInitUnicodeString");
//初始化PUNICODE_STRING字串结构 方法1
//pname->Buffer= wName ;
//pname->Length=wcslen(pname->Buffer)*2+1 ;
//UnsafeModuleName.MaximumLength=0x0fff;
//初始化PUNICODE_STRING字串结构 方法2
RtlInitUnicodeString(pname,wName);