BUU[SCTF2019]Strange apk
分析hello.c文件
可以理解为安卓的SMC
_0_ 函数,将读取的每一位与 “syclover”循环 异或
_ 函数 将读取进行 _0_ 函数操作,并且写入一个新文件
读取 getAssets下的文件。
对 data 文件进行上述操作,并命名为apk 文件,加入线程中
我们来分析对data进行操作,脚本:
s = "syclover"
count = 0
with open('data', 'rb') as f:while (1):data = f.read(1)if not data: breakdata2 = ord(data) ^ ord(s[count % len(s)])with open('dates', 'ab') as g:c = data2.to_bytes(1, byteorder='little', signed=False)g.write(c)count += 1
f.close
跑的有点久,网上还有dump出dex文件的方式,有待尝试。
把跑出来的 dates文件 改为apk类型,jeb打开分析。
其中SCTF函数
其中sctf函数为base64加密,将前12个字符串加密,与已知字符比较,解密得
sctf{W3lc0me
第二部分:
先将syclover MD5加密 8bfc8af07bca146c937f283b8ec768d4,
再与我们要求的key 一起 encode加密,与相应的字符串匹配。
encode函数,将 arg5 插入到v2的偶数位子。第二个append,也即是syclover的md5字符,但是根据v3/v1猜测都是为第一个数 8。
我们将~8t808_8A8n848r808i8d8-8w808r8l8d8}8之中的8去除
得到剩下的部分:~t0_An4r0id-w0rld}
最终flag
sctf{W3lc0me~t0_An4r0id-w0rld}
BUU[SCTF2019]Strange apk相关推荐
- BUU[SCTF2019]Who is he
unity 用dnspy打开Assembly-CSharp.dll,分析主要加密 分析加密函数,DES加密(key和vi一样),和Base64 根据已知数据解密 ,但是在C#中,字符串默认是Unic ...
- 7-3 学习打卡(12.19)
度过糟糕的一周,也许是最难熬的一周,生活还在等着我继续. Week of 12.13 To do list: 1. Buu继续刷题 2. 美团杯Re和Crypto复现 3. 琢石成器和逆向工程核心原理 ...
- REVERSE-PRACTICE-BUUCTF-19
REVERSE-PRACTICE-BUUCTF-19 [RoarCTF2019]polyre [安洵杯 2019]game [SCTF2019]Strange apk [CFI-CTF 2018]In ...
- BUUCTF reverse题解汇总
本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...
- SCTF 2019 re部分题解(持续更新中)
一个月都很颓废 导致 比赛没有打的很好 而且 浪费了很多时光 说起来这还是 我第250篇原创博客 23333 暑假有了一些计划 搞搞密码学 编译原理 等等其它东西 然后呢 收拾好心情后 看 ...
- Android逆向writeup,[原创]腾讯apk逆向系列WriteUp
0x00 前言 正在学习安卓逆向的萌新SR绝赞刷题中,昨天做了三道有意思的题目,感觉很适合入门,于是写了个wp发了出来 题目已上传至文章附件,想摸的dalao们可以看看( 0x01 APP1 工具:J ...
- [SCTF2019]Flag Shop ruby REB
[GXYCTF2019]StrongestMind 计算算式1000次给flag,写一个脚本就行.重点考察正则的使用: from time import sleepimport requests im ...
- Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程
首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...
- android 在设备上安装apk包
使用adb 命令安装 1 打开cmd 命令 win+r 输入cmd 命令 打开控制面板 输入adb install 然后把把apk 拖拽进去然后回车即可 安装 2 adb 卸载apk 输入adb un ...
最新文章
- python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算
- anaconda更换镜像源
- FastReport.net分组排序、打印顺序、分页、函数使用语法、数据块编辑
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素
- 【python数据挖掘课程】十八.线性回归及多项式回归分析四个案例分享
- 【机器视觉】 dev_set_line_width算子
- springCloud - 第1篇 - 服务的注册 Eureka
- jar包导出无法显示图片或者音乐_如何制作图片视频短片,配上音乐闪耀朋友圈!...
- 51NOD-1029 大数除法【大数】
- 拓端tecdat|R语言可视化探索BRFSS数据并逻辑回归Logistic回归预测中风
- ubuntu16.04查看opencv版本
- 支持多种登录模式的token方案设计(微信、支付宝登录等)和数据库设计含手机号绑定方法
- 出售永磁同步电机(pmsm)模型预测控制(MPC)matla b/simulink仿真模型,转速控制,电流控制,转矩控制,有PI矢量控制,直接预测控制(有限集模型预测控制)(这个其中包括做了单矢量和双
- kubesphere master节点执行kubectl get po Unable to connect to the server: Forbidden
- Java设计模式学习以及底层源码分析
- 计算机控制版面交换鼠标左右键,鼠标左右键怎么互换呢?左右键互换设置方法...
- 语法俱乐部2:名词短语与冠词
- 能落地-新零售连锁门店方案
- (读书笔记)大数据分析计算机基础
- Java是一门什么样的语言?
热门文章
- linux配置接口多地址,Linux /etc/network/interfaces配置接口方法
- linux连接redis 命令_在Docker中使用Redis
- mysql连接编程环境_C++连接MySQL(一):环境配置和实例
- 数据中心供电有多重要,看看这件事就知道了
- 2021年全球数据中心调查
- 上海市经济信息化委关于支持新建互联网数据中心项目用能指标的通知
- VM:Vmware简介、安装、使用方法详细攻略
- Interview:算法岗位面试—上海某科技公司算法岗位(偏AI算法,国企)技术面试之BN层的认知、BP的推导、GD优化的几种改进等
- 成功解决PackagesNotFoundError: The following packages are not available from current channels: tensorflo
- PyTorch之LeNet-5:利用PyTorch实现最经典的LeNet-5卷积神经网络对手写数字图片识别CNN