首页 > 其他 > 详细

X-CTF(REVERSE入门) getit

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

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

打开看见了可疑的三串字符,s字符串的长度和flag内容的长度一样

技术分享图片
图1
技术分享图片
图2

找到关键代码页面,打开/tmp/flag.txt文件,将重新交换顺序的s字符串扔到flag文件里

技术分享图片
图3

根据重新交换的方式写出解密代码

技术分享图片
图4

 

附代码:

 1     s="c61b68366edeb7bdce3c6820314b7498"
 2 
 3     flag="????????????????????????????????"
 4 
 5     s=,.join(s)
 6 
 7     s=s.split(,)
 8 
 9     flag=,.join(flag)
10 
11     flag=flag.split(,)
12 
13     print(s,"\n----------------\n")
14 
15     v3=0
16 
17     v6=0
18 
19     for i in s:
20 
21           if(v6 & 1):
22 
23                 v3=1
24 
25           else:
26 
27                 v3=-1
28 
29           flag[v6] = chr(ord(s[v6])+v3)
30 
31           v6=v6+1
32 
33 
34     out=‘‘
35 
36     for i in flag:
37 
38           out +=  i
39 
40     print(harifCTF{+out+})

这道题里是将运行的结果保存进flag.txt文本内,程序运行结束时又将文本内容清空,所以在相应目录文件下我们看不到flag

如果使用动态调试,不需要写解密代码就可以找到flag,这和“no-strings-attached”那道题一样用gdb调试。awsl后期能动态肯定动态,前面写逆向代码练手~~~



X-CTF(REVERSE入门) getit

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

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