启xin宝app的token算法破解——frida篇(四)
前两篇文章分析该APP的抓包、的逆向:
启xin宝app的token算法破解——抓包分析篇(一)
启xin宝app的token算法破解——逆向篇(二)
启xin宝app的token算法破解——token分析篇(三)
本篇就将对token的秘钥进行hook,使用上篇提到的frida进行hook,hooknative
方法,获取到秘钥和偏移。
对于frida是什么?
Frida是一个动态代码插桩框架,这里的介绍主要以应用在Android平台应用程序上。动态二进制插桩(DBI)是将外部代码注入到现有的正在运行的二进制文件中,从而让它执行额外操作。DBI可以:
- 访问进程内存
- 在应用程序运行时覆盖函数
- 从导入的类调用函数
- 在堆上查找对象实例并使用
- Hook、跟踪和拦截函数等
怎么使用呢?
pip install frida
(python环境)- 下载服务器二进制文件frida-server要和pip的版本相同
$ adb push frida-server-10.0.1-android-arm /data/local/tmp/frida-server
$ adb shell
cd /data/local/tmp
chmod 755 frida-server
./frida-server
查看frida-server是否启动成功:
frida-ps -U
能看到安卓的应用进程就行
启动成功后开始写python和具体的hook代码。
python代码:
import sys
import frida
def onmsg(msg, data):
print(msg)
jscode = open('qxb.js', 'r', encoding='utf8').read()
session = frida.get_usb_device().attach("com.bertadata.qxb")
script = session.create_script(jscode)
script.on('message', onmsg)
script.load()
sys.stdin.read()
现在可以对该app的具体方法hook
需要hook是MessageUtil
类下的具体方(该代码为参考代码,并不是该app的实际应用代码)
setImmediate(function () {
//延迟1秒调用Hook方法
console.log('start----')
setInterval(test, 1000);
// test()
});
function test() {
Java.perform(function () {
var hook = Java.use('com.类名');
hook.方法.overload('传参类型', 'java.lang.String', 'java.lang.String').implementation = function (a1, a2, a3) {
var ss = this.方法(a1, a2, a3);//调用是本方法
console.log('a1参数1 =' + a1);//打印
console.log('a2参数2 =' + a2);
console.log('a3参数3 =' + a3);
console.log('res=' + ss);
return ss;
};
执行python代码就可以直接打印出需要秘钥和偏移。
拿到秘钥之后我们就需要验证该秘钥了,使用第一篇的token进行解密就可以咯。在实际中需要对改密要进行byte数组转换,更具体的转换方法。需要的话可以关注小白技术公众号讨论技术。
欢迎关注小白微信公众号【小白技术社】,一起学习一起交流
启xin宝app的token算法破解——frida篇(四)的更多相关文章
- 启xin宝app的token算法破解——逆向篇(二)
启xin宝app的token算法破解--抓包分析篇(一)文章已经对该app进行了抓包分析,现在继续对它进行逆向. 对于一个app而言,我们要逆向app,需要知道什么呢? 逆向工具 Java基础,甚至c ...
- 启xin宝app的token算法破解——token分析篇(三)
前两篇文章分析该APP的抓包.的逆向: 启xin宝app的token算法破解--抓包分析篇(一) 启xin宝app的token算法破解--逆向篇(二) 本篇就将对token静态分析,其实很简单就可以搞 ...
- 启xin宝app的token算法破解——抓包分析篇(一)
为了提升逆向技术,最近几日研究了企cha查的sign和启xin宝的token算法,目前已经成功破解,两个app均是最新版,并将企cha查写成爬虫小demo,放在github上,详情查看 https:/ ...
- 天眼查sign 算法破解
天眼查sign 算法破解 最近真的在sign算法破解上一去不复返 前几天看过了企查查的sign破解 今天再看看天眼查的sign算法破解,说的好(zhuang)点(bi)就是破解,不好的就是这是很简单的 ...
- 如何获取应用宝APP ID
二百二维码支持绑定应用宝ID后,android 扫码下载后,微信直接下载APP,不打开应用宝页面,非常方便APP进行推广 那如何获取应用宝APP ID呢, 请参考下面的教程 一, 打开http: ...
- 淘宝SKU组合查询算法实现
淘宝SKU组合查询算法实现 2015-11-14 16:18 1140人阅读 评论(0) 收藏 举报 分类: JavaScript(14) 目录(?)[+] 前端有多少事情可以做,能做到多 ...
- 重大新闻:借贷宝不用绑卡了,借贷宝APP推出肖像识别新功能!
动动手指,20元人民币立即到手:http://www.cnblogs.com/mfryf/p/4754384.html 滴滴打车烧钱十几个亿,狂送打车券,很多人天天免费坐车! 去年年初百度钱包注册奖励 ...
- 天天乐宝APP开发
"互联网+"时代是一个"信息过剩"的时代,也是一个"注意力稀缺"的时代,怎样在"无限的信息中"获取"有限的注意 ...
- 淘宝App直播宝贝数据采集
淘宝App直播宝贝数据采集 前段时间,有人问我关于淘宝app直播频道宝贝如何采集?我尝试了下可以获取的到,模拟器登录不了淘宝,这里有一个坑就是,模拟器有时候会跳到登录页面,登录不了淘宝: 一.用A ...
随机推荐
- RabbitMQ从入门到精通(三)
目录 1. 自定义消费者使用 自定义消费端演示 2.消费端的限流策略 2.1 限流的场景与机制 2.2 限流相关API 2.3 限流演示 3. 消费端ACK与重回队列机制 3.1 ACK与NACK 3 ...
- svg文字描边动画
svg动画在网页中是经常见到的,svg动画使得网页看起来清新美观 任何不规则图形都可以由svg绘制完成,当然也包括文字,文字本身就可以看作一个不规则图形
- 个人永久性免费-Excel催化剂功能第60波-数据有效性验证增强版,补足Excel天生不足
Excel在数据处理.数据分析上已经是公认的最好用的软件之一,其易用性和强大性也吸引无数的初中高级用户每天都在使用Excel.但这些优点的同时,也带出了一些问题,正因为其不同于一般的专业软件,需要专业 ...
- Excel催化剂开源第25波-Excel调用百度AI,返回AI结果
现成的这些轮子,无需调用网页,直接本地离线即可生成). 当然在AI时代,少不了各种AI接口的使用场景,普通开发者只需聚焦在自己的业务场景上,这些AI底层技术,只需类似水煤电一般去BAT这些大厂那里去消 ...
- (图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享
(图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享 IntelliJ IDEA 使用教程.快捷键配置. 该教程针对原始jar包依赖的工程.mav ...
- C/C++中指向结构体变量的指针,调用指向的那个结构体中的成员
设p是指向结构体变量的指针,则可以通过以下的方式,调用指向的那个结构体中的成员: (1)结构体变量.成员名.如,stu.num. (2)(*p).成员名.如,(*p).num. (3)p->成员 ...
- phpStudy集成环境apche+openssl配置本地https
OpenSSl windows环境搭建 网上各种文章都说需要下载多个工具,实际上只要一个程序就好,下载地址http://slproweb.com/products/Win32OpenSSL.html ...
- python课堂整理1
1.变量 变量只能由字母.数字.下划线组成 特例:1.变量不能用数字开头 2.不能是python的关键字 3.最好不要和python内置的东西重复 让变量名有意义 些 python3的关键字 ...
- 如何简单地利用Bitmap为中介储存图片到数据库中
这是我的第一篇博文,请大家多多指教! 大概一个月之前,在跟朋友合作开发一个APP的过程中,我们发现到一个问题:图片的存储.因为数据库没有图片这种数据类型,当用户上传的图片需要存储的时候 ...
- C#七种设计原则
在C#中有七种设计原则 分别是 1.开闭原则(Open-Closed Principle, OCP) 2.单一职责原则(Single Responsibility Principle) 3.里氏替换原 ...