能力值:
( LV10,RANK:170 )
|
-
-
2 楼
某版主还常常说:CrackMe不要加壳
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
那是为了节省论坛空间,UPX 加的
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我是新手,fs怎么也脱不掉?
|
能力值:
( LV3,RANK:30 )
|
-
-
6 楼
顶上去,这次采取了严重放水的方式 ,连我自己都感觉过份啊 !
真的,今天重新看了一次代码,有一个位置实在放水的过份了。。。。。
大家继续努力啊,算法等你弄出来后就知道简单了
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
啊,怎么还没有结果啊,我发誓这次绝对没 BUG 的,测试过 N 多次了
我可爱的高手哪去了,又是陷阱啊!
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
期待。。。。。。。。。。。。。。。。。破文
|
能力值:
(RANK:550 )
|
-
-
9 楼
捧个场
name: hawkings
key : -117
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
强,落幕。。。。。。。。。。。
|
能力值:
( LV3,RANK:30 )
|
-
-
11 楼
扔个 穷举算法注册机
#include<iostream.h>
#include<stdio.h>
#include<string.h>
int ZHEN(int i);
int SUM(int b,int c);
main()
{
char name[20];
int sn,i,a,len;
cout<<endl;
cout<<"请输入 9-12 位的用户名 "; // 8 位也可以,9 位以上安全些
cin.get(name,20);
len=strlen(name);
for(i=0;i<len*101;i++)
{
a=i;
sn=ZHEN(a);
}
sn=sn+name[2]+name[4];
a=SUM(sn,len);
cout<<"你要的注册码是:"<<a<<endl;
getchar();
}
int ZHEN(int a)
{
int sn;
sn=a/90*3;
return sn;
}
int SUM(int a,int len)
{
a=a*10;
int i,sn,v=0,s=0;
sn=(len*a^-54321)/(a/len);
len=len*1.5;
for(i=-1;i>-1000;i--)
{
s++;
v=i;
if(sn-(v+v/len)==0)
break;
}
return s-(s*2);
}
|
能力值:
( LV9,RANK:1130 )
|
-
-
12 楼
楼上真有耐心。
我一看到那堆:偷懒了。反正应该没什么的
00401622 817D C0 0E03000>cmp dword ptr [ebp-40], 30E
00401629 7F 05 jg short 00401630
0040162B 31C0 xor eax, eax
0040162D EB 43 jmp short 00401672
0040162F 90 nop
00401630 0FBE45 E2 movsx eax, byte ptr [ebp-1E]
00401634 89C2 mov edx, eax
00401636 0355 C8 add edx, dword ptr [ebp-38]
00401639 0FBE45 E4 movsx eax, byte ptr [ebp-1C]
0040163D 8D0C10 lea ecx, dword ptr [eax+edx]
00401640 894D C8 mov dword ptr [ebp-38], ecx
00401643 83C4 FC add esp, -4
00401646 8B45 DC mov eax, dword ptr [ebp-24]
00401649 50 push eax
0040164A 8B45 C8 mov eax, dword ptr [ebp-38]
0040164D 50 push eax
0040164E 8B45 D8 mov eax, dword ptr [ebp-28]
00401651 50 push eax
00401652 E8 71000000 call 004016C8 ; 这里进去,F7.
进到下面这里。有空的兄弟慢慢看啊~~,一版下来,算法很明显:
004016C8 55 push ebp
004016C9 89E5 mov ebp, esp
004016CB 83EC 44 sub esp, 44
004016CE 53 push ebx
004016CF 8B55 0C mov edx, dword ptr [ebp+C]
004016D2 89D0 mov eax, edx
004016D4 C1E0 02 shl eax, 2
004016D7 01D0 add eax, edx
004016D9 8D1400 lea edx, dword ptr [eax+eax]
004016DC 8955 FC mov dword ptr [ebp-4], edx
004016DF 8B55 10 mov edx, dword ptr [ebp+10]
004016E2 0FAF55 FC imul edx, dword ptr [ebp-4]
004016E6 89D0 mov eax, edx
004016E8 35 CF2BFFFF xor eax, FFFF2BCF
004016ED 8945 DC mov dword ptr [ebp-24], eax
004016F0 8B4D FC mov ecx, dword ptr [ebp-4]
004016F3 89C8 mov eax, ecx
004016F5 99 cdq
004016F6 F77D 10 idiv dword ptr [ebp+10]
004016F9 89C3 mov ebx, eax
004016FB 8B45 DC mov eax, dword ptr [ebp-24]
004016FE 99 cdq
004016FF F7FB idiv ebx
00401701 89C1 mov ecx, eax
00401703 894D F8 mov dword ptr [ebp-8], ecx
00401706 DB45 08 fild dword ptr [ebp+8]
00401709 DB45 08 fild dword ptr [ebp+8]
0040170C DB45 10 fild dword ptr [ebp+10]
0040170F DD05 C0164000 fld qword ptr [4016C0]
00401715 DEC9 fmulp st(1), st
00401717 DEE9 fsubp st(1), st
00401719 DEE9 fsubp st(1), st
0040171B D97D EA fstcw word ptr [ebp-16]
0040171E 66:8B45 EA mov ax, word ptr [ebp-16]
00401722 66:0D 000C or ax, 0C00
00401726 66:8945 E8 mov word ptr [ebp-18], ax
0040172A D96D E8 fldcw word ptr [ebp-18]
0040172D DB5D F4 fistp dword ptr [ebp-C]
00401730 D96D EA fldcw word ptr [ebp-16]
00401733 8B4D 08 mov ecx, dword ptr [ebp+8]
00401736 89C8 mov eax, ecx
00401738 99 cdq
00401739 F77D F4 idiv dword ptr [ebp-C]
0040173C 8B55 08 mov edx, dword ptr [ebp+8]
0040173F 01C2 add edx, eax
00401741 8955 F0 mov dword ptr [ebp-10], edx
00401744 8B45 F8 mov eax, dword ptr [ebp-8]
00401747 3B45 F0 cmp eax, dword ptr [ebp-10]
0040174A 75 09 jnz short 00401755 ; 这里爆破
0040174C B8 0B000000 mov eax, 0B
00401751 EB 0D jmp short 00401760
00401753 EB 0B jmp short 00401760
00401755 B8 01000000 mov eax, 1
0040175A EB 04 jmp short 00401760
0040175C 8D7426 00 lea esi, dword ptr [esi]
00401760 8B5D B8 mov ebx, dword ptr [ebp-48]
00401763 C9 leave
00401764 C3 retn
|
能力值:
(RANK:10 )
|
-
-
13 楼
[QUOTE=binbinbin;309058]楼上真有耐心。
我一看到那堆:偷懒了。反正应该没什么的
00401622 817D C0 0E03000>cmp dword ptr [ebp-40], 30E
00401629 7F 05 jg short 00401630
0040...[/QUOTE]
晕,那是作者自己给自己写的注册机!
|
能力值:
( LV3,RANK:30 )
|
-
-
14 楼
#include<iostream.h>
#include<stdio.h>
#include<string.h>
void TT(int a);
void CRACK(void);
int ZHEN(int i);
int SUM(int a,int b,int c);
main()
{
cout<<" ---------------------------------------"<<endl;
cout<<" --------------yingyue------------"<<endl;
cout<<" --------------vvvvvvaa@tom.com------"<<endl;
cout<<" -----------------CrackMe 2--------------"<<endl;
cout<<" >>>>>>>>>> 不要爆破 <<<<<<<<<<< "<<endl;
char name[20];
int len,code,w,j;
int *p=new int [1300]; // 骗人的
int sn,i,a;
cout<<endl<<endl;
cout<<">>> 请输入你的大名吧 :";
cin.get(name,20);
len=strlen(name);
if(len<3)
return 0;
cout<<endl<<endl;
cout<<">>> 请输入你的假码吧 :";
cin>>code;
for(i=0;i<len*101;i++) //输入了 8 个字符后,这里输出了 24
{
a=i; // a 取得当前 i 的值
sn*=2;
sn=i-3;
sn=ZHEN(a); //整个循环里就只有这个有用的
w=sn*4;
j=w*2+33;
p[i]=i*3/2; // 骗人的
}
cout<<endl<<endl;
delete [] p; //释放动态数组
if(a<783) //这里变相要你的用户名不能小于8位
return 0;
sn=sn+name[2]+name[4]; //这里把注册码和用户名勾挂
a=SUM(code,sn,len); // 把上面流水循环最后的结果流到这个函数继续工作
TT(a); // 显示 成功.失败 函数
}
//---------------------------------- 下面是函数定义部份
int ZHEN(int a)
{
int sn;
sn=a/90*3;
return sn;
}
int SUM(int code,int a,int len)
{
int b=a*10,sn;
int s,v;
sn=(len*b^-54321)/(b/len);
s=code-(code-len*1.5);
v=code+(code/s);
if(sn-v==0)
return 11;
else
return 1;
}
void CRACK(int a)
{
if(a!=11)
{
cout<<">>>>> 恭喜你,还有努力啊!"<<endl;
getchar();
}
}
void TT(int a)
{
if(a==11)
{
cout<<">>>>> 叫你输入假码,你就输入真码,严重佩服你的能力,强"<<endl;
getchar();
}
CRACK(a);
}
|
能力值:
( LV9,RANK:850 )
|
-
-
15 楼
源码都丢出来```
汗``不搞了`
|
能力值:
( LV9,RANK:170 )
|
-
-
16 楼
name:jgh1316
code:707
|
能力值:
( LV9,RANK:410 )
|
-
-
17 楼
不错不错,支持一下
|