jeb的下载安装和使用见 传送门
解题
- 拿到手解压后是一个apk文件,扔到 jeb 中

- 根据题目提示,拿到完整邮箱即可,以及查看cn包下的文件名,用字符串搜索
mail【ctrl+F】

- 从上图中可以发现一个名为
sendMailByJavaMail的函数,用快捷键q来看看源码

- 从上图发现
v1.set_to(new String[](arg6)),该代码意为将arg6设置为邮件接收者,所以我们需要寻找调用该函数的代码【右键该函数,单击Cross references】

- 进入
MainTask查看

- 发现第一个参数为
C2.MAILSERVER,跟进去看看

- 根据上图,先是加载了
core,然后使用NativeMethod.m()方法返回值的base64解码值来作为C2.MAILSERVER。NativeMethod是用于外部加载文件。这里的话,我们需要去找到使用的外部文件。于是先解压apk,在lib文件夹下找到调用的外部文件,最终找到libcore.so。 - 我们先将
libcore.so扔到ida中反编译

- 将上图中的
MTgyMTg0NjUxMjVAMTYzLmNvbQ==进行base64解码得到18218465125@163.com
故flag为 flag{18218465125@163.com}
总结
- 考查安卓环境下的逆向
- NativeMethod一般用于调用外部文件,且在调用前会先用
System.LoadLibrary()加载相应的外部文件

387

被折叠的 条评论
为什么被折叠?



