对这个式子,要找到两种 input,对应我们输入的两个数字,使得 k 一共有 10 个解 ($k<=0x200000$)
这件事情结合一点有限域知识,就感觉不太可能,一个 input 按理最多一个解,估计是有诈。
这里命名的所有变量基本都是全局的。大部分运算函数中,除了实现原本的运算功能,还都有类似后门的功能,在一定条件下,会修改 ab 的值。在乘除法里甚至还会修改 modulus。
但是仔细分析,由于对 ab 经常出现直接赋值,很多后门都是可以忽略的,比如 main 函数对 a 的 set sub compare,set 无后门,sub 仅改 b,compare 的后门不影响比较结果。b 同理(add 仅改 a),所以如果只考虑走进两个 success 的分支条件,不需要考虑其他关于 ab 的后门,所以接下来看看关于 modulus 的后门。