原生安卓开发app的框架frida安装和Python小试牛刀

原生安卓开发app的框架frida安装和Python小试牛刀

本教程只用于学习探讨,不允许任何人使用技术进行违法操作,阅读教程即表示同意!

什么是frida?

frida是一个hook原生安卓开发app的一个框架,也不止安卓,像ios和win等,都支持,但是好像看到用的不太多。

注意,是原生,就是用Java+安卓开发的app。

还有些是H5之类的,这些是hook不成的,当然,市面上最起码80%的app都是原生开发,不必担心。

再说,H5开发的不是更容易破解?懂的都懂!

什么是hook?

hook英文是钩子的意思,可以理解为一堆水管流水,我在某个水管中间挖一个洞,操作一波再继续流。

当然,我也可以只看看某个水管有没有水。

上述这个过程就叫做修改和验证!

创建Python虚拟环境

可以使用编写的简单Python环境管理器快速创建一个虚拟环境,可视化就是好,再也不用记该死的命令了!

相关链接:https://blog.csdn.net/tianyi19/article/details/121387317?spm=1001.2014.3001.5501

这里已经创建完毕,虚拟环境名为frida_env

我的环境

pixel 2 Android 8(已root) 通过usb连接电脑Magisk 23.0Xposed 3.1.5Python 3.8.6

frida版本和Android系统版本和Python版本

frida12.3.6 Android5-6 Python3.7frida12.8.0 Android7-8 Python3.8frida14+ Android9+ Python3.8

当然,这是一个差不多的参考价值,不一定准,具体情况具体分析。

frida安装

在安装frida时,尽量科学上网,因为frida好像会下载一些东西,不科学上网非常慢…可能会卡住很长时间!

依赖包

根据我的环境,这是我的依赖包,在虚拟环境中pip安装即可!

frida==14.2.18frida-tools==9.2.5

验证

安装完成之后,分别执行frida –version和导入frida,如果没有报错则表示安装成功!

frida-server安装

frida-server下载链接:https://github.com/frida/frida/releases/

注意事项

  • frida-server版本和pip安装的frida版本要一致

  • 平台要选对,手机是安卓还是ios?arm32还是arm64?还是模拟器?

综上所述,我pip的frida版本为14.2.18,手机是arm64,所以要下载这个!

将frida-server推送到手机上

adb push frida-server-14.2.18-android-arm64 /data/local/tmp

查看手机data/local/tmp下面的frida-server文件

确实存在,ok。

给frida-server文件复制权限

chmod 777 frida-server-14.2.18-android-arm64

运行frida-server文件

./frida-server-14.2.18-android-arm64

这样就已经运行起来了,他是不会有提示的,是直接wait在这的!

注意啊,这个cmd窗口是不能关的,一直挂这就行!

验证

激活上述创建好的虚拟环境,执行以下命令。

frida-ps -U

如果出现以下信息,表示正确!这是手机的一些信息,表示能获取到。

到这,pc端的frida和手机端的frida-server就建立成功了,主要流程就是

  • pc端安装frida

  • 手机端运行frida-server

老版本注意事项

如果frida版本<=12,好像是要进行端口转发的

adb forward tcp:27042 tcp:27042

关于frida和frida-server的总结

pc上配置frida没什么好说的了,创建一个虚拟环境,安装frida就好了。

手机上的话,第一次需要把frida-server拷贝到/data/local/tmp下和chmod

然后运行这个frida-server,命令总结一下大概为:

adb shellsucd /data/local/tmp./frida-server-14.2.18-android-arm64

下次使用直接复制就可以了!

WebStorm安装

因为frida使用的是js语言,并且需要安装一个代码自动提示插件,所以WebStorm最合适,官网下载点击下一步下一步即可。

这里不做叙述。

嗯,还需要安装node,自己折腾吧!

WebStorm frida配置

创建一个空项目,选择合适的目录。

打开项目,点击下面的Terminal,输入npm i @types/frida-gum安装frida代码自动提示。

这不,关于frida的代码就能自动提示了!

题外话

  • 不一定非得用webStorm,主要是用npm i @types/frida-gum来安装代码自动提示,只要安装上,pycharm,idea,vs都可以出提示的,但是还是jetbrains公司的东西好使!

小试牛刀之某某牛流程验证

apk

xx牛.apk

抓包分析

通过Charles+postern进行抓包,发现登录用的接口为http://api.dodovip.com/api/user/login

可以发现带的数据是一个{“Encrypt”:”xxx”},擦,这是什么玩意啊???

apk反编译

这个apk是没有加固的,通过反编译搜索一下user/login试试!!!

找到了两处user/login,其中一个是login函数

那么,现在问题来了,到底user/login走的是不是login?如何验证?

frida辅助分析

