开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 37457|回复: 10
收起左侧

[android教程] 分享一次平安旗下某App的逆向分析过程

[复制链接]
结帖率:100% (8/8)
发表于 2019-12-23 04:41:11 | 显示全部楼层 |阅读模式   香港特别行政区*
本帖最后由 单身帝 于 2019-12-23 05:38 编辑

序言

写这篇帖子呢,主要是感叹又到了年底了连夜做项目赚点钱,一年估计就赚钱了七八天所以这一年基本上没赚什么钱,花了大笔的精力在学习钻研上,然后手贱是个撸迷。发这篇帖子算是对像我一样努力向上菜鸟的一次鼓励和支持吧。希望大家冷了有衣穿,饿了有饭吃,伤了有人陪,笑了有人乐,分了有人念,想了有人爱,努力路途上有同道共行,越来越多的共享精神被巨婴的伸手行为消失殆尽,忘自省。

正文

工具们

  • 一款抓包工具(支持SSL抓包)
  • 一款Hook框架(支持java层即可)
  • 一款虚拟机(低配电脑用雷电哈)
  • 一枚IDE
  • 若干在线编码工具
  • 环境安装和设置(这个MD的插件标题标签有BUG啊)

模拟器安装

雷电海外版下载ldplayer.tw 版本今天最新就可
下载好直接NEXT安装,然后随手净化下模拟器系统的环境,删除不必要的app(日后减少杂项的xx包,省的又要过滤~我懒~)
备份好净化后的模拟器镜像包(净化后120M 真的好爽,估计没有ARM内核,不过现在好多APP都有x86内核,毕竟国产芯在国内发展了)
打开任务管理器 查看进程 打开adb.exe进程所在的目录(下文标注 目录1) 在此目录打开cmd 执行adb shell cat /proc/version  输出内核信息 记住内核的 位数

抓包环境安装

下载python3+ 安装(此处推荐电脑使用类Linux系统,各种方便 或者win10,它自带Linux虚拟机)
安装你的抓包软件

Hook环境安装

打开cmd 执行 python -m pip install --upgrade pip 升级下pip(这特么是个天坑,我懒~写了一个批处理方便一键部署所有环境,但是卡在包管理器版本上的错误我忽略了,钻坑钻了好久才知道是这个版本不合格)
安装 frida 执行 pip install frida
然后再执行 pip install frida-tools
注意输出的frida版本,然后去frida的开源仓库下载对应版本的frida-server 我这里是12.8.0(这里是天坑,版本不匹配各种奇葩Bug)
我这里下载的是 frida-server-12.8.0-android-x86 解压到 目录1(因为adb在那嘛  我懒~)
在目录1 打开cmd 执行 adb push frida-server-12.8.0-android-x86 /data/local/tmp/frida-server
然后 adb shell chmod 777 /data/local/tmp/frida-server 给执行权限
然后 adb shell "/data/local/tmp/frida-server" 可以加&后台运行 没有&就是前台运行,或许用雷电默认内核会有警告提示,直接忽视 不是Error一般我不理会(任性)
最后转发下端口 adb forward tcp:27042 tcp:27042adb forward tcp:27043 tcp:27043验证下是否成功安装frida frida-ps -R 打印出进程列表就代表成功咯
可以放肆浪了~

正式抓包

模拟器安装App 发现不论是Charles 还是 Fiddler 或者 BurpSuite 什么的只要一开抓包就直接提示网络出小差、网络断开、服务器无响应之类的,很明显嘛证书被锁定了,你即使替换成了中间人的证书也是徒劳无功
此时我们需要在相对底层Hook掉SSL证书校验函数(或者读取/注册函数)或者你也可以Hook文件读取函数(把证书替换掉嘛)
我就直接给出大佬针对几个http请求类做的Hooker
[   DISCUZ_CODE_0   ]
保存为hook.js 执行 frida -U 包名 --no-pause -l hooks.js
然后请进行日常抓包流程,你就发现一切都是美好的







结帖率:100% (1/1)
发表于 2021-5-3 23:28:26 | 显示全部楼层   湖南省长沙市
抓包随便用个工具v*n做转发就可以了,关键还是设备风控要考虑
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2020-12-31 08:45:15 | 显示全部楼层   湖北省武汉市
楼主,如果某个应用一执行脚本,就应用崩溃,报错Failed to attach: timeout was reached。可能是什么原因了?
回复 支持 反对

使用道具 举报

发表于 2020-10-28 16:17:54 | 显示全部楼层   湖南省长沙市

模拟器安装App 发现不论是Charles 还是 Fiddler 或者 BurpSuite 什么的只要一开抓包就直接提示网络出小差、网络断开、服务器无响应之类的,很明显嘛证书被
回复 支持 反对

使用道具 举报

发表于 2020-10-28 16:17:41 | 显示全部楼层   湖南省长沙市

然后再执行 pip install frida-tools
注意输出的frida版本,然后去frida的开源仓库下载对应版本的frida-server 我这里是12.8.0(这里是天坑,版本不匹配各种奇葩Bug)
我这里下载的是 frida-server-12.8.0-android-x86 解压到 目录1(因为adb在那嘛  我懒~)
在目录1 打开cmd 执行 adb push frida-server-12.8.0-android-x86 /data/local/tmp/frida-server
然后 adb shell chmod 777 /data/local/tmp/frida-server 给执行权限
然后 adb shell "/data/local/tmp/frida-server" 可以加&后台运行 没有&就是前台运行,或许用雷电默认内核会有警告提示,直接忽视 不是Error一般我不理会(任性)
最后转发下端口 adb forward tcp:27042 tcp:27042 和 adb forward tcp:27043 tcp:27043验证下是否成功安装frida frida-ps -R 打印出进程列表就代表成功咯
可以放肆浪了~

