回校第一天,该题不简单,生活也不简单。
下载链接:http://ctf5.shiyanbar.com/crack/3/
1、打开后是一个网站,上面有提示,是找出注册码:
2、随便验证一下,显示“密钥无效”:
3、使用Exeinfo PE来检测一下文件语言,发现是C++,推荐使用Ida(终于有个可以使用Ida的了)。
4、寻找strings:
5、找到一个可疑的,双击:
6、上划,看见了“密钥无效”:
7、双击引用的Data部分,找到源代码:
8、按F5进行反编译:
9、可以看到是由sub_4011D0控制的,双击进入:
10、重要的函数就是对于输入的用户名(String)首先要大于等于5位,然后对每一位,平方相乘再与序号想乘,然后加上位的序号,然后模0x42再加33,最后复制在“Happy@”后面。
题中用户名为hello
python解码,ord函数为字符转ASCII码,chr函数为ASCII码转字符:
String = "hello"
result = "Happy@"
for i in range(len(String)):
result += chr((i + i * ord(String[i]) * ord(String[i]))% 0x42 + 33)
print(result)
11、得到结果:
小结:是一个Ida的应用,我感觉我的Ida版本有点低了。。寻求更新一下,原来破解的注册机都是这样干的吗?
网友评论