shellinit.cpp

来自「此为本书的配套光盘.本书不但由浅入深地讲解了软件保护技术」· C++ 代码 · 共 49 行

CPP
49
字号
/********************************************************************

	Copyright (c) Beijing Feitian Technologies
	http://www.FTSafe.com

	File :		Shellinit.cpp	

	Created:	2003/11/05

	Author:		yihai
	
	Purpose:	?

	Revision:	?

*********************************************************************/
// shellinit.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include <windows.h>

extern "C"
{

DWORD	g_shl_old_entry =0;				//加壳前程序的入口点
PDWORD	g_shl_p_old_IAT_addr = 0;		//加壳前序引入函数表起始位置
DWORD	g_shl_old_IAT_size = 0;			//加壳前序引入函数表字节数
PDWORD	g_shl_p_new_IAT_addr = 0;		//加壳后与原来引入函数表对应的新地址
PDWORD	g_shl_p_ref_IAT_addr=0;

typedef void (*TPFN_OldEntry)();

void shell_init()						//恢复加壳前程序的引入函数表
{
	memcpy(g_shl_p_old_IAT_addr,g_shl_p_new_IAT_addr,g_shl_old_IAT_size);
}

extern "C" void EnterInternalShell();

void ShellStartupEntry()
{
	MessageBox(0,"shell outside",0,0);
	shell_init();

	EnterInternalShell();	
}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?