[蓝桥杯2024]-Reverse:rc4解析(对称密码rc4)

无壳

查看ida

这里应该运行就可以得flag,但是这个程序不能直接点击运行

按照伪代码写exp

完整exp:

复制代码
key=list('gamelab@')
content=[0xB6,0x42,0xB7,0xFC,0xF0,0xA2,0x5E,0xA9,0x3D,0x29,0x36,0x1F,0x54,0x29,0x72,0xA8, 0x63,0x32,0xF2,0x44,0x8B,0x85,0xEC,0x0D,0xAD,0x3F,0x93,0xA3,0x92,0x74,0x81,0x65,0x69,0xEC,0xE4,0x39,0x85,0xA9,0xCA,0xAF,0xB2,0xC6]
rc4number=0x100
s=[0]*rc4number
flag=''


def rc4_init(s,key,rc4number):
    for i in range(rc4number):
        s[i]=i
    j=0
    for i in range(rc4number):
        j=(j+s[i]+ord(key[i%len(key)]))%rc4number
        temp=s[i]
        s[i]=s[j]
        s[j]=temp

def rc4_endecode(s,content,rc4number):
    i=0
    j=0
    for k in range(len(content)):
        i=(i+1)%rc4number
        j=(j+s[i])%rc4number
        temp=s[i]
        s[i]=s[j]
        s[j]=temp
        t=(s[i]+s[j])%rc4number
        content[k]=chr(content[k]^s[t])
    content=''.join(content)
    print(content)


rc4_init(s,key,rc4number)
rc4_endecode(s,content,rc4number)
相关推荐
CYRUS STUDIO2 分钟前
Unidbg Trace 反 OLLVM 控制流平坦化(fla)
android·汇编·算法·网络安全·逆向·ollvm
q567315234 分钟前
使用puppeteer库编写的爬虫程序
爬虫·python·网络协议·http
mosquito_lover110 分钟前
Python数据分析与可视化实战
python·数据挖掘·数据分析
写代码的小王吧12 分钟前
【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~
java·开发语言·网络·安全·web安全·网络安全·jar
eqwaak015 分钟前
量子计算与AI音乐——解锁无限可能的音色宇宙
人工智能·爬虫·python·自动化·量子计算
SylviaW0816 分钟前
python-leetcode 63.搜索二维矩阵
python·leetcode·矩阵
跳跳糖炒酸奶43 分钟前
第四章、Isaacsim在GUI中构建机器人(1): 添加简单对象
人工智能·python·ubuntu·机器人
Niuguangshuo1 小时前
Python设计模式:克隆模式
java·开发语言·python
爱摄影的程序猿1 小时前
如何基于 Django-Vue-Admin 快速二次开发?高效后台管理系统实战指南(附完整代码)
vue.js·python·django