首页 > 其他 > 详细

X-CTF(REVERSE入门) open-source

时间:2020-02-05 16:00:02      阅读:88      评论:0      收藏:0      [点我收藏+]

之前文章讲过的技巧和知识,就不再详细描述了,如果有不明白的地方建议按照做题题目顺序查看。

添加stdlib.h头文件,运行程序输入三个参数,输入参数数量不等于3输出what?退出程序

满足三个要求的参数最后经过运算得到hash,hash边是我们要找的flag

技术分享图片
图1

第一个和第三个参数已经给我们了分别是,“0xcafe”、“h4cky0u”

输入参数时不可以输入十六进制,所以第一个参数我们转化为十进制为51966

第二个参数根据语义可以知道如果second % 5 == 3 || second % 17 != 8,那么得到错误提示

                         a& b         a| b       a and b       a or b

如果a,b是数值变量, 则&, |表示位运算, and,or则依据是否非0来决定输出

所以我们取相反的情况得到可能的second,盲猜这数不会很大

技术分享图片
图2

第二个参数假如为25,运行程序得到flag

技术分享图片
图3

如果第二个参数为42呢,如果数字再大点比如满足条件的484,同样得到了flag

技术分享图片
图4

这就是为什么,原来在图1中hash运算的第二个参数是(second % 17) * 11,而我们所有符合条件的数字经过(second % 17)运算后的结果都是8



X-CTF(REVERSE入门) open-source

原文:https://www.cnblogs.com/blackicelisa/p/12263556.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!