[蓝桥杯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)
相关推荐
F_D_Z16 分钟前
数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
python·torchvision·transforms
躬身入世,以生证道18 分钟前
面试技术栈 —— 简历篇
面试·职场和发展
Asmalin32 分钟前
【代码随想录day 35】 力扣 01背包问题 一维
算法·leetcode·职场和发展
tao3556671 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode
emma羊羊1 小时前
【文件读写】图片木马
linux·运维·服务器·网络安全·靶场
小宁爱Python2 小时前
从零搭建 RAG 智能问答系统1:基于 LlamaIndex 与 Chainlit实现最简单的聊天助手
人工智能·后端·python
湖南人爱科技有限公司2 小时前
RaPhp和Python某音最新bd-ticket-guard-client-data加密算法解析(视频评论)
android·python·php·音视频·爬山算法·raphp
eqwaak03 小时前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas
心态特好4 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
dlraba8025 小时前
用 Python+OpenCV 实现实时文档扫描:从摄像头捕捉到透视矫正全流程
开发语言·python·opencv