车智赢.apk 登录逆向python代码复现

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

一、准备工作:

软件:车智赢+  v5.6.1.apk

0 确保手机和电脑,处于同一个路由器--》处于同一个网络

1 电脑端,启动charles,确认本机电脑ip地址:192.168.71.80 8888

2 手机端:代理设置-->设置好电脑的ip和端口

3 打开app,开始抓包

4 点击登录后(此处账号密码可以随意),使用charles抓包,如下图

appid:atc.android #固定值
sign:5FC67BB1A8F6FB695AD0071BF74CEDD5   #像加密,需要破解
appbuildcode:512    #固定的值
appchannelid:csy    #固定值,尝试删除,再发包试一下
appversion:5.6.1     #版本固定值
channelid:csy   固定值
pwd:25d55ad283aa400af464c76d713c07ad   #密码加密了,需要破解

我们成功获取了一些重要的信息,可以看到sign 、pwd加密了。

总结: pwd加密 _sign 破解 udid 破解

二、反编译app

操作流程:

1 使用jadx打开 app,把app拖入

 2 根据关键字搜索:根据地址搜索--》搜索  login/login.ashx
    https://dealercloudapi.che168.com/tradercloud/sealed/login/login.ashx


 3 搜到一个结果--》双击进入
    找到了: UserModel---》常量--》LOGIN_URL

 4 看看谁用了这个常量---》再常量上点右键---》查找用例
    找到一个位置,双击进入

 5 定位到了代码位置

public static void loginByPassword(String str, String str2, String str3, ResponseCallback<UserBean> responseCallback) {
        HttpUtil.Builder builder = new HttpUtil.Builder();
       builder.tag(str).method(HttpUtil.Method.POST).signType(1).url(LOGIN_URL).param("username", str2).param("pwd", SecurityUtil.encodeMD5(str3));
        doRequest(builder, responseCallback, new TypeToken<BaseResult<UserBean>>() { // from class: com.che168.autotradercloud.user.model.UserModel.5
        }.getType());
    }


 6 看到了密码加密位置:SecurityUtil.encodeMD5(str3)
    点进去查看,看到是md5加密


 7 如果不确定,咱们可以用代码确认是不是这个位置
    # python把明文密码--》使用md5加密--》看看跟抓包抓到的是否一样
   

import  hashlib
    md5=hashlib.md5()
    md5.update(b"2234567")
    print(md5.hexdigest())
    # d1999a2caf49c63987d19e2ee981ead8
    #抓包抓到的--》密码加密就是md5
    # d1999a2caf49c63987d19e2ee981ead8


 8 如果不确定,通过hook确认是不是这个位置
    -写hook脚本--》只要点击登录,hook脚本有输出,说明位置是正确的

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值