⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 page.cpp

📁 数据加密算法
💻 CPP
字号:
#include "pch.h"
#include "main.h"
#include "page.h"

BEGIN_MESSAGE_MAP ( CGenericPage , CPropertyPage )
	ON_BN_CLICKED ( IDC_DEBUG_MSG , OnClick ) 
	ON_BN_CLICKED ( IDC_EXTRA_MSG , OnClick ) 
	ON_BN_CLICKED ( IDC_DUMP_FILE , OnClick ) 
	ON_BN_CLICKED ( IDC_NOTIFY , OnClick ) 
	ON_BN_CLICKED ( IDC_DISPLAY , OnClick ) 
	ON_BN_CLICKED ( IDC_DISPLAY_SYNC , OnClick ) 
	ON_EN_CHANGE ( IDC_MAX_DISPLAY , OnClick )
END_MESSAGE_MAP ( )

CGenericPage::CGenericPage ( )
: CPropertyPage ( IDD_PAGE_GENERIC )
{
}

CGenericPage::~CGenericPage ( )
{
}

BOOL CGenericPage::OnInitDialog ( )
{
	CPropertyPage::OnInitDialog ( ) ;

	CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;
	
	m_bRecordDebugMsg = p->m_appOption.m_bRecordDebugMsg ;
	m_bRecordExtraMsg = p->m_appOption.m_bRecordExtraMsg ;

	m_bDumpFile = p->m_appOption.m_bDumpFile ;
	m_bNotify = p->m_appOption.m_bNotify ;
	m_bDisplay = p->m_appOption.m_bDisplay ;
	m_bDisplaySync = p->m_appOption.m_bDisplaySync ;
	m_bViewAll = p->m_appOption.m_bViewAll ;
	m_bUndecorate = p->m_appOption.m_bUndecorate ;
	
	m_dwMaxDisplay = p->m_appOption.m_dwMaxDisplay ;

	UpdateData ( FALSE ) ;

	return TRUE ;
}

void CGenericPage::OnOK ( )
{
	CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;
	
	p->m_appOption.m_bRecordDebugMsg = m_bRecordDebugMsg ;
	p->m_appOption.m_bRecordExtraMsg = m_bRecordExtraMsg ;

	p->m_appOption.m_bDumpFile = m_bDumpFile ;
	p->m_appOption.m_bNotify = m_bNotify ;
	p->m_appOption.m_bDisplay = m_bDisplay ;
	p->m_appOption.m_bDisplaySync = m_bDisplaySync ;
	p->m_appOption.m_bViewAll = m_bViewAll ;
	p->m_appOption.m_bUndecorate = m_bUndecorate ;
	
	p->m_appOption.m_dwMaxDisplay = m_dwMaxDisplay ;

	CPropertyPage::OnOK ( ) ;
}

void CGenericPage::DoDataExchange ( CDataExchange* pDX )
{
	CPropertyPage::DoDataExchange ( pDX ) ;

	DDX_Check ( pDX , IDC_VIEW_ALL , m_bViewAll ) ;
	DDX_Check ( pDX , IDC_UNDECORATE , m_bUndecorate ) ;
	DDX_Check ( pDX , IDC_DEBUG_MSG , m_bRecordDebugMsg ) ;
	DDX_Check ( pDX , IDC_EXTRA_MSG , m_bRecordExtraMsg ) ;
	DDX_Check ( pDX , IDC_DUMP_FILE , m_bDumpFile ) ;
	DDX_Check ( pDX , IDC_NOTIFY , m_bNotify ) ;
	DDX_Check ( pDX , IDC_DISPLAY , m_bDisplay ) ;
	DDX_Check ( pDX , IDC_DISPLAY_SYNC , m_bDisplaySync ) ;

	DDX_Text ( pDX , IDC_MAX_DISPLAY , m_dwMaxDisplay ) ;

	DDV_MinMaxDWord ( pDX , m_dwMaxDisplay , 200 , 20000 ) ;
}

