BUUCTF 相册 WriteUp

工具

jadx我去github项目下载后用gradlew一直失败,我的git进行git clone时也只能下载我自己建立的项目(见鬼问题)。最终我找到一个旧版本的jadx-gui的下载网址,解决了问题。

https://bintray.com/skylot/jadx/releases#files

题目地址

https://buuoj.cn/challenges#%E7%9B%B8%E5%86%8C

题解

用jadx-gui打开,导航->搜索文本mail

BUUCTF 相册 WriteUp_第1张图片

查看sendMailByJavaMail方法

BUUCTF 相册 WriteUp_第2张图片

再搜索此方法,找到调用它的位置

BUUCTF 相册 WriteUp_第3张图片

发现有个MAILSERVER,右键跳到声明

BUUCTF 相册 WriteUp_第4张图片

BUUCTF 相册 WriteUp_第5张图片

发现是对NativeMethod的m进行Base64,再进入NativeMethod,发现里面都是空的。

BUUCTF 相册 WriteUp_第6张图片

Java中NativeMethod一般用于调用外部文件,那么我们再用IDA打开libcore.so查看。.so文件的位置如下图,要先将.apk文件解压。

BUUCTF 相册 WriteUp_第7张图片

查看Exports,找到NativeMethod的m

BUUCTF 相册 WriteUp_第8张图片

双击进入,然后右键Jump to xref

BUUCTF 相册 WriteUp_第9张图片

然后再双击两次就找到了汇编(我不知道有没有一键从C伪代码切换到汇编代码的方式,求教!)

BUUCTF 相册 WriteUp_第10张图片

将这个字符串Base64解密即得到flag。

参考

BUUCTF Reverse 相册

你可能感兴趣的:(BUUCTF 相册 WriteUp)