一个Crackme的简单Code

    技术2022-05-11  81

     

    不做任何变换,md5(Username)  ==  RegcodeBOOL 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();}

    最新回复(0)