void CGenericPage::OnClick ( )
{
	SetModified ( ) ;
}

BEGIN_MESSAGE_MAP ( CDebugPage , CPropertyPage )
	ON_BN_CLICKED ( IDC_CHECK_DEBUGGER , OnClick )
	ON_BN_CLICKED ( IDC_HOOK_EXPLICIT , OnClick ) 
END_MESSAGE_MAP ( )

CDebugPage::CDebugPage ( )
: CPropertyPage ( IDD_PAGE_DEBUG )
{
} 

CDebugPage::~CDebugPage ( )
{
}

void CDebugPage::DoDataExchange ( CDataExchange* pDX )
{
	CPropertyPage::DoDataExchange ( pDX ) ;

	DDX_Check ( pDX , IDC_CHECK_DEBUGGER , m_bCheckDebugger ) ;
	DDX_Check ( pDX , IDC_HOOK_EXPLICIT , m_bHookExplicit ) ;
	DDX_Check ( pDX , IDC_GET_REGISTER , m_bGetRegister ) ;
}

BOOL CDebugPage::OnInitDialog ( )
{
	CPropertyPage::OnInitDialog ( ) ;

	CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;
	
	m_bCheckDebugger = p->m_appOption.m_bCheckDebugger ;
	m_bHookExplicit = p->m_appOption.m_bHookExplicit ;
	m_bGetRegister = p->m_appOption.m_bGetRegister ;

	UpdateData ( FALSE ) ;

	return TRUE ;
}

void CDebugPage::OnOK ( )
{
	CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;

	p->m_appOption.m_bCheckDebugger = m_bCheckDebugger ;
	p->m_appOption.m_bHookExplicit = m_bHookExplicit ;
	p->m_appOption.m_bGetRegister = m_bGetRegister ;

	CPropertyPage::OnOK ( ) ;
}

void CDebugPage::OnClick ( )
{
	SetModified ( ) ;
}

BEGIN_MESSAGE_MAP ( CExtensionPage , CPropertyPage )
	ON_BN_CLICKED ( IDC_ADD , OnAddClick )
	ON_BN_CLICKED ( IDC_REMOVE , OnRemoveClick )
	ON_BN_CLICKED ( IDC_MOVE_UP , OnMoveUpClick )
	ON_BN_CLICKED ( IDC_MOVE_DOWN , OnMoveDownClick )
	ON_BN_CLICKED ( IDC_ADD2 , OnAddClick2 )
	ON_BN_CLICKED ( IDC_REMOVE2 , OnRemoveClick2 )
	ON_BN_CLICKED ( IDC_MOVE_UP2 , OnMoveUpClick2 )
	ON_BN_CLICKED ( IDC_MOVE_DOWN2 , OnMoveDownClick2 )
END_MESSAGE_MAP ( )

CExtensionPage::CExtensionPage ( )
: CPropertyPage ( IDD_PAGE_EXTENSION )
{
}

CExtensionPage::~CExtensionPage ( )
{
}

void CExtensionPage::DoDataExchange ( CDataExchange* pDX ) 
{
	CPropertyPage::DoDataExchange ( pDX );

	DDX_Control ( pDX , IDC_PROCESSOR_LIST , m_xDecoder ) ;
	DDX_Control ( pDX , IDC_FILE_LIST , m_xTypeFile ) ;
}

BOOL CExtensionPage::OnInitDialog ( )
{
	CPropertyPage::OnInitDialog ( ) ;

	CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;
	AppOption& op = p->m_appOption;
	
	int i , n ;
	
	n = op.m_arDecoder.GetSize ( ) ;
	for ( i = 0 ; i < n ; i++ )
	{
		m_xDecoder.AddString ( op.m_arDecoder [ i ] ) ;
	}
	
	n = op.m_arTypeFile.GetSize ( ) ;
	for ( i = 0 ; i < n ; i++ )
	{
		m_xTypeFile.AddString ( op.m_arTypeFile [ i ] ) ;
	}

	UpdateData ( FALSE ) ;

	return TRUE ;
}

