[蓝桥杯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)
相关推荐
我狸才不是赔钱货21 小时前
Python的“环境之殇”:从Venv到Conda的终极抉择
开发语言·python·conda
程序员爱钓鱼1 天前
Python编程实战 - 函数与模块化编程 - 参数与返回值
后端·python·ipython
程序员爱钓鱼1 天前
Python编程实战 - 函数与模块化编程 - 局部变量与全局变量
后端·python·ipython
jiuri_12151 天前
Docker使用详解:在ARM64嵌入式环境部署Python应用
python·docker·容器
三无少女指南1 天前
深入理解JVM的安全点与安全区域
jvm·安全
chenchihwen1 天前
AI代码开发宝库系列:Function Call
人工智能·python·1024程序员节·dashscope
wanhengidc1 天前
云手机和虚拟机的区别都有哪些?
运维·服务器·安全·智能手机·玩游戏
汤姆yu1 天前
基于python的化妆品销售分析系统
开发语言·python·化妆品销售分析
xixixi777771 天前
信息安全和网络安全的区分在哪
网络·安全·web安全·信息安全