首页
社区
课程
招聘
[转帖]貌似西电某比赛中的两个破解程序
发表于: 2011-10-8 19:15 40777

[转帖]貌似西电某比赛中的两个破解程序

2011-10-8 19:15
40777
收藏
免费 6
支持
分享
最新回复 (64)
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
51
第一个:
WM_INITDIALOG消息里会开一个线程检测int3断点。。。跳过去就OK
然后
00401110  /$  8B5424 04     mov     edx, dword ptr [esp+4]   
00401114  |.  33C0          xor     eax, eax
00401116  |.  8A0A          mov     cl, byte ptr [edx]
00401118  |.  84C9          test    cl, cl
0040111A  |.  74 1A         je      short 00401136
0040111C  |>  80F9 41       /cmp     cl, 41
0040111F  |.  7C 15         |jl      short 00401136
00401121  |.  80F9 5A       |cmp     cl, 5A
00401124  |.  0FBEC9        |movsx   ecx, cl
00401127  |.  7E 03         |jle     short 0040112C
00401129  |.  83E9 20       |sub     ecx, 20
0040112C  |>  03C1          |add     eax, ecx
0040112E  |.  8A4A 01       |mov     cl, byte ptr [edx+1]
00401131  |.  42            |inc     edx
00401132  |.  84C9          |test    cl, cl
00401134    ^ 75 E6         jnz     short 0040111C
00401136  |>  35 78560000   xor     eax, 5678

“Iceberg”全转成大写。。。然后各位相加的和异或5678。。结果是5789
00401146  |.  8A0A          mov     cl, byte ptr [edx]
00401148  |.  84C9          test    cl, cl
0040114A  |.  74 11         je      short 0040115D
0040114C  |>  0FBEC9        /movsx   ecx, cl
0040114F  |.  8D0480        |lea     eax, dword ptr [eax+eax*4]
00401152  |.  42            |inc     edx
00401153  |.  8D4441 D0     |lea     eax, dword ptr [ecx+eax*2-30]
00401157  |.  8A0A          |mov     cl, byte ptr [edx]
00401159  |.  84C9          |test    cl, cl
0040115B  |.^ 75 EF         \jnz     short 0040114C
0040115D  |>  35 34120000   xor     eax, 1234

可以这样理解
while (*s)
{
	r = r * 10 + *s - 0x30;
	s++;
}
r = r ^ 0x1234

最后把两次计算的结果比较就OK
2011-11-4 20:59
0
雪    币: 195
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
52
只是来围观的
顺便看看自己的
2011-11-4 21:32
0
雪    币: 69
活跃值: (41)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
53
某同学写的CM,我就不说啥了...汗..
2011-11-18 16:50
0
雪    币: 285
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
54
搞不定,悲剧、、、、、
2011-11-22 11:54
0
雪    币: 210
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
55
什么是太阳....
2011-11-28 10:59
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
56
哎呀呀,都这么高级别了
2012-1-13 12:47
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
57
先收藏了。。。。
2012-1-18 00:14
0
雪    币: 205
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
58
两个CM都玩过的路过
2012-2-1 22:27
0
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
59
ILOV_SY]
难道输出Right?是不正确的?
2012-2-6 22:49
0
雪    币: 435
活跃值: (1282)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
60
加参数VERYEASY
2012-2-7 00:01
0
雪    币: 40
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
61
原来如此 大意了
2012-2-7 14:43
0
雪    币: 656
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
62
来欣赏下大作
2012-2-9 22:11
0
雪    币: 125
活跃值: (161)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
63
#include <stdio.h>


int main(int argc, char* argv[])
{
	char	table[10] = "ADGNWKQU";
	int		i;
	int		j;

	for(i=0;i<8;i++)
	{
		for(j='A'; j<='Z'; j++)
		{
			if((j-47)%26 + 65 == table[i])
			{
				printf("%c",j);
			}
		}
		
	}
	printf("\n");
	return 0;
}


第二个是这样?|
2012-2-26 14:50
0
雪    币: 72
活跃值: (60)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
64
顺便看看。。。。。。。。
2012-9-28 10:29
0
雪    币: 196
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
65
只有膜拜了。
2013-3-1 23:11
0
游客
登录 | 注册 方可回帖
返回
//