一个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 (44100, 32, 0);
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();
}
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 (44100, 32, 0);
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();
}
- 一个Crackme的简单Code
- 一个简单的CrackMe分析
- 一个简单的CrackMe分析
- 一个简单的linux crackme的逆向
- 一个简单的linux crackme的逆向
- 简单的crackme
- 一个CrackMe的分析
- 解密一个简单的keyfile保护的CrackMe
- 一个简单的crackme,程序是由.Net编写的
- 某道简单的crackme
- 一个简单CrackMe分析+keyGen编写
- 170608 逆向-CrackMe之018和一个简单的论坛CM
- 一个Crackme的机器码的生成
- 破解的一个crackme,附注册机
- 一个含有crc32算法的CrackMe分析
- 一个简单crackme破解及去除暗桩
- 一个简单crackme破解及注册机编写
- 一个简单的RASTA matlab CODE
- Hibernate的对象关系映射(1)
- 第9課 四川料理は辛いです。
- 关于google adsense 几个敏感问题
- Server.MapPath() 探究
- Virtual Function Access
- 一个Crackme的简单Code
- 我的blog首页
- DBNull代表的是DB(也即SQL)中的“null”,而不是CLR中的“null”
- 最大限度增加Google AdSense 收入
- Google AdSense全面刨析
- 一个Crackme的机器码的生成
- bot-Spider with db
- Google Adwords关键词广告须注意的7个问题
- 探讨SQL Server中Case 的不同用法