首页
社区
课程
招聘
[原创]CTF2017参赛题CrackMe
发表于: 2017-5-25 07:27 5430

[原创]CTF2017参赛题CrackMe

2017-5-25 07:27
5430

lelfei参赛题目:CrackMe

答案:97654321

设计说明:

1.设计了一个十进制大数计算类BigNum,计算位数暂定为0x400位,算法仅实现了加法和乘法。

2.要求输入8-20位非0数字N,乘以9后循环计算乘方结果:R=(N*9)^M,同时符合以下四条规则时为正确答案:

  1)R位数为奇数;

  2)R最中间位与N首位相等;

  3)R最后几位与N除首位外的字符相同;

  4)R最开始几位与N除首位外的字符逆序排列。

破解思路:

根据检测规则,如果结合数学上的一个“幻数”12345679就非常简单了:

12345679*9=111111111

111111111^2=12345678987654321

其他说明:

无法确定答案的唯一性,不过这么有特点的数应该不多吧。。

--------------------------------------------------------

设计感想:

最开始设计时,苦于没有既好玩又设计巧妙的算法,一直没有什么进展。后来突然想到12345679这个比较特殊的数,灵感来了。首先,12345679*9=111111111,这么有规律的数,肯定是没有几个的(到底有没有其他符合这种规律的数?我没有穷举过,不知道啊)。然后9个1的平方为12345678987654321,又跟初始值有了联系:前7位相同,后7位逆序排列,以此作为检测条件,肯定是非常巧妙的!


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 14462
活跃值: (3935)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
2
在XP正常运行  依据提供的注册码  可以成功注册

请提供一下破解思路  或者题目结束时尽快提交也可
2017-5-25 19:24
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
3
额。。。上面的破解思路不行吗?了解算法了很简单,不了解算法的话,我也不知道要怎么破解。。。
2017-5-26 12:09
0
雪    币: 14462
活跃值: (3935)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
4
要暴力枚举的吧  这个时间不能太长了    你可以试试解题时间
2017-5-26 23:05
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
5

刚用python跑了一下8位数的暴力枚举,不到1秒就出结果了,我的这心剜凉剜凉的。。。

import time
print ("***Strat:",time.time())
for a in range(1,10):
	for b in range(1,10):
		for c in range(1,10):
			for d in range(1,10):
				for e in range(1,10):
					for f in range(1,10):
						for g in range(1,10):
							for h in range(1,10):
								n=a*10000000+b*1000000+c*100000+d*10000+e*1000+f*100+g*10+h
								m=n*n*81
								if (m%10000000==g*1000000+f*100000+e*10000+d*1000+c*100+b*10+a):
									s='%d' %m
									if (int(s[int(len(s)/2)])==h) and (int(s[:7])==a*1000000+b*100000+c*10000+d*1000+e*100+f*10+g):
										print (n,m,time.time())
print ("***End:",time.time())

结果:

c:\Python36>python 1.py
***Strat: 1496193477.4848373
12345679 12345678987654321 1496193478.3458867
***End: 1496193532.07996
c:\Python36>


2017-5-31 09:23
0
雪    币: 620
活跃值: (372)
能力值: (RANK:150 )
在线值:
发帖
回帖
粉丝
6
请问大大可以做一期视频教学么  我没有看懂
2017-8-21 03:54
0
游客
登录 | 注册 方可回帖
返回