代码

Java.perform(function {console.log(“开始hook”);//找到要hook的类let loginActivity = Java.use(“com.dodonew.online.ui.LoginActivity”);//重写hook的函数loginActivity.login.implementation = function (userName, pwd) {console.log(“login函数执行”);console.log(“userName:”, userName);console.log(“pwd:”, pwd);//再执行原来的login,保证程序正常执行return this.login(userName, pwd);}})

代码解读

启动frida

命令

frida -U -F -l xx牛.js-U 连接USB设备-F 附加到最前面的app-l 注入的js

示例

查看是否hook上

此时点击手机上面的登录按钮,然后看pc上控制台的输出!

确实输出了,经过验证,确实是执行了这个login。

然后你再进行一遍hook和分析即可。

下节课就来分析如何自动登录这个app!

总结

想要玩转hook,大概分为以下几步

  • pc创建虚拟环境,安装frida。

  • push frida-server到手机上,并且运行起来挂那。

  • 编写hook代码。

  • 人生没有白走的路,加油!

    如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

    郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
    (0)
    用户投稿
    上一篇 2022年6月18日
    下一篇 2022年6月18日

    相关推荐

    • 面试必备 – Python 垃圾回收机制

      众所周知,Python 是一门面向对象语言,在 Python 的世界一切皆对象。所以一切变量的本质都是对象的一个指针而已。 Python 运行过程中会不停的创建各种变量,而这些变量…

      2022年7月11日
    • iPhone14或9月7日发布!iPhone14Pro预计涨价100美元,网友:依然感觉自己的手机很流畅

      中国经济周刊-经济网讯 据彭博社Mark Gurman报道,苹果公司计划在9月7日(预计北京时间9月8日凌晨)举行秋季发布会活动。该活动将重点发布iPhone 14系列机型和App…

      2022年8月21日
    • 一千出头的硬核户外智能手表,华米Amazfit T-Rex 2使用体验

      大家好,我是梦想是个猪,今天为大家带来一款更具硬汉风格的智能手表使用体验。 前言 在我的印象中,好像除了几个专业运动手表品牌推出的智能手表,在外观设计上会偏运动户外风格之外,其他的…

      2022年6月13日
    • XYG和EDGM一战热度突破4000万,EDG粉丝来助阵,关门打狗太败好感

      KPL夏季赛季后赛第一场就爆出了个大冷门,XYG2-4不敌上海EDGM,直接结束了本赛季的征程,并且接下来也将无缘挑战者杯。这一场比赛的关注度非常高,在某平台的热度甚至突破了400…

      2022年8月19日
    • 魅族确认已被吉利收购,魅族18成绝唱

      自去年以来,魅族一直遭质疑被吉利公司收购,魅族可能担心现存的手机业务遭到影响,对外迟迟未作回应。近日关于魅族被吉利收购的声音越来越多了,魅族也正式对此作出回应,正如大家的质疑,魅族…

      2022年6月16日
    • 最小二乘法公式推导过程

      假设现在有n对坐标系中的点 现在要做k阶多项式拟合,多项式函数如下 将已知的观测点数据代入上述公式得到如下n组等式: …… 最小二乘法(又称最小平方法)是一…

      2022年6月28日
    • 艾尔海森:数万少女的梦

      #原神# #须弥# 各位旅行者大家好,原神最新的须弥前瞻短片明慧的序曲中,爆料了众多下个版本中的新角色,其中一位名叫艾尔海森的角色备受玩家关注。 艾尔海森介绍 艾尔海森 流派:须弥…

      2022年8月2日
    • 对象存储-MinIo

      简介: 构建高性能的云原生数据、机器学习,大数据分析,海量存储的基础架构、MinIO支持各种应用程序数据工作负载。 特点: 高性能 可扩展性 云的原生支持 简单 开放全部源代码 +…

      2022年9月19日
    • 扫一扫就可以连上WiFi?再也不用记录WiFi密码了

      朋友来你家做客,你是否遇到过这种情况?朋友问你家的WiFi密码多少,你想了好久却只能露出尴尬而不失礼貌的微笑回答他:“不好意思,我忘了。” 其实,手机扫一扫二维码就能轻松加入WiF…

      2022年7月30日
    • 我们班主任被盗了1万多元学生募集款,怀疑是我们班长偷的,我们班长该如何自证清白?

      你们班主任被盗了1万多元钱学生募集款,这种情况下,只能够报警,如果警察没有查出来,就只有自认倒霉了。 前两年,我们学校老师要收学生的伙食费,就有年轻老师把钱放在办公室,晚上才想起来…

      2022年7月30日

    联系我们

    联系邮箱:admin#wlmqw.com
    工作时间:周一至周五,10:30-18:30,节假日休息