1、解题思路
题目发现直接根据FP拿根本不可能拿到分数,于是准备查找代码,但是没有发现记录分数的参数。由于全部都是通过整数来计算和提交,想到了整数溢出问题。
不同整数类型对应的范围
uint8 -> 0-255
uint16 -> 0-65535
uint32 -> 0-4294967295
uint36 -> 0-18446744073709551615
int8 -> -127-128
int16 -> -32768-32767
int32 -> -2147483648-2147483647
int64 -> -9223372036854775808-9223372036854775807
2、输入一个超大数,测试一下
发现给了一个数字9223372036854775807,猜测这个是int64类型
2、然后输入999999999999999999
输入其他数值也可以,部分值需要尝试,主要原因是因为还有分值需要涉及到计算×10,源代码中应该存在一些判断,有的值太大了会没有显示。
3、再次输入999999999999999999,得到flag
ctfshow{0512febd-e37d-48df-99e5-0383a67724d4}