某虚假交友APP(信息窃取)逆向分析

应用初探

在群里水群的时候 群u发了一个交友APP 于是拿来分析一下

可以看到应用打开后又一个登录的界面
需要用户输入手机号与验证码进行登录
#在线云沙箱分析
将APK放入某安信云沙箱中分析 提示应用请求了过多的敏感权限 

逆向分析

直接拖入Jadx分析 好在程序没有加固 也没有任何混淆

若直接点击注册会弹出以下窗口 直接利用搜索大法定位到关键的位置

 沿着调用链向上回溯

可以发现调用了startTimer 和 toLogin函数
进入startTimer函数分析
 发现程序APP进行一个90s的循环后就自动退出了 并不会启动其他什么奇奇怪怪的Activity(我有个朋友听到这个消息后特别失望)
然后分析toLogin

发现程序会创建一个 RxHttpJsonParam 对象并且请求的目标IP在Urls类中
双机进入类可以看到相关的接口地址 分析代码可以看到开发者编译的时候并没有把日志打印的函数給注释掉
所以这样能很方便咱们进行分析
其中调用的函数包括获取短信内容,获取联系人信息,获取图片...

抓包分析

首先在断网情况下测试

 在这里我尝试去利用Frida去hook okhttp3 中的 connect函数
发现hook不到 但是在smail层面位置设置断电调试却可以断下来
这里不明白是为什么 懂的大佬可以解释一下...

 日志中打印出来这些内容

接下将电脑和手机连接在同一网络中 配置手机的代理后直接用BP抓包分析

点击注册后 程序会发送目标Reg接口发送用户填写的手机号 验证码 当前时间 当前时间加盐后的hash值 手机型号
利用Repeat模块连续发了几次包之后 发现自己的IP被ban了 再次访问总是500

主动调用

此时我的IP已经不可以注册 (这里考虑用梯子挂了全局代理 但是没有用)
肯定无法触发后续的恶意操作了 此时想到了利用Frida主动调用其中的恶意函数
首先通过创建一个新的类去调用

1

2

3

4

5

6

7

8

let LoginActivity = Java.use("com.qinyue.vmain.activity.LoginActivity");

       var obj = LoginActivity.$new();

       console.log("getContacts()")

       obj.getContacts();

       LoginActivity["getContactsSms"].implementation = function () {

       console.log(`LoginActivity.getContactsSms is called`);

       this["getContactsSms"]();

   }

出现以下的错误
 

图片描述


考虑直接从堆栈中调用已经初始化过的类

1

2

3

4

5

6

7

8

9

10

11

12

Java.choose("com.qinyue.vmain.activity.LoginActivity",{    //要hook的类

            onMatch:function(instance){

                console.log("onMatch ");

                let ret=instance.getContacts(); //要hook的方法

                instance.getContactsSms();

                instance.getPhoto();

            },

            onComplete:function(){

                console.log("result: " );

            }

        });

此时抓包分析

 

可以看到此时向目标接口上传了一个图片

流量分析

Wireshark抓包 分析一下

 随便提取一个出来看看恰好就是我之前保存的应用截图

并且从日志中可以看到应用上传了相当多的信息(通讯录信息 各种图片) 

总结

该APP也算是一个比较简单的恶意APP 无加壳无混淆 甚至开发者为了自己方便编写的Log函数也没有删除 数据在传输过程中也没有加密
但是这样简单的一个仅有一张封面的APP 假如有小白中招 也是会造成很十分严重的数据泄露风险的
因此网络世界真真假假 假假真真 还是希望大家文明上网吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker部署在线流程图

下载镜像 docker pull registry.cn-beijing.aliyuncs.com/wuxingge123/drawio:latestdocker-compose部署 vim docker-compose.yml version: 3 services:drawio:container_name: drawioimage: registry.cn-beijing.aliyuncs.com/wuxingge123/drawio:latestports:- 8083:8080v…

探索未来智慧酒店网项目接口架构

在数字化时代,智慧酒店已成为酒店业发展的重要趋势之一。智慧酒店网项目接口架构作为支撑智慧酒店运营的核心技术之一,其设计和优化对于提升用户体验、提高管理效率具有重要意义。本文将深入探讨智慧酒店网项目接口架构的设计理念和关键要素。 ### 智慧…

vivado 有关 SVF 链的操作

按正确顺序创建反映所有器件及其配置存储器的 SVF 链之后 , 即可开始向 SVF 链中的器件添加编程操作。 例如, 您可右键单击链中的赛灵思 a200t 器件 , 然后选择“添加器件编程操作 (Add Program Device Operation) ”对话 框, …

Logback日志框架(超详细)

logback-classic-1.2.3.jarhttp://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦 logback-core-1.2.3.jarhttp://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5yp…

PHP实现nginxPhp错误日志提取统计工具(路径+错误行+报错信息+次数排序)

粘贴PHP错误日志内容(NGINX 下PHP网站错误日志)。 作用:提取PHP Warning/Notice:路径错误行报错信息按出现次数排序。 以上已满足本人自己LNMP环境的调试需求&#xff0c;其他环境自己评估是否可用。 <?php //整理与分享&#xff1a;yujianyue<15058593138qq.com> $…

STL中各类容器详细介绍