void CExtensionPage::OnAddClick ( )
{
	CString filter ; filter.LoadString ( IDS_FILTER ) ;

	CFileDialog* p = new CFileDialog (
		TRUE ,
		".EXE" ,
		NULL ,
		OFN_HIDEREADONLY | 
		OFN_OVERWRITEPROMPT ,
		filter ) ;

	if ( p->DoModal ( ) == IDOK )
	{
		UpdateData ( ) ;
		
		BOOL f = FALSE ;
		int i , n = m_xDecoder.GetCount ( ) ;
		for ( i = 0 ; i < n ; i++ )
		{
			CString pn ;
			m_xDecoder.GetText ( i , pn ) ;

			if ( pn.CompareNoCase ( p->GetPathName ( ) ) == 0 )
			{
				f = TRUE ;
				break ;
			}
		}
		if ( f == FALSE )
		{
			i = m_xDecoder.AddString ( p->GetPathName ( ) ) ;
		}
		m_xDecoder.SetCurSel ( i ) ;

		UpdateData ( FALSE ) ;
	}
	delete p ;

	SetModified ( ) ;
}

void CExtensionPage::OnRemoveClick ( )
{
	UpdateData ( ) ;

	int i = m_xDecoder.GetCurSel ( ) ;
	if ( i == LB_ERR ) return ;

	m_xDecoder.DeleteString ( i ) ;

	if ( i >= m_xDecoder.GetCount ( ) )
		i = m_xDecoder.GetCount ( ) - 1 ;

	if ( i >= 0 )
		m_xDecoder.SetCurSel ( i ) ;

	UpdateData ( FALSE ) ;

	SetModified ( ) ;
}

void CExtensionPage::OnMoveUpClick ( )
{
	UpdateData ( ) ;

	int i = m_xDecoder.GetCurSel ( ) ;
	if ( i == LB_ERR ) return ;

	if ( i - 1 < 0 )
		return ;

	CString s1 , s2 ;

	m_xDecoder.GetText ( i - 1 , s1 ) ;
	m_xDecoder.GetText ( i , s2 ) ;

	m_xDecoder.DeleteString ( i - 1 ) ;
	m_xDecoder.DeleteString ( i - 1 ) ;

	m_xDecoder.InsertString ( i - 1 , s1 ) ; 
	m_xDecoder.InsertString ( i - 1 , s2 ) ; 

	m_xDecoder.SetCurSel ( i - 1 ) ;

	UpdateData ( FALSE ) ;

	SetModified ( ) ;
}

void CExtensionPage::OnMoveDownClick ( )
{
	UpdateData ( ) ;

	int i = m_xDecoder.GetCurSel ( ) ;
	if ( i == LB_ERR ) return ;

	if ( i + 1 >= m_xDecoder.GetCount ( ) )
		return ;

	CString s1 , s2 ;

	m_xDecoder.GetText ( i , s1 ) ;
	m_xDecoder.GetText ( i + 1 , s2 ) ;

	m_xDecoder.DeleteString ( i ) ;
	m_xDecoder.DeleteString ( i ) ;

	m_xDecoder.InsertString ( i , s1 ) ; 
	m_xDecoder.InsertString ( i , s2 ) ; 

	m_xDecoder.SetCurSel ( i + 1 ) ;

	UpdateData ( FALSE ) ;

	SetModified ( ) ;
}

