역방향 분석DLL 기본(4)

4911 단어 Binary
DLL 베이스(4) 변수 내보내기
dll 항목, 이름: dllvardllvar.h
//dllvar.h
#include

#ifdef DLLVAR_EXPORTS
#define DLLVAR_API __declspec(dllexport)
#else
#define DLLVAR_API __declspec(dllimport)
#endif

extern DLLVAR_API int nDllvar;

nDllvar 글로벌 내보내기 변수dllvar.cpp
//dllvar.cpp
#include
#include "dllvar.h"

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    switch (ul_reason_for_call)
	{
		case DLL_PROCESS_ATTACH:
			//nDllvar = 100;
			break;
		case DLL_THREAD_ATTACH:
		case DLL_THREAD_DETACH:
		case DLL_PROCESS_DETACH:
			break;
    }
    return TRUE;
}

DLLVAR_API int nDllvar = 10;

win32 console 항목 로드 dll 만들기
dllvar를lib dllvar.dll을 이 항목으로 복사합니다.dllvar_main.cpp
//dllvar_main.cpp
#include 
#pragma comment(lib,"dllvar.lib")
extern int _declspec(dllimport) nDllvar;

int main(int argc, char *argv[])
{
	printf("%d ",nDllvar);
	nDllvar = 2;
	printf("%d ",nDllvar);
	return 0;
}

좋은 웹페이지 즐겨찾기