标 题:Crack之亲历手迹4--一个许久以前的心愿-FileSplit2X的注册码生成器 (1千字)
发信人:y97523 [ 发短消息]
时 间:2002-03-09 20:00:01
阅读次数:160
详细信息:
发信人:y97523 [ 发短消息]
时 间:2002-03-09 20:00:01
阅读次数:160
详细信息:
Crack之亲历手迹4--一个许久以前的心愿-FileSplit2X的注册码生成器
//-------------------------------------------------
目标程序:FSplit.EXE:2.21 (Build 356)
可以分割文件,主EXE可以绿色运行
Visual C++5.0编写,未加壳
破解目标:找到注册码,最好做出注册机
//--------------------------------------------------
注册机代码:
void CFilesplit2XDlg::OnChangeName()
{
int D1=1,D2=2;
int D3;
UpdateData(TRUE);
if(m_Name!="")
{
LPCTSTR temp=m_Name.GetBuffer(m_Name.GetLength());
D3=GetmyCode(temp,D1,D2);
m_Name.ReleaseBuffer();
m_Code.Format("%d-%d-%d",D1,D2,D3);
}else
m_Code="";
UpdateData(FALSE);
}
密码算法:
int CFilesplit2XDlg::GetmyCode(LPCTSTR Name, int D1, int D2)
{
__asm
{
mov edi,Name
mov ecx, D1
xor edx, edx
lea eax, [ecx+0xFAC]
mov cl, [edi+0]
mov esi, D2
loc_40687D:
mov ebx, eax
and ebx, 0x4000
cmp bx, 0x4000
jz loc_406890
add eax, eax
jmp loc_406899
loc_406890:
and eax, 0x3FFF
shl eax, 1
or al, 1
loc_406899:
movsx cx, cl
xor eax, esi
xor eax, ecx
mov cl, [edx+edi+1]
inc edx
test cl, cl
jnz loc_40687D
movsx eax,ax
};
}