void CExtensionPage::OnAddClick2 ( )
{
	CString filter ; filter.LoadString ( IDS_FILTER2 ) ;

	CFileDialog* p = new CFileDialog (
		TRUE ,
		".EXE" ,
		NULL ,
		OFN_HIDEREADONLY | 
		OFN_OVERWRITEPROMPT ,
		filter ) ;

	if ( p->DoModal ( ) == IDOK )
	{
		UpdateData ( ) ;
		
		BOOL f = FALSE ;
		int i , n = m_xTypeFile.GetCount ( ) ;
		for ( i = 0 ; i < n ; i++ )
		{
			CString pn ;
			m_xTypeFile.GetText ( i , pn ) ;

			if ( pn.CompareNoCase ( p->GetPathName ( ) ) == 0 )
			{
				f = TRUE ;
				break ;
			}
		}
		if ( f == FALSE )
		{
			i = m_xTypeFile.AddString ( p->GetPathName ( ) ) ;
		}
		m_xTypeFile.SetCurSel ( i ) ;

		UpdateData ( FALSE ) ;
	}
	delete p ;

	SetModified ( ) ;

}

void CExtensionPage::OnRemoveClick2 ( )
{
	UpdateData ( ) ;

	int i = m_xTypeFile.GetCurSel ( ) ;
	if ( i == LB_ERR ) return ;

	m_xTypeFile.DeleteString ( i ) ;

	if ( i >= m_xTypeFile.GetCount ( ) )
		i = m_xTypeFile.GetCount ( ) - 1 ;

	if ( i >= 0 )
		m_xTypeFile.SetCurSel ( i ) ;

	UpdateData ( FALSE ) ;

	SetModified ( ) ;

}

void CExtensionPage::OnMoveUpClick2 ( )
{
	UpdateData ( ) ;

	int i = m_xTypeFile.GetCurSel ( ) ;
	if ( i == LB_ERR ) return ;

	if ( i - 1 < 0 )
		return ;

	CString s1 , s2 ;

	m_xTypeFile.GetText ( i - 1 , s1 ) ;
	m_xTypeFile.GetText ( i , s2 ) ;

	m_xTypeFile.DeleteString ( i - 1 ) ;
	m_xTypeFile.DeleteString ( i - 1 ) ;

	m_xTypeFile.InsertString ( i - 1 , s1 ) ; 
	m_xTypeFile.InsertString ( i - 1 , s2 ) ; 

	m_xTypeFile.SetCurSel ( i - 1 ) ;

	UpdateData ( FALSE ) ;

	SetModified ( ) ;

}

void CExtensionPage::OnMoveDownClick2 ( )
{
	UpdateData ( ) ;

	int i = m_xTypeFile.GetCurSel ( ) ;
	if ( i == LB_ERR ) return ;

	if ( i + 1 >= m_xTypeFile.GetCount ( ) )
		return ;

	CString s1 , s2 ;

	m_xTypeFile.GetText ( i , s1 ) ;
	m_xTypeFile.GetText ( i + 1 , s2 ) ;

	m_xTypeFile.DeleteString ( i ) ;
	m_xTypeFile.DeleteString ( i ) ;

	m_xTypeFile.InsertString ( i , s1 ) ; 
	m_xTypeFile.InsertString ( i , s2 ) ; 

	m_xTypeFile.SetCurSel ( i + 1 ) ;

	UpdateData ( FALSE ) ;

	SetModified ( ) ;

}

void CExtensionPage::OnOK ( )
{
	CMainApp* p = ( CMainApp* ) AfxGetApp ( ) ;
	AppOption& a = p->m_appOption ;
	int i , n ;

	UpdateData ( ) ;

	a.m_arDecoder.RemoveAll ( ) ;
	n = m_xDecoder.GetCount ( ) ;
	for ( i = 0 ; i < n ; i++ )
	{
		CString pn ;
		m_xDecoder.GetText ( i , pn ) ;
		a.m_arDecoder.Add ( pn ) ;
	}

	a.m_arTypeFile.RemoveAll ( ) ;
	n = m_xTypeFile.GetCount ( ) ;
	for ( i = 0 ; i < n ; i++ )
	{
		CString pn ;
		m_xTypeFile.GetText ( i , pn ) ;
		a.m_arTypeFile.Add ( pn ) ;
	}
}

⌨️ 快捷键说明

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