当前位置: 首页 > news >正文

[CISCN 2021初赛]glass

压缩包解压得到apk之后再解压缩

将其拖到ida

这三个是加密函数

一眼rc4

这里是密文

提取数据

0xA3, 0x1A, 0xE3, 0x69, 0x2F, 0xBB, 0x1A, 0x84, 0x65, 0xC2,

0xAD, 0xAD, 0x9E, 0x96, 0x05, 0x02, 0x1F, 0x8E, 0x36, 0x4F,

0xE1, 0xEB, 0xAF, 0xF0, 0xEA, 0xC4, 0xA8, 0x2D, 0x42, 0xC7,

0x6E, 0x3F, 0xB0, 0xD3, 0xCC, 0x78, 0xF9, 0x98, 0x3F

写脚本

a = [
  0xA3, 0x1A, 0xE3, 0x69, 0x2F, 0xBB, 0x1A, 0x84, 0x65, 0xC2,
  0xAD, 0xAD, 0x9E, 0x96, 0x05, 0x02, 0x1F, 0x8E, 0x36, 0x4F,
  0xE1, 0xEB, 0xAF, 0xF0, 0xEA, 0xC4, 0xA8, 0x2D, 0x42, 0xC7,
  0x6E, 0x3F, 0xB0, 0xD3, 0xCC, 0x78, 0xF9, 0x98, 0x3F]
b = '12345678'
for i in range(0, 5):
    for k in range(len(a)):
        a[k] ^= ord(b[k % 8])
for i in range(0, 39, 3):
    a[i + 1] ^= a[i]
    a[i + 2] ^= a[i + 1]
    a[i] ^= a[i + 2]
c = a
key = '12345678'
flag = ''
j = 0
s = list(range(256))
for i in range(256):
    j = (j + s[i] + ord(key[i % len(key)])) % 256
    s[i], s[j] = s[j], s[i]
i = 0
j = 0
for r in c:
    i = (i + 1) % 256
    j = (j + s[i]) % 256
    s[i], s[j] = s[j], s[i]
    x = (s[i] + (s[j] % 256)) % 256
    flag += chr(r ^ s[x])
print(flag)

CISCN{6654d84617f627c88846c172e0f4d46c}

相关文章:

  • OpenLayers 加载网格信息
  • Redis 5 种基础数据结构?
  • LiveNVR 直播流拉转:Onvif/RTSP/RTMP/FLV/HLS 支持海康宇视天地 SDK 接入-视频广场页面集成与视频播放说明
  • 《清晰思考》
  • 实验设计与分析(第6版,Montgomery)第4章随机化区组,拉丁方, 及有关设计4.5节思考题4.1~4.4 R语言解题
  • 本地(Linux)编译 MySQL 源码
  • 三、zookeeper 常用shell命令
  • 触控精灵 ADB运行模式填写电脑端IP教程
  • Linux基础 -- Linux 启动调试之深入理解 `initcall_debug` 与 `ignore_loglevel`
  • 从零到一选择AI自动化平台:深度解析n8n、Dify与Coze
  • Axure项目实战:运输统计页引入echarts实现高保真设计(JS代码ctrl+c ctrl+v懂得来)
  • 配置vscode中java.configuration.runtimes
  • 贪心算法实战篇2
  • 2262 1527的解码实验程序
  • 弥散制氧机工作机制:高原低氧环境的氧浓度重构技术
  • FPGA实现CNN卷积层:高效窗口生成模块设计与验证
  • 在 Ubuntu 上挂载其他硬盘的步骤
  • docker-记录一次容器日志<container_id>-json.log超大问题的处理
  • Redis--缓存穿透与缓存雪崩详解及解决方案
  • 基于MATLAB的二维圆形随机骨料生成程序
  • 珠海杰作网站建设网络公司/让手机变流畅的软件下载
  • 网站建设的案例教程视频教程/seo排名赚下载
  • 民宿网站建设问卷调查/百度sem运营
  • 最新流行网站开发技术/湖南知名网络推广公司
  • 网站开发如何避免浏览器缓存的影响/一份完整的营销策划书
  • 买个域名自己做网站/网络技术培训