首页
社区
课程
招聘
[原创]再发个crackme08040101-大家帮忙试下
发表于: 2008-4-3 23:31 7095

[原创]再发个crackme08040101-大家帮忙试下

2008-4-3 23:31
7095

写crackme来学习VC++.
自己写的不知强度如何,感觉不出来,在复杂度和可玩性之间实在是不好把握。也是无anti,不防爆的,本次注册码算法很简单,但检验注册码的算法繁化了一下,做这种脱裤子放屁的事很不爽,明明mm就在隔壁,非要乘热气球环球一周。实现方法就是拼命的画圈圈,看似眼花缭乱,水泼不进,对高手而言可能一个直刺就会搞定它。
周末并节日愉快。
btw:原型可能真实生活中难找到对应的实例。不过却无处不在。希望给出一组有效的注册码,最好能指出基本实现单元的名称。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
赞赏记录
参与人
雪币
留言
时间
Youlor
为你点赞~
2024-1-3 02:20
伟叔叔
为你点赞~
2023-10-18 00:02
PLEBFE
为你点赞~
2023-7-25 00:34
QinBeast
为你点赞~
2023-7-24 02:40
shinratensei
为你点赞~
2023-7-1 03:22
心游尘世外
为你点赞~
2023-6-21 03:28
飘零丶
为你点赞~
2023-6-13 00:17
最新回复 (11)
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
dsafasfas
0123456789abcdef

居然.....

算法有问题?
fasdadas
dsafasfas
kytjys
kytjysdas
ktybnv
很多也行

偶菜
402474 改掉了
2008-4-4 10:32
0
雪    币: 2317
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
多谢,有个地方应该“与”的地方写成“或”了。已更改。
2008-4-4 12:11
0
雪    币: 2317
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
4
402474是关键跳,之前的那个call是关键call,chkregcode(a0,a1,a2)
2008-4-4 12:20
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
5
杀了我吧,能不能给我一个release版的
2008-4-4 14:24
0
雪    币: 8209
活跃值: (4559)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
6
布尔代数啊
          _       _
A xor B = A*B + A*B


