彩贝网app破解登入参数(涉及app脱壳,反编译java层,so层动态注册,反编译so层)
一.涉及知识点
app脱壳
java层
so层动态注册
二.抓包信息
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
三.分析
x-app-lng: 121.xxx
x-app-lat: 31.xxxx
x-app-locationcityid: xxx
x-app-cityid: xxxx
#这些是地理信息
x-app-encrypt-text
#这个明显是加密信息
#请求参数中pw很明显做了加密
四.开始找参数
#首先先不管请求头直接搞请求参数加密
#为什么呢不搞请求头呢,因为请求头未必有用
脱壳
日常习惯看看有没加壳

简单的加固而已
看我往期的博客
https://www.cnblogs.com/pythonywy/p/13536130.html
定位加密参数
这个全经验吧,同学们自己多多专研这个很难教

#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
运行发现他还需要请求头进行破解
破解请求头
#找java层方法都一样,日积月累关键字查找,你会发现x-app-encrypt-text在so文件中
反编译so文件
1.修改apk的后缀名为zip
2.用ida打开so文件
获取so层方法的偏移位置
我之前的代码
https://www.cnblogs.com/pythonywy/p/13787332.html
定位位置之后找盐




哈哈,盐就是这个
至于入参毕竟是他人的app我就不写的很详细拉
方法和思路都有了大家可以去试试
彩贝网app破解登入参数(涉及app脱壳,反编译java层,so层动态注册,反编译so层)的更多相关文章
- Node.js+Express+MongoDB数据库实现网页注册登入功能
通过 Node.js + Express + MongoDB 实现网页注册账号 和 登入账号的功能 项目准备: 1: 事先准备好项目的页面 (首页页面 index.html)(登入页面 login.h ...
- 爬虫破解知乎登入(不使用Selenium模块)
一.分析 知乎完成登入的步骤 首先获得cookies(如果不获得后面验证码无法获得) 获得验证码 提交登入相关内容 前两步简单稍微细心寻找规律即可 其中最难的是第三步应该他前端进行了js加密 这里没什 ...
- python_Django 实现登入功能form表单的参数接收处理
1.创建Django工程. 参考https://www.cnblogs.com/CK85/p/10159159.html中步骤. 2.在urls.py文件中添加url分发路径 "" ...
- 14-python登入教务网(python+bs4)
用request先得到到session对象,用其去放送请求,会自动保存cookie. 模拟有验证码的登入步骤: 1.发送请求登入页面: 2.分析验证码的地址,以及要将登入请求发往的地址(可以先输入错的 ...
- Mac app 破解之路
6年之前一直做过一些内存挂,脚本挂.都是比较低级的技术. 这几年期间,断断续续利用业余时间学了一些汇编的知识,当时只是想着破解游戏. 所有的黑技术都是业余自学的,没有老师可以问,只能百度和自己领悟,比 ...
- [ASP.NET MVC] ASP.NET Identity登入技术应用
[ASP.NET MVC] ASP.NET Identity登入技术应用 情景 ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证.授权等等机制.在ASP.NET I ...
- [Django]登陆界面以及用户登入登出权限
前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF = 'www.urls'# ...
- c#实现Google账号登入授权(OAuth 2.0)并获取个人信息
c#实现Google账号登入授权(OAuth 2.0)并获取个人信息 此博主要介绍通过google 账号(gmail)实现登入,授权方式OAuth2.0,下面我们开始介绍. 1.去google官网 ...
- c#实现microsoft账号登入授权(OAuth 2.0)并获取个人信息
本博主要介绍microsoft 账号授权(OAuth 2.0)登入并获取用户信息的过程,因为写过google账号授权登入的过程,所以这里就简单介绍一下,google授权登入参考地址:http://ww ...
随机推荐
- 源码解读 TDengine 中线程池的实现
这篇文章中提到了 tsched 的源码可以一读,所以去阅读了一下,总共220来行. 1. 阅读前工作 通过上文了解到这段程序实现的是一个任务队列,同时带有线程池.这段程序是计算机操作系统里经典的con ...
- 典藏版Web功能测试用例库
界面显示 初始界面元素:title.内容,默认值.必填项(红*) 样式美观 排版规范 字体统一 编辑页面有光标,定位在第一个可编辑文本框 内容过多时,滚动条 loading ...
- Windows提示80被占用
情景:使用cmd启动某一服务的时候报错[emerg] 7220#6900: bind() to 0.0.0.0:80 failed (10013: An attempt was made to acc ...
- 微信小程序入门到精通
微信小程序账号与工具 在线文档:https://mp.weixin.qq.com/debug/wxadoc/dev/ 小程序开发者账号注册 微信公众平台:https://mp.weixin.qq.co ...
- VMware虚拟机ubuntu下安装VMware Tools步骤
双击VMware Tools进入 找到后缀.tar.gz的压缩文件 将压缩文件复制到home目录下,home目录即左侧的主目录文件夹 打开命令行终端,默认应该就是home目录,如果不是home目录,在 ...
- mysql笔记--基础知识
SQL基础 SQL语句的分类: DQL: 数据库查询语句,基本的就是select查询命令,用于查询数据 DML: 数据操纵语句,用于插入,更新,删除数据,即INSERT, UPDATE,DELETE ...
- 我竟在arm汇编除法算法里找到了leetcode某道题的解法
今天讲讲arm汇编中除法的底层实现.汇编代码本身比较长了,如需参考请直接拉到文末. 下面我直接把arm的除法算法的汇编代码转译成C语言的代码贴出来,并进行解析. 因为篇幅有限,所以在此只解析无符号整型 ...
- 023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之——自增自减运算符
023 01 Android 零基础入门 01 Java基础语法 03 Java运算符 03 算术运算符之--自增自减运算符 本文知识点:Java算术运算符中的自增自减运算符 自增自减运算符 之前我们 ...
- 编写自己的Arduino库
参考及来源超给力啊: https://www.cnblogs.com/lulipro/p/6090407.html https://www.cnblogs.com/lulipro/p/6090407. ...
- matlab中num2str 将数字转换为字符数组
参考:https://ww2.mathworks.cn/help/matlab/ref/num2str.html?searchHighlight=num2str&s_tid=doc_srcht ...