首页
社区
课程
招聘
[原创] 第六题 寻回宝剑 writeup
发表于: 2021-5-19 15:33 6431

[原创] 第六题 寻回宝剑 writeup

2021-5-19 15:33
6431

拖入IDA分析,可以看到大量结构类似的重复指令,调试可以看出这部分的作用是跳转到下一条指令。

可以使用idapython清除来接近程序原本的面目。

清除后动态调试分析,在以下可能的导入函数下段。

最开始会和1746(即36*49结果)比较,相等的话会提示错误。

然后取输入的长度,如果不等于84则也提示错误。

判断输入字符在0~9A~Z+-*/%=42个字符内,索引为0~41

输入的字符两两为一组,一共42组转换成数值表(第一位*42 + 第二位),后面的数字不能比前面的小,所以推断出格式应每组数第一位肯定是不能减小的。

然后会判断使用数值表的数依次42取商取余(第一位索引即为商,第二位索引即为余)不重复,即可推断出第一位数字应该不相同的,递增的,为0_ 1_ 2_ ……/_%_=_,每组数的第二位也是不同的。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-5-19 15:37 被xwwei编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//