首页
论坛
专栏
课程

[原创]CTF2019第一题---流浪者WriteUp

2019-3-19 10:07 349

[原创]CTF2019第一题---流浪者WriteUp

2019-3-19 10:07
349

0x001-----逆向分析

使用IDA反编译,搜索字符串

可以看到有pass字样,跟踪字符串,来到程序主要区域

这里是接收输入,之后将输入的字符串做一个简单的处理后,传入验证函数中。

验证函数中,以传过来的字符串作为下标,定位字符串key中的字符,组成新字符串,之后与KanXueCTF2019JustForhappy进行对比。

0x002-----解密脚本

了解程序的算法后,通过逆向程序算法,可直接编写解密脚本
import sys
flag = "abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ"
key = "KanXueCTF2019JustForhappy"
li = {}
for i in range(len(flag)):
    if ord(flag[i]) > 57 or ord(flag[i]) < 48:
        if ord(flag[i]) > 122 or ord(flag[i]) < 97:
            if  ord(flag[i]) > 90 or  ord(flag[i]) < 65:
                print "error"
                sys.exit()
            else:
                li[ord(flag[i]) - 29] = flag[i]
        else:
            li[ord(flag[i]) - 87] = flag[i]
    else:
        li[ord(flag[i]) - 48] = flag[i]
for i in range(len(key)):
    for j in range(len(flag)):
        if key[i] == flag[j]:
            sys.stdout.write(li[j])



[招聘]欢迎市场人员加入看雪学院团队!

最新回复 (0)
游客
登录 | 注册 方可回帖
返回