CTF-RE-FindPass(Jarvis oj)

本文介绍了一种从图片中提取信息并结合字符串资源进行加密算法破解的方法。通过读取特定图片的二进制数据,利用得到的数组与密钥进行运算,实现对密钥的解密。注意处理数组中超出char范围的数据,避免操作越界。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分析源代码:

 发现cha数组是从src.jpg图片里得到的信息,图片在apk反编译后的asset文件夹里找到。

在strings.xml文件中可以得到fkey的值

接下来就是理清逻辑思路写代码爆破。要注意的是cha数组里面有超过char类型的数据,因此要注意操作不要越界

以下是脚本代码

fil=open('src.jpg','rb')
cha=[]
fil.seek(0,0)
for i in range(1024):
    tok=fil.read(1)
    cha.append(ord(tok))

flag=''
ekey='Tr43Fla92Ch4n93'
for i in range(len(ekey)):
    if cha[ord(ekey[i])]<128:
        t=cha[ord(ekey[i])]%10
    else: t=(-(cha[ord(ekey[i])]%128))%10
    if(i&1):flag+=chr(ord(ekey[i])+t)
    else: flag+=chr(ord(ekey[i])-t)
print(flag)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值