jiemishuoDlg.cpp
上传用户:qzzxgm
上传日期:2009-12-14
资源大小:1882k
文件大小:4k
- // jiemishuoDlg.cpp : implementation file
- //
- #include "stdafx.h"
- #include "jiemishuo.h"
- #include "jiemishuoDlg.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CJiemishuoDlg dialog
- CJiemishuoDlg::CJiemishuoDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CJiemishuoDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CJiemishuoDlg)
- m_jms = 0;
- m_gkh = 0;
- //}}AFX_DATA_INIT
- // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
- m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- }
- void CJiemishuoDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CJiemishuoDlg)
- DDX_Text(pDX, IDC_JMS, m_jms);
- DDX_Text(pDX, IDC_GKH, m_gkh);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CJiemishuoDlg, CDialog)
- //{{AFX_MSG_MAP(CJiemishuoDlg)
- ON_WM_PAINT()
- ON_WM_QUERYDRAGICON()
- ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
- ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
- ON_BN_CLICKED(IDC_BUTTON3, OnAdd)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CJiemishuoDlg message handlers
- BOOL CJiemishuoDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // Set the icon for this dialog. The framework does this automatically
- // when the application's main window is not a dialog
- SetIcon(m_hIcon, TRUE); // Set big icon
- SetIcon(m_hIcon, FALSE); // Set small icon
-
- // TODO: Add extra initialization here
- //获得c盘序列号
- DWORD VolumeSerialNumber;
- GetVolumeInformation("c:\",NULL,12,&VolumeSerialNumber,NULL,NULL,NULL,10);
- VolumeSerialNumber^=0x12345678;//本机c盘序列号简单运算
- m_gkh=VolumeSerialNumber;
- UpdateData(0);
- return TRUE;
- }
- // If you add a minimize button to your dialog, you will need the code below
- // to draw the icon. For MFC applications using the document/view model,
- // this is automatically done for you by the framework.
- void CJiemishuoDlg::OnPaint()
- {
- if (IsIconic())
- {
- CPaintDC dc(this); // device context for painting
- SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
- // Center icon in client rectangle
- int cxIcon = GetSystemMetrics(SM_CXICON);
- int cyIcon = GetSystemMetrics(SM_CYICON);
- CRect rect;
- GetClientRect(&rect);
- int x = (rect.Width() - cxIcon + 1) / 2;
- int y = (rect.Height() - cyIcon + 1) / 2;
- // Draw the icon
- dc.DrawIcon(x, y, m_hIcon);
- }
- else
- {
- CDialog::OnPaint();
- }
- }
- // The system calls this to obtain the cursor to display while the user drags
- // the minimized window.
- HCURSOR CJiemishuoDlg::OnQueryDragIcon()
- {
- return (HCURSOR) m_hIcon;
- }
- void CJiemishuoDlg::OnButton1()
- {
- DWORD num;
- UpdateData(1);
- num=m_jms;
- num^=0x1999aa98;
- if(num==m_gkh)
- MessageBox("ok"); //提示解密正确
- CFile ff;
- if(!ff.Open("play.exe",CFile::modeWrite))
- return;
- CString str;
- str.Format("%10d",m_jms);
- MessageBox(str);
- ff.Seek(-10,CFile::end);
- ff.Write(str,10);//添加到play.exe尾部
- ff.Close();
- }
- void CJiemishuoDlg::OnButton2()
- {
- //功能:得到解密匙.
- UpdateData(1);
- long aa=m_gkh^0x1999aa98;
- m_jms=aa;
- UpdateData(0);
- }
- void CJiemishuoDlg::OnAdd()
- {
- DWORD num;
- UpdateData(1);
- num=m_jms;
- num^=0x1999aa98;
- if(num==m_gkh)
- MessageBox("ok"); //提示解密匙正确
- CFile ff;
- if(!ff.Open("play.exe",CFile::modeWrite))
- return;
- CString str;
- str.Format("%10d",m_jms);
- MessageBox(str);
- ff.SeekToEnd();
- ff.Write(str,10);//改写解密匙
- ff.Close();
- }