正式抓包

模拟器安装App 发现不论是Charles 还是 Fiddler 或者 BurpSuite 什么的只要一开抓包就直接提示网络出小差、网络断开、服务器无响应之类的,很明显嘛证书被锁定了,你即使替换成了中间人的证书也是徒劳无功
此时我们需要在相对底层Hook掉SSL证书校验函数(或者读取/注册函数)或者你也可以Hook文件读取函数(把证书替换掉嘛)
我就直接给出大佬针对几个http请求类做的Hooker
[   DISCUZ_CODE_0   ]
保存为hook.js 执行 frida -U 包名 --no-pause -l hooks.js
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2020-10-8 21:51:43 | 显示全部楼层   江西省南昌市
呃呃呃呃呃呃呃呃呃呃呃呃
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 3 天

发表于 2020-2-24 20:56:46 | 显示全部楼层   四川省绵阳市
谢谢
序言
写这篇帖子呢,主要是感叹又到了年底了连夜做项目赚点钱,一年估计就赚钱了七八天所以这一年基本上没赚什么钱,花了大笔的精力在学习钻研上,然后手贱是个撸迷。发这篇帖子算是对像我一样努力向上菜鸟的一次鼓励和支持吧。希望大家冷了有衣穿,饿了有饭吃,伤了有人陪,笑了有人乐,分了有人念,想了有人爱,努力路途上有同道共行,越来越多的共享精神被巨婴的伸手行为消失殆尽,忘自省。

正文
工具们

一款抓包工具(支持SSL抓包)
一款Hook框架(支持java层即可)
一款虚拟机(低配电脑用雷电哈)
一枚IDE
若干在线编码工具

环境安装和设置(这个MD的插件标题标签有BUG啊)

模拟器安装

雷电海外版下载ldplayer.tw 版本今天最新就可
下载好直接NEXT安装,然后随手净化下模拟器系统的环境,删除不必要的app(日后减少杂项的xx包,省的又要过滤~我懒~)
备份好净化后的模拟器镜像包(净化后120M 真的好爽,估计没有ARM内核,不过现在好多APP都有x86内核,毕竟国产芯在国内发展了)
打开任务管理器 查看进程 打开adb.exe进程所在的目录(下文标注 目录1) 在此目录打开cmd 执行adb shell cat /proc/version  输出内核信息 记住内核的 位数

抓包环境安装

下载python3+ 安装(此处推荐电脑使用类Linux系统,各种方便 或者win10,它自带Linux虚拟机)
安装你的抓包软件

Hook环境安装

打开cmd 执行 python -m pip install --upgrade pip 升级下pip(这特么是个天坑,我懒~写了一个批处理方便一键部署所有环境,但是卡在包管理器版本上的错误我忽略了,钻坑钻了好久才知道是这个版本不合格)
安装 frida 执行 pip install frida
然后再执行 pip install frida-tools
注意输出的frida版本,然后去frida的开源仓库下载对应版本的frida-server 我这里是12.8.0(这里是天坑,版本不匹配各种奇葩Bug)
我这里下载的是 frida-server-12.8.0-android-x86 解压到 目录1(因为adb在那嘛  我懒~)
在目录1 打开cmd 执行 adb push frida-server-12.8.0-android-x86 /data/local/tmp/frida-server
然后 adb shell chmod 777 /data/local/tmp/frida-server 给执行权限
然后 adb shell "/data/local/tmp/frida-server" 可以加&后台运行 没有&就是前台运行,或许用雷电默认内核会有警告提示,直接忽视 不是Error一般我不理会(任性)
最后转发下端口 adb forward tcp:27042 tcp:27042 和 adb forward tcp:27043 tcp:27043验证下是否成功安装frida frida-ps -R 打印出进程列表就代表成功咯
可以放肆浪了~

正式抓包

模拟器安装App 发现不论是Charles 还是 Fiddler 或者 BurpSuite 什么的只要一开抓包就直接提示网络出小差、网络断开、服务器无响应之类的,很明显嘛证书被锁定了,你即使替换成了中间人的证书也是徒劳无功
此时我们需要在相对底层Hook掉SSL证书校验函数(或者读取/注册函数)或者你也可以Hook文件读取函数(把证书替换掉嘛)
我就直接给出大佬针对几个http请求类做的Hooker
[   DISCUZ_CODE_0   ]
保存为hook.js 执行 frida -U 包名 --no-pause -l hooks.js
然后请进行日常抓包流程,你就发现一切都是美好的
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
 楼主| 发表于 2020-1-20 20:26:35 | 显示全部楼层   湖南省长沙市
南宫娜月汐 发表于 2020-1-20 17:59
写的很棒!~ 感谢大佬分享!

共同进步            。
回复 支持 反对

使用道具 举报

发表于 2020-1-20 17:59:10 | 显示全部楼层   上海市上海市
写的很棒!~ 感谢大佬分享!
回复 支持 反对

使用道具 举报

发表于 2019-12-24 11:33:53 | 显示全部楼层   广东省深圳市
为啥戛然而已了.. 单身兄继续啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表