-
-
[原创]ctf2017_Fpc分析
-
发表于: 2017-10-27 12:45 3081
-
题目刚拿下来,按照正常思路进行反编译,根据关键字找到主函数:
F5初步分析sub_401050,sub_401090,sub_4010E0三个函数的功能:
1. sub_401050 提示并获取用户输入,有调用scanf,输入的有效长度为8个字节;
2. sub_401090,
sub_4010E0 对验证码的两次验证过程,关键有两个验证公式,
其中v1和v0分别是输入字符串的高4位和低4位
:
分析方法一:
按照两个函数的验证方法来尝试反推v0和v1,由于方程组如果不考虑溢出肯定是无解的,而在考虑溢出的情况下,对高位做补位后单独计算 sub_401090或者 sub_4010E0 中的函数组是有解的,但两组解不相等,纠结了半天后,重新考虑是不是无解的,题目的本意不是计算验证码。所以对方程组重新做了分析。
假设v0, v1都是偶数,v1-v0则为偶数,那么sub_4010E0中17*(v1-v0)+v1一定是偶数;
假设v0, v1都是奇数,v1-v0则为偶数,那么sub_401090中5*(v1-v0)+v1一定是 奇数;
假设v0为奇数,v1都是偶数,v1-v0则为奇数,那么 sub_401090中5*(v1-v0)+v1一定是 奇数;
假设v0为偶数,v1都是奇数,v1-v0则为奇数, 那么sub_4010E0中17*(v1-v0)+v1一定是偶数 ;
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
看原图
赞赏
雪币:
留言: