看雪论坛
发新帖
13

[原创]剧情式CM——九重妖塔前传!!!

不问年少 2017-7-24 06:16 1278

    炎炎夏日,奉上此剧情版的CM给各位。有兴趣来玩啊,此CM未加壳。保证无毒无害。请有能力者写出破文,让大家学习学习吧!~

    谢谢大神提醒,修正了一下对齐方式,两个版本都放这。应该说是节对齐造成的不能在高一点的系统上运行。

    CM截图:

                                                                                        ——By 不问年少

                                                                                        2017-07-24


上传的附件:
本主题帖已收到 1 次赞赏,累计¥1.00
最新回复 (12)
11
爱琴海 2017-7-24 06:33
2
13
不问年少 2017-7-24 06:46
3
哆啦咪 2017-7-24 17:35
4
wx_一直很安静 2017-7-24 17:38
5
改成默认对齐,反而更小了
8
ccfer 2017-7-24 19:48
6
封印加固成功,空间趋于稳定!大仙功德无量,为世人敬仰!
13
不问年少 2017-7-24 21:25
7
太强!
专用小马甲 2017-7-24 22:02
8
ccfer 封印加固成功,空间趋于稳定!大仙功德无量,为世人敬仰!
ccfer真牛,请接受我一拜。
killbr 2017-7-28 08:32
9
能不能给点思路,一关也过不去。
13
不问年少 2017-7-28 20:27
10
呵呵,其实不难的。基本和我前一个跑圈圈的差不多,只是这次是正向跑、反向跑一起来。
1
曹无咎 2017-8-21 17:07
11
ccfer潜水好深~
8
ccfer 2017-8-29 15:45
12

这么多天也没人玩,贴个当时的猜解代码吧,我也不知道cm用的是啥算法,我只猜smc字节的统计分布规律

我用的数据是前面那个没修正对齐的那个exe,smc位置在base+0x75FA0

(修正后的exe后面的smc数据会有几个字节不同,smc位置在base+0x76BE0)


