首页 > 其他分享 >NewStar re ezencrypt wp

NewStar re ezencrypt wp

时间:2024-10-26 11:18:55浏览次数:10  
标签:sbox NewStar v2 re flag v5 v6 wp 256

NewStar re ezencrypt wp

jadx打开

[外链图片转存中…(img-qiKfNETY-1729913193217)]

发现加密,点进去

[外链图片转存中…(img-q5cEWSnD-1729913193218)]

发现先AES加密,key是title,然后Base64编码,让母后doEncCheck,我们没找到doEncCHeck的源码

官解提到

有 native 标签说明函数是 C 语言编写的,主体在 so 文件。涨知识

ida打开

是个RC4算法,RC4加密是个流加密算法,本质时异或,因此在执行一次RC4就能解密,a^b=c c^ b=a

代码如下:


key = 'meow'

k = [ord(key[i]) for i in range(len(key))]

flag = [
  0xC2, 0x6C, 0x73, 0xF4, 0x3A, 0x45, 0x0E, 0xBA, 0x47, 0x81,
  0x2A, 0x26, 0xF6, 0x79, 0x60, 0x78, 0xB3, 0x64, 0x6D, 0xDC,
  0xC9, 0x04, 0x32, 0x3B, 0x9F, 0x32, 0x95, 0x60, 0xEE, 0x82,
  0x97, 0xE7, 0xCA, 0x3D, 0xAA, 0x95, 0x76, 0xC5, 0x9B, 0x1D,
  0x89, 0xDB, 0x98, 0x5D
]

sbox = [i for i in range(256)]

def init_sbox():
  v2 = 0
  v3 = 0
  for i in range(256):
    v1 = sbox[i] % 256
    v3 = (k[v2] + v1 + v3) % 256
    sbox[i] = sbox[v3]
    sbox[v3] = v1
    v2 += 1
    if v2 >= len(k):
      v2 = 0

init_sbox()

def encc():
  v6 = 0
  v5 = 0
  for i in range(len(flag)):
    v6 = (v6 + 1) % 256
    v5 = (sbox[v6] + v5) % 256
    sbox[v5], sbox[v6] = sbox[v6], sbox[v5]
    flag[i] ^= sbox[(sbox[v5] + sbox[v6]) % 256]

encc()

for i in range(len(flag)):
  flag[i] ^= k[i % 4]
  print(chr(flag[i]), end='')

https://cyberchef.org/

在这个网站先Base64解码在解密,注意几个参数要跟反编译的参数一样,比如Mode,UTF8等

[外链图片转存中…(img-5ccYTzza-1729913193218)]

几个参数要跟反编译的参数一样,比如Mode,UTF8等

[外链图片转存中…(img-5ccYTzza-1729913193218)]

得到flag

标签:sbox,NewStar,v2,re,flag,v5,v6,wp,256
From: https://blog.csdn.net/LH1013886337/article/details/143250905

相关文章

  • PbootCMS邮件发送失败: Network is unreachable
    问题表现PbootCMS发送邮件时提示“Networkisunreachable”。原因该问题是服务器环境的问题,与PbootCMS程序无关。主要原因包括防火墙、SELinux、网络配置、虚拟机网络连接方式等。解决方法关闭防火墙:关闭Linux防火墙和Windows客户端防火墙。关闭SELinu......
  • 【服务器知识】nginx不够,那我们就试试openresty
    文章目录概述OpenResty的核心特性包括:OpenResty的工作原理:如何使用OpenResty:OpenResty勾子函数......
  • 深度学习面试笔试之迁移学习(Transfer)、强化学习(Reinforcement) & 多任务
    深度学习面试笔试之迁移学习Transfer、强化学习Reinforcement&多任务13.迁移学习(Transfer)1.什么是迁移学习2.为什么需要迁移学习?3.迁移学习的基本问题有哪些?4.迁移学习有哪些常用概念?基本定义按特征空间分类按迁移情景分类按迁移方法分类5.迁移学......
  • 「FHQ_Treap」学习笔记
    一、前言&基本理论来自笔者的肯定:最容易理解且比较好写的平衡树(不过就是常数有点大了),可能是笔者花了较长的时间去理解旋转Treap和Splay的旋转吧()。FHQ不仅比旋转法编码简单,而且能用于区间翻转、移动、持久化等场合。——《算法竞赛》FHQ_Treap的所有操作都只用到了分......
  • Redis的详细安装教程和环境变量配置(附有详细步骤讲解及相关操作截图和代码)
    NoSQL简介NoSQL数据库是一种非关系型数据库,它在处理大规模、高并发的动态网站数据时具有明显优势。NoSQL数据库的出现是为了解决传统关系数据库在处理大数据量和高并发请求时遇到的性能瓶颈。NoSQL数据库的设计允许它们在分布式环境中更有效地扩展,同时提供灵活的数据模型来适应不......
  • redis数据库操作指令
    一、数据库操作指令2、redis中库说明对于一个redis服务而言,包含默认有16个数据库给我们使用,从0开始编号,共15号数据库,默认使用的是0号数据库切换库,select库号举例:使用1号库:select1库和库之间数据不共享库和库之间的键可以重名2、redis中清空库的指令清空当前库flush......
  • 单词render
    参考:E387:render“使成为;使变得;使处于某种状态……”,情感,人生导师,好看视频为何render即是“提供”又是“表达”与“渲染”【词源解词】render给,变化_哔哩哔哩_bilibili1.使具有某种能力。2.把想法经过加工再次表达出来,如:翻译;提交,呈报(把自己的想法加工之后提交、呈报给老......
  • Redis
    Redis基础是什么(定义,特点)开源的基于内存的数据库(内疚多缘分)基于内存:读写速度快,适用于高性能应用场景,如缓存持久化:把数据存储到磁盘,方式有AOF日志,RDB快照等多数据结构:列表、哈希、集合等,灵活的应对不同场景原子性操作:支持原子性操作,维护并发环境下数据一致性分布式:提供......
  • 【expo 库】expo-secure-store 安全存储库
    expo-secure-store是一个用于在移动应用程序中安全存储敏感数据的库。它提供了一组简单的API,使开发人员可以轻松地存储和检索敏感数据,如用户凭据、令牌和其他机密信息。这个库是Expo框架的一部分,Expo是一个开源平台,用于构建、部署和发布原生移动应用程序。在底层实现上,expo-se......
  • 一个基于.NET8+WPF开源的简单的工作流系统
    项目介绍AIStudio.Wpf.AClient是一个基于WPF(WindowsPresentationFoundation)构建的客户端框架,专为开发企业级应用而设计。该项目目前版本为6.0,进行了全面优化和升级,提供了丰富的功能和模块,以满足不同场景下的开发需求。框架截图项目特点自动升级(待部署):虽然......