//定位Kernel32 __declspec(naked) int GetKernel32Base() { __asm { XOR ECX, ECX ; ECX = 0 MOV ESI, FS:[ECX + 0x30] ; ESI = &(PEB) ([FS:0x30]) MOV ESI, [ESI + 0x0C] ; ESI = PEB->Ldr MOV ESI, [ESI + 0x1C] ; ESI = PEB->Ldr.InInitOrder next_module: MOV EAX, [ESI + 0x08] ; EBP = InInitOrder[X].base_address MOV EDI, [ESI + 0x20] ; EBP = InInitOrder[X].module_name (unicode) MOV ESI, [ESI] ; ESI = InInitOrder[X].flink (next module) CMP [EDI + 12*2], CL ; modulename[12] == 0 ? JNE next_module ; No: try next module. ret } } 以上代码兼容windows任何版本 包括windows7 api搜索 常见的api搜索方法有 1:暴力搜索 2:通过函数名称的哈希值来搜索 由于在写本程序的时候没有想到那么麻烦,也没有在网上找参考代码<