shellinit.cpp
来自「此为本书的配套光盘.本书不但由浅入深地讲解了软件保护技术」· C++ 代码 · 共 46 行
CPP
46 行
/********************************************************************
Copyright (c) Beijing Feitian Technologies
http://www.FTSafe.com
File : Shellinit.cpp
Created: 2003/11/04
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);
}
void ShellStartupEntry()
{
shell_init();
WinMain((HINSTANCE)GetModuleHandle(NULL),NULL,GetCommandLine(),0); //调用WinMain
TPFN_OldEntry pfnOldEntry = (TPFN_OldEntry)g_shl_old_entry;
pfnOldEntry(); //调用加壳前程序的入口位置
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?