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

逆向分析某信营业厅APP

时间:2023-06-23 20:01:09浏览次数:31  
标签:String APP client 某信 so 营业厅 com 抓包 ct

逆向分析某信营业厅APP

APP版本号 10.3.2

工具

  • IDA
  • FRIDA
  • JEB

抓包分析

逆向分析某信营业厅APP_中国电信

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

查壳、脱壳

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

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

执行完,APP自动退出,控制台中出现

逆向分析某信营业厅APP_爱加密_02

根据以下两个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

逆向分析某信营业厅APP_中国电信_03

  • 脱壳
frida -U -f com.ct.client -l dx_dump_dex.js --no-pause

逆向分析某信营业厅APP_中国电信_04

成功脱壳!!! 只需将 /data/data/com.ct.client/files/dump_dex_com.ct.client/ 目录下的dex文件 下载至电脑,将其导出即可。

逆向分析某信营业厅APP_电信_05

反编译

将dex文件拖至jeb,将其导出即可

逆向分析某信营业厅APP_电信_06

抓包

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

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

执行完以上脚本,成功抓包

逆向分析某信营业厅APP_中国电信_07

登录逆向

逆向分析某信营业厅APP_爱加密_08

经过分析,确定以下接口为登录整个过程

逆向分析某信营业厅APP_电信_09

加密参数

  • 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) {
    }

逆向分析某信营业厅APP_电信_10

JAVA翻写 UtilEncryptRsa

逆向分析某信营业厅APP_电信_11

已实现功能:

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

标签:String,APP,client,某信,so,营业厅,com,抓包,ct
From: https://blog.51cto.com/u_15897166/6538946

相关文章

  • 逆向分析某信营业厅APP
    逆向分析某信营业厅APPAPP版本号10.3.2工具IDAFRIDAJEB抓包分析可以看到显示红色的,抓包失败。从ua中可以看到,采用的okhttp通信框架,接下来的思路就是反编译客户端,静态分析。查壳、脱壳经工具查询,得知其采用的是爱加密的壳。FridaHookfrida-U-fcom.ct.client......
  • 连接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%相符......