ccfer
765C948245E7C7D5
2008-4-4 15:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
ls的实在是无所不能呀
膜拜膜。。。
2008-4-4 16:46
0
雪    币: 2317
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
8
:(又没有坚持1天。
看来还得加大强度。
2008-4-4 17:06
0
雪    币: 2317
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
9
就是release版的啊。取消了优化的release版。否则都会被它给优化掉。
2008-4-4 17:07
0
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
10
继续等待Crack Me源码和注册机源码
2008-4-5 23:35
0
雪    币: 2317
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
11
被ccfer一语道破。
就是bool代数做的繁华,从vmprotect那里学来的,抄袭了一点。vmprotect用的是"或非门",我这里用的基本单元是"与或非门",它们都同"与非门"一样,可是实现所有逻辑功能。
里面主要通过"与或非门"实现的是“四位同比较器”和“位同比较器”,本以为强度足够,没想到这么快被搞定,早知应把"半加器","全加器"用上,拖延点时间。
看来组合逻辑不管用,下次得做个时序逻辑的。呵呵。
只把主要函数列出,请ccfer,forgot帮忙指点。
1
2
与或非门
Z=!(A*!B+C*!D)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
bool chkregcode(unsigned char *pnamevalue,unsigned char *pregcodevalue,unsigned char *pkey)
{
    unsigned char namevalue[8];
    unsigned char regcodevalue[8];
    unsigned char keyvalue[8];
    unsigned char tmpa[4];
    unsigned char tmpb[4];
    unsigned char tmpc[4];
    int tmpi;
    for(tmpi=0;tmpi<8;tmpi++,pnamevalue++,pregcodevalue++,pkey++)
    {
        namevalue[tmpi]=*pnamevalue;
        regcodevalue[tmpi]=*pregcodevalue;
        keyvalue[tmpi]=*pkey;
    }
    for(tmpi=0;tmpi<4;tmpi++)
    {
        tmpa[tmpi]=vm_xor(namevalue[tmpi],keyvalue[tmpi]);
        tmpb[tmpi]=regcodevalue[tmpi];
    }
    tmpc[0]=vm_same4(tmpa,tmpb);
    for(tmpi=0;tmpi<4;tmpi++)
    {
        tmpa[tmpi]=vm_xor(namevalue[tmpi+4],keyvalue[tmpi+4]);
        tmpb[tmpi]=regcodevalue[tmpi+4];
    }
    tmpc[1]=vm_same4(tmpa,tmpb);
    tmpc[2]=vm_same1(tmpc[0],tmpc[1]);
    tmpc[3]=vm_same1(tmpc[1],0xff);
    return (tmpc[3]==0xff&&tmpc[2]==0xff);
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
unsigned char vm_nop1(unsigned char a0)
{
    unsigned char tmpc1;
    unsigned char tmpc2;
    tmpc1=a0;
    tmpc2=a0^0xff;
    tmpc1=tmpc1|tmpc2;
    tmpc2=tmpc2^0xff;
    tmpc2=tmpc1&tmpc2;
    return tmpc2;
}
//深1层vm
//nor
unsigned char vm1_nor(unsigned char a0,unsigned char b0)
{
    unsigned char tmpc1;
    tmpc1=a0|b0;
    tmpc1=tmpc1^0xff;
    return tmpc1;
}
unsigned char vm1_not(unsigned char a0)
{
    return vm1_nor(a0,a0&vm_nop1(a0));
}
//循环移
int vm_ror_int(int value,int count)
{
    count=count%32;
    return (value>>count)|(value<<(32-count));
}
unsigned char vm_ror_B(unsigned char value,int count)
{
    count=count%8;
    return (value>>count)|(value<<(8-count));
}
 
//与或非
unsigned char vm_nao(unsigned char a0,unsigned char b0,unsigned char c0,unsigned char d0)
{
    unsigned char tmpc0,tmpc1,tmpc2,tmpc3;
    //garbage start swap c0,a0//b0,d0
    tmpc0=c0;
    c0=vm_nop1(a0);
    a0=vm_nop1(tmpc0);
    tmpc0=d0;
    d0=vm_nop1(b0);
    b0=vm_nop1(tmpc0);
    //garbage end
    tmpc1=b0^0xff;
    tmpc1=a0&tmpc1;
    tmpc2=c0&(d0^0xff);
    tmpc3=(tmpc1|tmpc2)^0xff;
    return tmpc3;
}
//非 not=!(a0*!a0+a0*!a0)
unsigned char vm_not(unsigned char a0)
{
    return vm_nao(a0,a0^0xff,a0,a0^0xff);
}
//
unsigned char vm_or(unsigned char a0,unsigned char b0)
{
    return vm_nao(0xa5,0xa5,a0^0xff,b0);
}
//
unsigned char vm_and(unsigned char a0,unsigned char b0)
{
    return vm_nao(0xff,a0,0xff,b0);
}
//与非
unsigned char vm_nand(unsigned char a0,unsigned char b0)
{
    return vm_not(vm_and(a0,b0));
}
//或非
unsigned char vm_nor(unsigned char a0,unsigned char b0)
{
    return vm_not(vm_or(a0,b0));
}
//异或
unsigned char vm_xor(unsigned char a0,unsigned char b0)
{
    return vm_not(vm_nao(a0,b0,vm_not(a0),vm_not(b0)));
}
//同或
unsigned char vm_nxor(unsigned char a0,unsigned char b0)
{
    return vm_not(vm_nao(a0,b0^0xff,a0^0xff,b0));
}
//四字节同比较器
unsigned char vm_same4(unsigned char a0[4],unsigned char b0[4])
{
    unsigned char tmpc[4];
    unsigned char tmpc0,tmpa0,tmpb0;
    int tmpi;
    for(tmpi=0;tmpi<4;tmpi++)
    {
        tmpc[tmpi]=vm_xor(a0[tmpi],b0[tmpi]);
    }
    tmpa0=vm_or(tmpc[0],tmpc[1]);
    tmpb0=vm_or(tmpc[2],tmpc[3]);
    //garbage start
    tmpc0=tmpb0;
    tmpb0=vm_not(vm_not(vm_or(tmpa0,tmpa0)));
    tmpa0=vm_and(tmpc0,tmpc0);
    //garbage end
    return vm_nor(tmpa0,tmpb0);
}
//单字节同比较器
unsigned char vm_same1(unsigned char a0,unsigned char b0)
{
    unsigned char tmpc;
    unsigned char tmpc1;
    //garbage start
    tmpc=b0;
    b0=vm_not(vm_not(vm_or(a0,a0)));
    a0=vm_and(tmpc,tmpc);
    //garbage end
    tmpc1=vm_xor(a0,b0);
    return vm_not(tmpc1);
}
2008-4-6 12:33
0
雪    币: 8209
活跃值: (4559)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
12
从这个crackme可以看出来wangdell是楼主的徒弟
2008-4-6 12:48
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册