BYTE bwns[] = {
0xDB,0xA6,0xB4,0x62,0x39,0x31,0xBB,0xFB,0xC4,0x53,0x62,0x59,0x89,0xEC,0xC2,0x6F,0x76,0x23,0xFC,0xB7,    //smc代码数据
0x97,0x49,0x35,0x62,0x80,0x07,0xBD,0x6E,0x30,0x35,0xEB,0xD4,0xC9,0x73,0x4C,0x6F,0xCC,0x4E,0xFE,0x32,
0x61,0x2F,0xBC,0xF7,0xC3,0x57,0x32,0x6E,0x88,0xB1,0xDD,0x59,0x31,0x15,0xC5,0xEA,0x8A,0x45,0x75,0x32,
0xD8,0x25,0xBA,0x62,0x39,0x31,0xBB,0xE3,0xCE,0x53,0x62,0x59,0x8B,0x8B,0x6E,0x6F,0x76,0x23,0xFC,0xA7,
0x61,0x48,0x35,0x62,0x81,0xD8,0x95,0x6E,0x30,0x35,0xEB,0xDC,0x33,0x72,0x4C,0x6F,0xCF,0x47,0x3D,0x32,
0x61,0x2F,0xBC,0xEF,0x3D,0x56,0x32,0x6E,0x8A,0x2F,0x32,0x59,0x31,0x15,0xC5,0xFA,0x70,0x44,0x75,0x32,
0xD9,0x3F,0xA6,0x62,0x39,0x31,0xBB,0xEB,0x38,0x52,0x62,0x59,0x88,0xB9,0xEB,0x6F,0x76,0x23,0xFC,0xBF,
0x6B,0x48,0x35,0x62,0x83,0x37,0xB4,0x6E,0x30,0x35,0xEB,0xCC,0x3D,0x72,0x4C,0x6F,0xCE,0xBF,0x57,0x32,
0x61,0x2F,0xBC,0xE7,0x37,0x56,0x32,0x6E,0x89,0x88,0xE6,0x59,0x31,0x15,0xC5,0xE2,0x66,0x44,0x75,0x32,
0xDB,0x6D,0xA6,0x62,0x39,0x31,0xBB,0xFB,0x22,0x52,0x62,0x59,0x89,0x12,0xC3,0x6F,0x76,0x23,0xFC,0xB7,
0x75,0x48,0x35,0x62,0x80,0x1F,0xB0,0x6E,0x30,0x35,0xEB,0xD4,0x27,0x72,0x4C,0x6F,0xCC,0xA5,0xCE,0x32,
0x61,0x2F,0xBC,0xF7,0x21,0x56,0x32,0x6E,0x88,0x9D,0x2D,0x59,0x31,0x15,0xC5,0xEA,0x6C,0x44,0x75,0x32,
0xD8,0x47,0x14,0x62,0x39,0x31,0xBB,0xE3,0x2C,0x52,0x62,0x59,0x8B,0x4A,0xDC,0x6F,0x76,0x23,0xFC,0xA7,
0x7F,0x48,0x35,0x62,0x81,0x45,0xA2,0x6E,0x30,0x35,0xEB,0xDC,0x11,0x72,0x4C,0x6F,0xCF,0xFA,0xE5,0x32,
0x61,0x2F,0xBC,0xEF,0x1B,0x56,0x32,0x6E,0x8A,0x39,0xD9,0x59,0x31,0x15,0xC5,0xFA,0x52,0x44,0x75,0x32,
0xD9,0xBE,0xA5,0x62,0x39,0x31,0xBB,0xEB,0x16,0x52,0x62,0x59,0x88,0x7A,0x6D,0x6F,0x76,0x23,0xFC,0xBF,
0x49,0x48,0x35,0x62,0x0A,0x85,0x54,0xE7,0xA5,0x79,0x63,0x59,0x31,0xCB,0x16,0x8D,0x76,0x45,0x13,0xBB,
0xE4,0x01,0x34,0x62,0x39,0xEE,0xA1,0xAC,0x30,0x53,0x04,0xD0,0xBC,0x39,0x4D,0x6F,0x76,0xFF,0xB6,0xC7,
0x61,0x49,0x53,0xEB,0xAC,0x1B,0x33,0x6E,0x30,0xEB,0xB5,0x97,0x31,0x73,0x2A,0xE6,0xF3,0x0B,0x74,0x32,
0x61,0xF0,0xC3,0xF9,0x39,0x57,0x54,0xE7,0xBD,0x03,0x63,0x59,0x31,0xC9,0xBB,0xF4,0x76,0x45,0x13,0xBB,
0xF4,0x1B,0x34,0x62,0x39,0x64,0xF2,0x08,0xB9,0xD6,0x36,0x58,0x31,0x73,0x8B,0x2A,0xAE,0x45,0x75,0x32,
0x61,0xA2,0x3C,0xE9,0x74,0x8F,0xB1,0xAF,0x31,0xDA,0x2F,0x81,0xB2,0x0E,0x94,0x74,0x0B,0x66,0xFE,0x67,
0xB9,0xC8,0xF7,0x8C,0xE4,0x57,0x32,0xE5,0x75,0x8B,0x6D,0xEE,0xBD,0x36,0xB8,0x6F,0x76,0x45,0x46,0xF8,
0xEA,0x1C,0xED,0x04,0xB0,0xDB,0x67,0x9A,0x30,0x53,0x62,0xB2,0xFF,0xB4,0x09,0xBB,0x76,0x45,0x75,0x32,
0x8A,0x40,0xBE,0x27,0xED,0xD4,0xF2,0x6F,0xB9,0x16,0xB6,0xDA,0x4C,0xA7,0x4A,0x12,0x55,0xCE,0x38,0xE6,
0xE0,0x88,0xF9,0xD9,0x39,0x57,0xB9,0x3B,0xE4,0x5C,0xD5,0xDD,0x64,0x3B,0x4D,0x6F,0x76,0x76,0xB4,0xB9,
0x2C,0x9D,0x53,0xEB,0xBD,0x1A,0x7A,0x6F,0x30,0x53,0x89,0x97,0x5B,0x33,0xC1,0xFA,0x3E,0x44,0x75,0x32,
0x33,0xC4,0xB0,0x96,0x39,0x57,0x32,0x3E,0xBB,0x1E,0xAE,0xB1,0x1D,0x5D,0x4F,0x6F,0xB1,
//0x45,0xD0,0x00,0x00,0x00,0x00
};
void guess()
{
	int i,j,k;
	int cnt;
	int max;
	char x[32] = {0};
	char c;
	for (i=0;i<20;i++)
	{
		max = 0;
		for (j=0;j<sizeof(bwns)/20;j++)
		{
			c = bwns[j*20+i];
			if ((c >= '0') && (c <= 'z'))
			{
				cnt = 0;
				for (k=0;k<sizeof(bwns)/20;k++)
				{
					if ((c ^ bwns[k*20+i]) < 2)
					{
						cnt++;
					}
				}
				if (cnt > max)
				{
					max = cnt;
					x[i] = c;
				}
			}
		}
	}
	printf("%s\n",x);
}


6
Ericky 2017-8-29 21:41
13
ccfer 这么多天也没人玩,贴个当时的猜解代码吧,我也不知道cm用的是啥算法,我只猜smc字节的统计分布规律我用的数据是前面那个没修正对齐的那个exe,smc位置在base+0x75FA0 ...
只能膜,太强.
传奇金商 2017-9-1 01:04
14
此楼层已删除
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 域名 加速乐 保护 | SSL证书 又拍云 提供 | 微信公众号:ikanxue
Time: 0.015, SQL: 12 / 京ICP备10040895号-17