首页
社区
课程
招聘
[原创]星盟安全团队TNT
2022-10-27 13:18 7333

[原创]星盟安全团队TNT

2022-10-27 13:18
7333

本体需要用到逆向,密码学,misc相关知识

 

解压文件,密码是文件名:星m安qTn7
same.zip为伪加密

 

e2文件:就是个简单的逆向分析,找到字符串base64解密就是23333

 

c1文件:
云隐密码解密
base32
JJEncode
艾特巴什码解密
大写
base32
Unicode解密

 

e1文件:
解密过程
file查看文件是exe程序
py逆向出源代码
发现答案是2333

 

n文件:
解密过程
密码爆破49898293
密码same to
伪加密
base85b
base91
base36
大写
base16
base64
大写
base32

 

最后就是rsa共模攻击得到flag


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2022-12-8 11:55 被kanxue编辑 ,原因:
上传的附件:
收藏
点赞2
打赏
分享
最新回复 (3)
雪    币: 8188
活跃值: (4243)
能力值: ( LV15,RANK:2459 )
在线值:
发帖
回帖
粉丝
ccfer 16 2022-12-8 17:56
2
0

请解释一下云隐密码那一步,贴个完整的输出,我感觉你那图片里输入输出不对应啊

你那第三个字符6是哪来的

最后于 2022-12-8 17:57 被ccfer编辑 ,原因:
雪    币: 9587
活跃值: (1480)
能力值: ( LV10,RANK:164 )
在线值:
发帖
回帖
粉丝
CrazymanArmy 2 2022-12-8 19:28
3
0
云影密码定义:
有1,2,4,8这四个数字,可以通过加法来用这四个数字表示0-9中的任何一个数字,列如0=28, 也就是0=2+8,同理7=124, 9=18。这样之后再用1-26来表示26个英文字母,就有了密文与明文之间的对应关系。引入0来作为间隔,以免出现混乱。所以云影密码又叫“01248密码”。
所以说云影密码解密那步怎么解密出来的数字可以解释一下吗?
雪    币: 28297
活跃值: (6716)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
风间仁 19 2022-12-8 21:48
4
0

wp图中的CTF编码工具52pojie可以下载到, python打包的exe

结合wp图中密文滚动条的长度大于明文滚动条的长度, 显然是复制上去的...

def YY_decode(cipher):
    charList = [chr(i) for i in range(ord('A'), ord('Z') + 1)]
    ret = []
    plaintext = [i for i in cipher.split('0')]
    for i in plaintext:
        tmp = 0
        for j in range(len(i)):
            tmp += int(i[j])

        ret.append(charList[(tmp - 1)])

    return ''.join(ret)


def YY_encode(plaintext):
    charList = [chr(i) for i in range(ord('A'), ord('Z') + 1)]
    cipher = [i for i in plaintext]
    tmp = []
    ret = []
    for i in range(len(cipher)):
        for j in range(len(charList)):
            if charList[j] == cipher[i]:
                tmp.append(j + 1)
                continue

    for i in tmp:
        res = ''
        if i >= 8:
            res += int(i / 8) * '8'
        if i % 8 >= 4:
            res += int(i % 8 / 4) * '4'
        if i % 4 >= 2:
            res += int(i % 4 / 2) * '2'
        if i % 2 >= 1:
            res += int(i % 2 / 1) * '1'
        ret.append(res + '0')

    return ''.join(ret)[:-1]



游客
登录 | 注册 方可回帖
返回