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

📄 main.cpp

📁 这是我写的第一个CreckMe的注册机,很简单的,用以练习OLLYDBG反汇编调试器的使用.
💻 CPP
字号:
#include <windows.h>
#include "Resource.h"

BOOL CALLBACK DialogProc(
  HWND hwndDlg,  // handle to dialog box
  UINT uMsg,     // message
  WPARAM wParam, // first message parameter
  LPARAM lParam  // second message parameter
);

void KeyGen(char* Name,char* Key,int NameNum)
{
	int i;
	int lx=0,lu=0,temp;
	for(i=0; i<NameNum; i++)
	{
		temp=(int)Name[i];
		if(temp == 0x20)//空格
		{
			continue;
		}
		lu += temp*4;
	}
	lx=0x654789;
	for(;i>0;i--)
	{
		lx = lx*3-4;
	}
	wsprintf(Key,"BS-%lX-%lu",lx,lu);
}


int WINAPI WinMain(
  HINSTANCE hInstance,  // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,      // pointer to command line
  int nCmdShow          // show state of window
)
{
	return DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG),NULL,DialogProc);
}

BOOL CALLBACK DialogProc(
  HWND hwndDlg,  // handle to dialog box
  UINT uMsg,     // message
  WPARAM wParam, // first message parameter
  LPARAM lParam  // second message parameter
)
{
	static RECT rcDesktopWnd,rcDlg;
	static char Name[20];
	static char Key[40];
	static int NameNum;
	switch(uMsg)
	{
	case WM_INITDIALOG:
		GetWindowRect(GetDesktopWindow(),&rcDesktopWnd);
		GetWindowRect(hwndDlg,&rcDlg);
		rcDlg.left = (rcDesktopWnd.right-rcDlg.right)/2;
		rcDlg.top = (rcDesktopWnd.bottom-rcDlg.bottom)/2;
		MoveWindow(hwndDlg,rcDlg.left,rcDlg.top,rcDlg.right,rcDlg.bottom,FALSE);
		break;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDC_BUTTON:
			NameNum = GetDlgItemText(hwndDlg,IDC_EDIT_NAME,Name,sizeof(Name));
			if(NameNum<4)
			{
				MessageBox(hwndDlg,"用户名不能少于4个字符!","提醒",MB_OK);
			}
			else
			{
				KeyGen(Name,Key,NameNum);
			}
			SetDlgItemText(hwndDlg,IDC_EDIT_KEY,Key);
			break;
		}
		return TRUE;
	case WM_CLOSE:
		return EndDialog(hwndDlg,0);
	}
	return FALSE;
}

⌨️ 快捷键说明

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