STL介绍 STL&#xff08;Standard Template Library&#xff09;&#xff0c;即标准模板库&#xff0c;是一个具有工业强度的&#xff0c;高效的C程序库。它被容纳于C标准程序库&#xff08;C Standard Library&#xff09;中&#xff0c;是ANSI/ISO C标准中最新的也是极具革命…

前端学习<四>JavaScript基础——06-基本数据类型:String 和 Boolean

今天这篇文章&#xff0c;我们详细讲一下基本数据类型。 String 字符串 语法 字符串型可以是引号中的任意文本&#xff0c;其语法为&#xff1a;双引号 "" 或者单引号 。 来看个示例。下面的这些&#xff0c;都是字符串&#xff1a; var a abcde;var b 千古壹号…

Photoshop 2024 中文---专业图像处理软件的又一次飞跃

Photoshop 2024是一款功能强大的图像处理软件&#xff0c;广泛应用于创意设计和图像处理领域。它提供了丰富的绘画和编辑工具&#xff0c;包括画笔、铅笔、颜色替换、混合器画笔等&#xff0c;使用户能够轻松进行图片编辑、合成、校色、抠图等操作&#xff0c;实现各种视觉效果…

云备份day03

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C云备份项目 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 主要内容介绍了第三方库httplib的一些内容&#xff0c;以及实现…

Java 进程状态

一&#xff0c;进程介绍 定义&#xff1a;进程是计算机中运行中的程序的实例。它包含了程序的代码、数据以及程序运行时所需的各种资源&#xff0c;如内存空间、CPU时间等。 特征&#xff1a; 动态性&#xff1a;进程是动态创建、执行和销毁的。并发性&#xff1a;在多道程序环…

VSCode好用插件

由于现在还是使用vue2&#xff0c;所以本文只记录vue2开发中好用的插件。 美化类插件不介绍了&#xff0c;那些貌似对生产力起不到什么大的帮助&#xff0c;纯粹的“唯心主义”罢了&#xff0c;但是如果你有兴趣的话可以查看上一篇博客&#xff1a;VSCode美化 1. vuter 简介&…

【opencv】示例-barcode.cpp 条形码检测和解码

#include <iostream> // 引入标准输入输出流库 #include "opencv2/objdetect.hpp" // 引入OpenCV物体检测库 #include "opencv2/imgproc.hpp" // 引入OpenCV图像处理库 #include "opencv2/highgui.hpp" // 引入OpenCV高层GUI库using names…

169.乐理基础-调式板块总结、调式判断

如果到这五线谱还没记住还不认识的话去看102.五线谱-高音谱号与103.五线谱-低音谱号这两个里&#xff0c;这里面有五线谱对应的音名&#xff0c;对比着看 如果不认识调号去看112.五线谱的调号&#xff08;一&#xff09;、113.五线谱的调号&#xff08;二&#xff09;、114.快…

如何使用 Midjourney?2024年最新更新

一&#xff1a;基础篇 1&#xff1a;注册 首先&#xff0c;你需要注册一个 Discord 账号&#xff0c;然后加入 Midjourney 的 Discord 服务器。或者去 Midjourney 的官网点击右下角的 Join the Beta&#xff1a; ​ 2&#xff1a;在 Discord 公共服务器里使用 注册并进入到…

JVM基础

初识JAM JVM就是JAVA虚拟机&#xff0c;本质上是一个运行在计算机上的程序&#xff0c;他的职责是运行JAVA字节码文件. 下面是java代码执行过程 JVM的功能 1.解释和运行 对字节码文件中的指令实时的解释成机器码 2.内存管理 自动为对象&#xff0c;方法等分配内存自动的垃圾回…

基于顺序表实现通讯管理系统!(有完整源码!)

​​​​​​​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ 文章专栏&#xff1a;C语言实战项目 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01;​​​​​​​ 目录 1、实现思路 ​…

OCm (Radeon Open Compute) 和 CUDA (Compute Unified Device Architecture)

OCm&#xff08;Radeon Open Compute&#xff09;和CUDA&#xff08;Compute Unified Device Architecture&#xff09;是两种旨在利用图形处理单元&#xff08;GPU&#xff09;进行通用计算的技术和框架。 OCm&#xff08;Radeon Open Compute&#xff09;&#xff1a; OCm&…

CentOS 7 下离线安装RabbitMQ教程

CentOS 7 下安装RabbitMQ教程一、做准备&#xff08;VMWare 虚拟机上的 CentOS 7 镜像 上安装的&#xff09; &#xff08;1&#xff09;准备RabbitMQ的安装包&#xff08;rabbitmq-server-3.8.5-1.el7.noarch&#xff09;下载地址mq https://github.com/rabbitmq/rabbitmq-se…

os.listdir()bug总结

今天测试出一个神奇的bug&#xff0c;算是教训吧&#xff0c;找了两天不知道问题在哪&#xff0c;最后才发现问题出现在这 原始文件夹显示 os.listdir()结果乱序 import os base_path "./file/"files os.listdir(base_path)print(files)问题原因 解决办法(排序)

NB-IOT 介绍 1

1 名称介绍 NB-----Narrow Band IOT -----Internet of things NB-IOT---窄带物联网 2 物联网技术发展 以太网&#xff1a;网线 RS232一种串行通信标准&#xff0c;通常采用正负电压来表示逻辑值&#xff0c;如正电压表示逻辑1&#xff0c;负电压表示逻辑0。 RS485一种串行通…