首页 > 其他分享 >逆向分析某信营业厅APP

逆向分析某信营业厅APP

时间:2023-06-23 19:34:29浏览次数:42  
标签:String APP client 某信 so 营业厅 com ct

逆向分析某信营业厅APP

APP版本号 10.3.2

工具

  • IDA
  • FRIDA
  • JEB

抓包分析

在这里插入图片描述
可以看到显示红色的,抓包失败。
从ua中可以看到,采用的okhttp通信框架,接下来的思路就是反编译客户端,静态分析。

查壳、脱壳

经工具查询,得知其采用的是 爱加密的壳。

  • Frida Hook
frida -U -f com.ct.client -l 1.js --no-pause

执行完,APP自动退出,控制台中出现
在这里插入图片描述
根据以下两个so的名字,进一步确认其采用的是 爱加密

libexec.so、libexecmain.so

接下来需要做的是 绕过 爱加密的反Frida。

  • 反Frida
function hook_pthread_create() {
    console.log("libexec.so --- " + Process.findModuleByName("libexec.so").base)
    Interceptor.attach(Module.findExportByName("libexec.so", "pthread_create"), {
        onEnter(args) {
            let func_addr = args[2]
            console.log("The thread function address is " + func_addr)
            print_c_stack(this.context);
        }
    })
}

根据以上脚本 确定 pthread_create 的函数偏移位置

frida -U -f com.ct.client -l anti_frida.js --no-pause

在这里插入图片描述

  • 脱壳
    在这里插入图片描述
frida -U -f com.ct.client -l dx_dump_dex.js --no-pause

在这里插入图片描述
成功脱壳!!!
只需将 /data/data/com.ct.client/files/dump_dex_com.ct.client/ 目录下的dex文件 下载至电脑,将其导出即可。

在这里插入图片描述

反编译

将dex文件拖至jeb,将其导出即可
在这里插入图片描述

抓包

根据静态分析,确定charles抓包失败的原因是 检验服务端证书导致,因此,只需将校验服务器证书的逻辑去掉即可

Java.use('com.android.org.*****')..checkTrusted.overload('[Ljava.security.cert.X509Certificate;', '***').implementation = function (v0, v1, v2, v3, v4) { 
	return newArrayList();
};

执行完以上脚本,成功抓包
在这里插入图片描述

登录逆向

在这里插入图片描述
经过分析,确定以下接口为登录整个过程
在这里插入图片描述
加密参数

  • phoneNum
  • androidId
  • loginAuthCipherAsymmertric
  • phoneNum 、androidId
    在这里插入图片描述
  • loginAuthCipherAsymmertric
public class UtilEncryptRsa {
    static {
        System.loadLibrary("jni-encrypt-rsa");
    }
}
 public static native String encrypt(Context arg0, String arg1, String arg2, String arg3, String arg4, String arg5, String arg6, String arg7, String arg8) {
    }

在这里插入图片描述
JAVA翻写 UtilEncryptRsa

在这里插入图片描述

已实现功能:

  • 登录
    • 短信验证码登录
    • 自动识别验证码
    • 手机号、密码登录
    • 重置密码
  • 充值话费
  • 支付宝支付
  • 查询订单

标签:String,APP,client,某信,so,营业厅,com,ct
From: https://www.cnblogs.com/super19911115/p/17500040.html

相关文章

  • 连接app的封装方法
    importpsutilfrompywinauto.applicationimportApplicationfrompywinautoimportDesktop,WindowSpecificationclassConnApp:@staticmethoddefconn_single_proc_app(proc_name:str,proc_path:str,app_backend:str="win32",......
  • idea的创建与使用mapper映射文件
    一.创建mapper映射文件在设置中模板<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="&......
  • Dapper简单使用读写分离
    usingDapper;usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Threading.Tasks;usingSystem.Linq;usingCloudCubic.Common.LogHelper;usingCloudcubic.Common;usingSystem.Diagnostics;namespace......
  • sloans的application.properties
    #应用名称spring.application.name=spbsloans#应用服务WEB访问端口server.port=8999server.servlet.context-path=/spbsloans#配置mybatis##配置数据源信息spring.datasource.username=rootspring.datasource.password=rootspring.datasource.url=jdbc:mysql://l......
  • Uniapp仿ChatGPT Stream流式输出(非Websocket)
    前言最近写一个chagpt小程序,流式输出可以使用websocket也可以使用stream来实现,这里就不折腾websocket的了,我发现uniapp实现流式输出的方式挺多的,主要是有些小程序还不兼容,花了点时间研究了一下。EventSourceEventSource也称为SSE(Server-SentEvents),是服务器推送的一个网络事件......
  • org.springframework.boot.builder.SpringApplicationBuilder.init([LjavalangObject;
    一SpringBoot2.0.4集成SpringCloud异常:org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Object;)V二、异常处理参考:缘起初学springcloud的朋友可能不知道,其实SpringBoot与SpringCloud需要版本对应,否则可能会造成很多意料之外的错误,比如eureka注册了......
  • Tomcat项目不放在webapps下放在别的盘符目录下的配置
    一、项目不放在tomcat下的webapps下,而是放在别的盘符路径下,在service.xml中加以配置即可,配置如下:<HostappBase="webapps"autoDeploy="true"name="localhost"unpackWARs="true"xmlNamespaceAware="false"xmlValidation="false">......
  • Android Application Task Activities的关系
    什么是Android Application?简单来说,一个apk文件就是一个Application。任何一个AndroidApplication基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响应。这些Activities捆绑在一起成为了一个处理特定需求......
  • Proj. CAR Paper Reading: Dire: A neural approach to decompiled identifier naming
    Abstract本文:工具:DIRE(DecompiledIdentifierRenamingEngine)任务:variablenamerecovery方法:使用词法和结构信息计算概率提出数据集:164632uniquex86-64binariesCprojsongithub实验效果:74.3%相符......
  • P5709 【深基2.习6】Apples Prologue / 苹果和虫子
    【深基2.习6】ApplesPrologue/苹果和虫子题目描述八尾勇喜欢吃苹果。她现在有$m$($1\lem\le100$)个苹果,吃完一个苹果需要花费$t$($0\let\le100$)分钟,吃完一个后立刻开始吃下一个。现在时间过去了$s$($1\les\le10000$)分钟,请问她还有几个完整的苹果?输入格式输入三......