Android hacking event 2017
1.you can't find me,
老规矩先打开jeb,然后看下主活动,
发现又调用了mainthread类的startWrites方法,继续跟进去。
发现是新建了一个随机输入流的文件对象,然后新建了很多进程,往这个文件中去输入字符,不过里面是有时间限制的
所以flag应该是根据时间顺序来拼接就好了,
Aol jsvjrdvyr ohz ybzalk Puav h zapmm tvklyu hya zahabl, Whpualk if uhabyl, svhaolk if aol Thzzlz, huk svclk if aol mld. Aol nlhyz zjylht pu h mhpslk ylcpchs: HOL17{IlaalyJyfwaZ4m3vyKpl}
弄出来是这个东西,quipquip安排上,一把梭就出来了
2.aes-decrypt
jeb打开
主要逻辑应该在so层,ida打开一波,发现是静态注册的,直接找java_类名_native方法名
这里其实挺操蛋的,本来java层几行可以解决的问题,在so层就得这么多行。上面一大堆,其实从后面可以看出DA3E0BB0这个函数其实就是做的一个base64加aes解密,这里我也没管,
就是黑盒来用,发现上面一大堆只是为了获取app的签名而已,由于这是java的数组,如果c++要使用需要转换成本地数组,转换后,作为aes的key,iv已经给了,对那个字符串进行解密
至于怎么看出DA3E09E4和58函数的作用的,第一个是发现输入的字符串后,会发生变化,于是跟进去,发现里面有base64字样,只能动调,发现就是base64,然后下一个函数
基本可以从题目中猜出来,一个key和一个iv,恰好符合,剩下其实我也迷茫了,后面看了wp才知道,是需要照猫画虎,将app显示的字符串,按同样的key和iv解密就好了
from Crypto.Cipher import AES
import base64
iv=[ 0x99, 0x3F, 0x76, 0x06, 0xA7, 0x88, 0x1C, 0x67, 0x49, 0x27,
0x66, 0x06, 0x8D, 0xE9, 0xD8, 0xAA
]
key=[
0x00, 0xC2, 0xB2, 0x00, 0xCB, 0xAF, 0xED, 0x4E, 0x14, 0xB3,
0x52, 0x93, 0x56, 0x36, 0xF6, 0x00, 0x65, 0x7C, 0x40, 0x6C,
0xBB, 0x8F, 0x29, 0xC0, 0xA1, 0x4F, 0xBB, 0xEC, 0xB6, 0xAD,
0x8E, 0x54
]
data="+NvwsZ48j3vyDIaMu6LrjnNn8/OAnexGUXn3POeavI8="
flag="T9WoXhrsQHgY3NLr8SwBbw=="
iv=''.join(chr(a) for a in iv)
key=''.join(chr(a) for a in key)
cipher=AES.new(key,AES.MODE_CBC,iv)
plain_data=cipher.decrypt(base64.b64decode(data))
print plain_data
cipher=AES.new(key,AES.MODE_CBC,iv)
plain_data=cipher.decrypt(base64.b64decode(flag))
print plain_data
最新文章
- WPF整理-使用ResourceDictionary管理Logical Resources
- command not found,系统很多命令都用不了 ,修改环境变量
- Unity3d 无网络权限下打开网站
- Android(java)学习笔记84:自定义异常类
- SQL 把数据从一张表更新到另一张表
- [布局]bootstrap基本标签总结2
- PHP - 防止 XSS(跨站脚本攻击)
- mozilla your firefox profile cannot be loaded. it may be missing or inaccessible
- Js里面的数组去重方法
- VS,连接到oracle 报要升级到8.多少版本的错
- Java对象引用处理机制
- python2 配置环境变量
- 第三章Android移植平台工具介绍
- 在linux 上安装ansible
- 通过Microsoft Learn进行学习以提升技能
- 为何invalidate()不可以直接在UI线程中调用&;invalidate与postInvalidate
- 203.	阿里jetcache
- Luogu P1129 [ZJOI2007]矩阵游戏
- Python面向对象之异常捕获(一)-----抛出一个异常
- 第二个spring冲刺第3天