前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >X贝网app破解登入参数(涉及app脱壳,反编译java层,so层动态注册,反编译so层)

X贝网app破解登入参数(涉及app脱壳,反编译java层,so层动态注册,反编译so层)

作者头像
小小咸鱼YwY
发布2020-10-28 11:37:53
1.2K0
发布2020-10-28 11:37:53
举报
文章被收录于专栏:python-爬虫

一.涉及知识点

代码语言:javascript
复制
app脱壳
java层
so层动态注册

二.抓包信息

代码语言:javascript
复制
POST /user/login.html HTTP/1.1
x-app-session: 1603177116420
x-app-lng: 121.xxxx
x-app-lat: 31.xxxxxx
x-app-version: 4.5.6
x-app-pushid: 1a0018970a165a9944f
x-app-locationcityid: xxxxxx
x-app-uuid: cd6df0a047ae0fbb
User-Agent: Caibeike/1.0(com.caibeike.android 4.5.6; Nexus_5;Android 6.0.1; cd6df0a047ae0fbb; zh_CN)
x-app-cityid: xxxx
x-app-platform: android
x-app-nonce: 1683473123
x-app-timestamp: 1603182403928
x-app-encrypt-text: 72157d096e1793b4f7696ea92285e93a
host: mapi.caibeike.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: Keep-Alive
Accept-Encoding: gzip

pw=2aed29ddfb50fc6f07e1a2bf3e6e3d87&mobile=xxxx

三.分析

代码语言:javascript
复制
x-app-lng: 121.xxx
x-app-lat: 31.xxxx
x-app-locationcityid: xxx
x-app-cityid: xxxx
#这些是地理信息

x-app-encrypt-text  
#这个明显是加密信息

#请求参数中pw很明显做了加密

四.开始找参数

代码语言:javascript
复制
#首先先不管请求头直接搞请求参数加密
#为什么呢不搞请求头呢,因为请求头未必有用

脱壳

日常习惯看看有没加壳

简单的加固而已

看我往期的博客

https://cloud.tencent.com/developer/article/1684520

定位加密参数

代码语言:javascript
复制
这个全经验吧,同学们自己多多专研这个很难教
代码语言:javascript
复制
#python转一下
from Crypto.Cipher import AES


class Aes_ECB(object):
    def __init__(self):
        self.key = 'gSPs4aHZL1ocan1w'  #秘钥
        self.MODE = AES.MODE_ECB
        self.BS = AES.block_size
        self.pad = lambda s: s + (self.BS - len(s) % self.BS) * chr(self.BS - len(s) % self.BS)
        self.unpad = lambda s: s[0:-ord(s[-1])]

    # str不是16的倍数那就补足为16的倍数
    def add_to_16(value):
        while len(value) % 16 != 0:
            value += '\0'
        return str.encode(value)  # 返回bytes

    def AES_encrypt(self, text):
        aes = AES.new(Aes_ECB.add_to_16(self.key), self.MODE)  # 初始化加密器
        encrypted_text = aes.encrypt(Aes_ECB.add_to_16(self.pad(text))).hex()
        # 执行加密并转码返回bytes
        return encrypted_text

运行发现他还需要请求头进行破解

破解请求头

代码语言:javascript
复制
#找java层方法都一样,日积月累关键字查找,你会发现x-app-encrypt-text在so文件中

反编译so文件

1.修改apk的后缀名为zip
2.用ida打开so文件

获取so层方法的偏移位置

我之前的代码

https://cloud.tencent.com/developer/article/1721794

定位位置之后找盐

哈哈,盐就是这个

至于入参毕竟是他人的app我就不写的很详细拉

方法和思路都有了大家可以去试试

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.涉及知识点
  • 二.抓包信息
  • 三.分析
  • 四.开始找参数
    • 脱壳
      • 定位加密参数
        • 破解请求头
          • 反编译so文件
            • 1.修改apk的后缀名为zip
            • 2.用ida打开so文件
          • 获取so层方法的偏移位置
            • 定位位置之后找盐
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档