使用GetProcAddressFunction时,有以下几点需要特别留意: 1. 第二个参数类型是LPCSTR,不是; 2. 用__declspec(dllexport),按C名称修饰(extern "C") 导出的函数名,对于__stdcall和__fastcall调用约定是相同的;对__cde... ...
分类:
其他好文 时间:
2016-07-05 12:13:16
阅读次数:
184
__cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 __cde ...
分类:
其他好文 时间:
2016-07-04 17:11:59
阅读次数:
237
1.引用方法 网上有两种加载方式,介绍很多,不再赘述 stdcall调用约定 ctypes.windll.LoadLibrary("dllpath") ctypes.WinDLL("dllpath") cdecl调用约定 ctypes.cdll.LoadLibrary("dllpath") ctyp... ...
分类:
编程语言 时间:
2016-07-01 20:14:50
阅读次数:
270
debug版本 esp 栈顶指针 ebp 存放堆栈指针 空程序:int main(){00411360 push ebp ;压入ebp00411361 mov ebp,esp ;ebp = esp,保留esp,待函数调用完再恢复,因为函数调用中肯定会用到esp.00411363 sub esp,0C ...
分类:
其他好文 时间:
2016-06-25 06:13:03
阅读次数:
231
一、stdcall 1. #define DLLEXPORT _declspec(dllexport) _stdcall, int DLLEXPORT func(const char *peer,unsigned int port); 2. #define DLLIMPORT _declspec(d... ...
分类:
其他好文 时间:
2016-06-17 12:27:58
阅读次数:
172
系统关闭时,会向注册SHUTDOWN事件的设备驱动发送IRP_MJ_SHUTDOWN事件。
NTSTATUS STDCALL
NtShutdownSystem(IN SHUTDOWN_ACTION Action)
{
if (Action > ShutdownPowerOff)
return STATUS_INVALID_PARAMETER;
Status = PsCre...
分类:
其他好文 时间:
2016-05-22 12:33:10
阅读次数:
186
如果看一些很底层的代码(比如很多库的代码,或者内核代码),会经常见到形如 _cdecl , _stdcall (这个在Windows下的代码中很常见), _fastcall (这个比较少见)这一类的东西,到底是什么? 这些其实是用来指示编译器做函数调用的时候,应该如何调用,比如说, a)参数的传递是 ...
分类:
其他好文 时间:
2016-05-15 21:39:20
阅读次数:
217
// Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#include
typedef unsigned (__stdcall*LP_THREAD_FUN)(void*);
class Thread{
public:
Thread(){
m_fun = NULL;
m_param = NUL...
分类:
编程语言 时间:
2016-05-12 17:01:18
阅读次数:
186
;将由text db 10,20,30,40定义的4个数相加,并输出其和。 .386 ;指明指令集 .model flat,stdcall ;平坦模式,函数右边的参数先入栈 option casemap:none ;指明大小写敏感 include \masm32\include\windows.in ...
分类:
其他好文 时间:
2016-05-10 08:31:43
阅读次数:
291