要求:请找出用户名为hello的注册码

注意:IDA普通版db不直接显示文字内容
search -》text -》 密钥无效!
1、第一个if可初步判断为用户名获取,第2个if则可判定为密钥验证过程。
2、把输入的用户名的每个字符遍历一遍再把每个字符的序号(从 0 开始算)与这个字符的ASCII码的平方相乘 ,后整体再加上序号,得到的和继续对 0x42 求余,最后将结果加上 33最后再将上述结果连接在字符串 ‘Happy@’ 之后构成注册码
user = 'Hello'

number = 0;

flag = 'Happy@'
for i in user:
	flag = flag + chr((number + number * ord(i) **2) % 0x42 + 33)
	number = number + 1
	print i
print flag

flag:Happy@!GA0U

发表评论

电子邮件地址不会被公开。 必填项已用*标注