Theseus

2019SCTF中的android逆向详解
SCTF中的strange android题,可能对经验丰富的师傅们并不认为很难,但对于我android逆向初级选...
扫描右侧二维码阅读全文
25
2020/02

2019SCTF中的android逆向详解

SCTF中的strange android题,可能对经验丰富的师傅们并不认为很难,但对于我android逆向初级选手来讲还是有点难度的。

题目运行的时候并没有什么异常,和大多数题目一样。

所以第一步:用jeb反汇编,看看代码
请输入图片描述
看了一下配置文件,发现主活动在反编译中并没有找到。这就有点超乎想象了。后来发现是经过反调试处理了的。把主活动文件给隐藏起来了。

接着往下面分析,看是怎样进行反调试的。
请输入图片描述
这里是重写了attachBaseContext这个方法,从而要在data中提取数据。

但是在提取data前,就经过了函数的处理

请输入图片描述

找到这两个函数,分析一下功能
请输入图片描述

分析一下,这是对文件进行了异或加密。在这个题中降低了难度,就是data文件可以直接复制出来。这样我们写一个文件,然后我们就对data进行解密操作。

Python脚本如下:
请输入图片描述
转化后我们的到解密后的文件
请输入图片描述
因为我们是转换成为16进制数据,因此我们需要用winhex转换成apk文件
请输入图片描述
将这些数据用winhex填充,保存成新文件

得到一个android文件,然后依然用jeb进行分析
请输入图片描述
总共的输入字符是30,然后s1是输入的前12,然后调用函数进行base64加密。
请输入图片描述
上面的加密函数是对后面部分进行处理,C的长度的32,
请输入图片描述
对syclover进行MD5加密处理

分析一下就是将key的第0位进行插入。第0位是8。因此进行就是直接奇数位。

两段拼接在一起:sctf {W3lc0me~t0_An4r0id-w0rld}

最后修改:2020 年 07 月 10 日 09 : 24 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论