一个Crackme的简单Code

来源:互联网 发布:word文档软件 编辑:程序博客网 时间:2024/05/16 12:15

 

不做任何变换,md5(Username) == Regcode

BOOL CCrackWindow::OnInitDialog()
{
 CDialog::OnInitDialog();

 
// 将“关于...”菜单项添加到系统菜单中。

 
// IDM_ABOUTBOX 必须在系统命令范围内。
 ASSERT((IDM_ABOUTBOX & 0xFFF0== IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX 
< 0xF000);

 CMenu
* pSysMenu = GetSystemMenu(FALSE);
 
if (pSysMenu != NULL)
 
{
  CString strAboutMenu;
  strAboutMenu.LoadString(IDS_ABOUTBOX);
  
if (!strAboutMenu.IsEmpty())
  
{
   pSysMenu
->DeleteMenu(0,MF_BYPOSITION);
   pSysMenu
->DeleteMenu(1,MF_BYPOSITION);
   pSysMenu
->DeleteMenu(2,MF_BYPOSITION);
   pSysMenu
->AppendMenu(MF_SEPARATOR);
   pSysMenu
->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }

 }


 
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
 
//  执行此操作
 SetIcon(m_hIcon, TRUE);   // 设置大图标
 SetIcon(m_hIcon, FALSE);  // 设置小图标

 
// TODO: 在此添加额外的初始化代码

 FSOUND_Init (
44100320);

 HINSTANCE hInst;
 HRSRC hSrc;
 HGLOBAL hRes;
 hInst 
= AfxGetInstanceHandle();
 hSrc 
= FindResource(hInst,MAKEINTRESOURCE(IDR_IDR_OGG1),"IDR_OGG");
 hRes 
= LoadResource(hInst,hSrc);
 
char *logo = (char *)LockResource(hRes);
    DWORD dFileLength 
= SizeofResource(hInst, hSrc);  

 handle
=FSOUND_Stream_Open(logo,FSOUND_LOOP_NORMAL|FSOUND_LOADMEMORY, 0, dFileLength);

 
//详细参见http://news.newhua.com/html/vc/2006-3/6/063611375235000_27.shtml
 hMutex = NULL;
 
char strAppName[MAX_PATH] = {0xD6,0xF7,0xB3,0xCC,0xD0,0xF2};
 
char m_ErrContent[MAX_PATH] = {0xB3,0xCC,0xD0,0xF2,0xD2,0xD1,0xD4,0xCB,0xD0,0xD0,0xA3,0xA1};
 
 hMutex 
= ::CreateMutex(NULL, FALSE, strAppName);//创建互斥对象
 if (hMutex != NULL)
 
{
  bAnimRun 
= TRUE;
  
if (GetLastError() == ERROR_ALREADY_EXISTS)
  
{
   bAnimRun 
= FALSE;
   AfxMessageBox(m_ErrContent,MB_ICONERROR);
   ::CloseHandle(hMutex);
//关闭互斥对象
   OnCancel();
  }

  
else
  
{
   
if(bAnimRun)
   
{      
    
if(IsInDebugger())
    
{
     ExitProcess(
0);
    }

    
//程序运行
    CenterWindow();//设置中心
    SetForegroundWindow();//设置为Top
    AnimateWindow(500,AW_SLIDE|AW_HOR_NEGATIVE|AW_ACTIVATE);
    FSOUND_Stream_Play (
0,handle);
   }

   
  }

 }

 
else
 
{
  
//创建互斥对象失败
 }


 
return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}


 

void CCrackWindow::OnBnClickedOk()
{
 
// TODO: 在此添加控件通知处理程序代码

 
char buffer[MAX_PATH];
 unsigned 
char md[16];
 unsigned 
char rc[16];
 
char m_Caption[MAX_PATH] = {0xB9,0xA7,0xCF,0xB2};
 
char m_Content[MAX_PATH] = {0xD7,0xA2,0xB2,0xE1,0xB3,0xC9,0xB9,0xA6};
 
 m_UserName.GetWindowText(buffer,MAX_PATH);
 MD5_CTX md5;
 md5.MD5Update((unsigned 
char *)buffer,(unsigned int)strlen(buffer));
 md5.MD5Final(md);

 m_RegCode.GetWindowText(buffer,MAX_PATH);
 
 
if(VerifyBuffer(buffer))
 
{
  ConvertByteString(buffer,rc);

  
if(memcmp(md,rc,16)==0)
  
{
   MessageBox(m_Content,m_Caption,MB_OK);
   
return ;
  }

 }

 
//OnOk();
}

原创粉丝点击