// CH91PayloadSoftware.cpp : <20> <> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA>
//
# include "stdafx.h"
# include "CH91PayloadSoftware.h"
# include "CH91PayloadSoftwareDlg.h"
# include "cDESUtils.h"
# include "cPhysicsInfoUtils.h"
# include "cMD5Encode.h"
# ifdef _DEBUG
# define new DEBUG_NEW
# endif
// CCH91PayloadSoftwareApp
BEGIN_MESSAGE_MAP ( CCH91PayloadSoftwareApp , CWinApp )
//ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP ( )
// CCH91PayloadSoftwareApp <20> <> <EFBFBD> <EFBFBD>
CCH91PayloadSoftwareApp : : CCH91PayloadSoftwareApp ( )
{
// ֧<> <D6A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART ;
// TODO: <20> ڴ˴ <DAB4> <CBB4> <EFBFBD> <EFBFBD> ӹ<EFBFBD> <D3B9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 룬
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> ij<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> InitInstance <20> <>
}
// Ψһ <CEA8> <D2BB> һ <EFBFBD> <D2BB> CCH91PayloadSoftwareApp <20> <> <EFBFBD> <EFBFBD>
CCH91PayloadSoftwareApp theApp ;
// CCH91PayloadSoftwareApp <20> <> ʼ <EFBFBD> <CABC>
BOOL CCH91PayloadSoftwareApp : : InitInstance ( )
{
/************************************************************************/
/* DES<45> ӽ<EFBFBD> <D3BD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> */
/************************************************************************/
cPhysicsInfoUtils m_physicsInfoUtils ;
string strSerialNum ; //Ӳ<> <D3B2> <EFBFBD> <EFBFBD> <EFBFBD> к<EFBFBD>
string strMAC ; //<2F> <> <EFBFBD> <EFBFBD> MAC<41> <43> ַ
string strCPUId ; //CPU<50> <55> <EFBFBD> к<EFBFBD>
m_physicsInfoUtils . GetHardDiskSerial ( strSerialNum ) ; //<2F> <> ȡӲ<C8A1> <D3B2> <EFBFBD> <EFBFBD> <EFBFBD> к<EFBFBD>
m_physicsInfoUtils . GetMAC ( strMAC ) ; //<2F> <> ȡMAC<41> <43> ַ
m_physicsInfoUtils . GetCPU_iD ( strCPUId ) ; //<2F> <> ȡCPU<50> <55> <EFBFBD> к<EFBFBD>
cDESUtils m_desUtils ;
string str1 = strSerialNum + strMAC + strCPUId ;
Md5Encode m_Md5Encoder ;
str1 = m_Md5Encoder . Encode ( str1 ) ;
//str1 = "A1335FA36BDA99F1E5D53DD08FDF7898";
string str2 = " FEIPENGZHIKONG2021. " ; //<2F> <> Կ
str1 = m_desUtils . H ( str1 ) ; //ʮ<> <CAAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
str2 = m_desUtils . H ( str2 ) ; //ʮ<> <CAAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
m_desUtils . generateKeys ( str2 ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Կ
string str3 = m_desUtils . encrypt ( str1 ) ; //<2F> <> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD>
str3 = m_desUtils . G ( str3 ) ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> Ϊʮ<CEAA> <CAAE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
CString strSoftwareCode = str3 . c_str ( ) ;
CString m_strRegisterPath = GetSoftwareCurrentDirectory ( ) + _T ( " \\ Register.txt " ) ; //ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD>
if ( PathFileExists ( m_strRegisterPath ) ) //ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD>
{
CStdioFile fileRegister ;
fileRegister . Open ( m_strRegisterPath , CFile : : modeRead ) ;
CString strRegisterCode ;
fileRegister . ReadString ( strRegisterCode ) ;
fileRegister . Close ( ) ;
if ( ! ( strRegisterCode = = strSoftwareCode ) )
{
MessageBox ( NULL , " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϵ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ע<EFBFBD> <EFBFBD> !" , " <EFBFBD> <EFBFBD> ʾ " , MB_OK ) ;
return FALSE ;
}
} else //ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
MessageBox ( NULL , " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϵ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ע<EFBFBD> <EFBFBD> !" , " <EFBFBD> <EFBFBD> ʾ " , MB_OK ) ;
return FALSE ;
}
// <20> ڳ<EFBFBD> ʼ <EFBFBD> Ի<EFBFBD> <D4BB> <EFBFBD> ֮ǰ<D6AE> <C7B0> <EFBFBD> <EFBFBD> <EFBFBD> ߳<EFBFBD> <DFB3> <EFBFBD> <EFBFBD> <EFBFBD>
// // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ߳<EFBFBD> <DFB3> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> ġ<EFBFBD>
// SetThreadLocale(MAKELCID(MAKELANGID(
// LANG_CHINESE,
// SUBLANG_CHINESE_SIMPLIFIED),
// SORT_DEFAULT));
// <20> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Windows XP <20> ϵ<EFBFBD> Ӧ<EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> <EFBFBD> 嵥ָ<E5B5A5> <D6B8> Ҫ
// ʹ <> <CAB9> ComCtl32.dll <20> 汾 6 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ߰汾<DFB0> <E6B1BE> <EFBFBD> <EFBFBD> <EFBFBD> ÿ<EFBFBD> <C3BF> ӻ<EFBFBD> <D3BB> <EFBFBD> ʽ <EFBFBD> <CABD>
//<2F> <> <EFBFBD> <EFBFBD> Ҫ InitCommonControlsEx()<29> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <F2A3ACBD> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڡ<EFBFBD>
INITCOMMONCONTROLSEX InitCtrls ;
InitCtrls . dwSize = sizeof ( InitCtrls ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <D2AA> Ӧ<EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> õ<EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ؼ<EFBFBD> <D8BC> ࡣ
InitCtrls . dwICC = ICC_WIN95_CLASSES ;
InitCommonControlsEx ( & InitCtrls ) ;
CWinApp : : InitInstance ( ) ;
AfxEnableControlContainer ( ) ;
// <20> <> <EFBFBD> <EFBFBD> shell <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Է<EFBFBD> <D4B7> Ի<EFBFBD> <D4BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> κ<EFBFBD> shell <20> <> <EFBFBD> <EFBFBD> ͼ<EFBFBD> ؼ<EFBFBD> <D8BC> <EFBFBD> shell <20> б <EFBFBD> <D0B1> <EFBFBD> ͼ<EFBFBD> ؼ<EFBFBD> <D8BC> <EFBFBD>
CShellManager * pShellManager = new CShellManager ;
// <20> <> <EFBFBD> <D7BC> ʼ <EFBFBD> <CABC>
// <20> <> <EFBFBD> <EFBFBD> δʹ <CEB4> <CAB9> <EFBFBD> <EFBFBD> Щ<EFBFBD> <D0A9> <EFBFBD> ܲ<EFBFBD> ϣ<EFBFBD> <CFA3> <EFBFBD> <EFBFBD> С
// <20> <> <EFBFBD> տ<EFBFBD> ִ<EFBFBD> <D6B4> <EFBFBD> ļ<EFBFBD> <C4BC> Ĵ<EFBFBD> С <EFBFBD> <D0A1> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> Ƴ<EFBFBD> <C6B3> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> ض<EFBFBD> <D8B6> <EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ洢<DAB4> <E6B4A2> <EFBFBD> õ<EFBFBD> ע<EFBFBD> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// TODO: Ӧ<> ʵ<EFBFBD> <CAB5> ĸ<DEB8> <C4B8> ַ<EFBFBD> <D6B7> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> ˾<EFBFBD> <CBBE> <EFBFBD> <EFBFBD> ֯<EFBFBD> <D6AF>
SetRegistryKey ( _T ( " Ӧ<EFBFBD> ó<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɵı <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ó<EFBFBD> <EFBFBD> <EFBFBD> " ) ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ߳<EFBFBD> <DFB3> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> Ӣ<EFBFBD> ġ<EFBFBD>
SetThreadLocale ( MAKELANGID ( LANG_ENGLISH , SUBLANG_ENGLISH_US ) ) ;
CCH91PayloadSoftwareDlg dlg ;
m_pMainWnd = & dlg ;
INT_PTR nResponse = dlg . DoModal ( ) ;
if ( nResponse = = IDOK )
{
// TODO: <20> ڴ˷<DAB4> <CBB7> ô<EFBFBD> <C3B4> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1>
// <20> <> ȷ<EFBFBD> <C8B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> رնԻ<D5B6> <D4BB> <EFBFBD> <EFBFBD> Ĵ<EFBFBD> <C4B4> <EFBFBD>
}
else if ( nResponse = = IDCANCEL )
{
// TODO: <20> ڴ˷<DAB4> <CBB7> ô<EFBFBD> <C3B4> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1>
// <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> رնԻ<D5B6> <D4BB> <EFBFBD> <EFBFBD> Ĵ<EFBFBD> <C4B4> <EFBFBD>
}
// ɾ<> <C9BE> <EFBFBD> <EFBFBD> <EFBFBD> 洴<EFBFBD> <E6B4B4> <EFBFBD> <EFBFBD> shell <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( pShellManager ! = NULL )
{
delete pShellManager ;
}
// <20> <> <EFBFBD> ڶԻ<DAB6> <D4BB> <EFBFBD> <EFBFBD> ѹرգ <D8B1> <D5A3> <EFBFBD> <EFBFBD> Խ<EFBFBD> <D4BD> <EFBFBD> <EFBFBD> <EFBFBD> FALSE <20> Ա<EFBFBD> <D4B1> ˳<EFBFBD> Ӧ<EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϣ<EFBFBD> á<EFBFBD>
return FALSE ;
}