当前位置: 首页 > news >正文

9.2 安卓逆向之—Frida持久化方案

9.2 安卓逆向之—Frida持久化方案

  摘要:

做逆向有一个必不可少的工具是Frida,动态调试工具。 官网地址:https://frida.re。他是很多端同样的动态hook 技术,可以输出日志,动态调试,后边还会讲到怎么操作界面等。方便逆向第一步的开发。可以支持安卓,苹果,桌面应用。这次主要讲的是怎么发布Frida脚本,比如我写好了一个脚本,我怎么给客户使用,活着别人打包直接使用。

一,一般的Frida 脚本的运行方式:

在手机端运行 frida_server ,然后执行脚本 //frida -U --no-pause -f com.xx -l test.js

com.xx 是app identifier, test.js 是脚本。

二,现有的方案介绍:

定制room

刷机room,改配置等. 

定制room, 或者各种方案,比较麻烦。

三, 我的方案

需要root 手机,但是可以直接打包app,就比较方便省事。

3.1 集成步骤

引入 fridainjector 库项目。比如在MainActivity 可以这样写。

public class MainActivity extends AppCompatActivity implements OnMessage {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        try {

            // build an instance of FridaInjector providing binaries for arm/arm64/x86/x86_64 as needed

            // assets/frida-inject-12.8.2-android-arm64

            FridaInjector fridaInjector = new FridaInjector.Builder(this)

                    .withArm64Injector("frida-inject-12.8.2-android-arm64")

                    .build();



            // build an instance of FridaAgent

            FridaAgent fridaAgent = new FridaAgent.Builder(this)

                    .withAgentFromAssets("agent.js")

                    .withOnMessage(this)

                    .build();



            // register a custom interface

            fridaAgent.registerInterface("activityInterface", Interfaces.ActivityInterface.class);



            // inject whatsapp

            fridaInjector.inject(fridaAgent, "com.suning.mobile.ebuy", true);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }



    @Override

    public void onMessage(String data) {

        try {

            JSONObject object = new JSONObject(data);

            Log.e("FridaAndroidInject", "whatsapp pid: " + object.getString("pid"));

        } catch (JSONException e) {

            e.printStackTrace();

        }

    }

}

onMesage 就是js 脚本发送过来的消息。

需要注意的事项:

1,有些js 方法可以不能执行。

2,日志很难打,最后onmess 多写信息。

下载地址

https://download.csdn.net/download/yijianxiangde100/86271926

相关文章:

  • Frida IOS 堆栈输出与IDA 对应
  • 点击app图标和从任务列表打开activity不一样问题
  • AndroidStudio的alt+enter 没有效果 没有解决方案提示
  • 解决java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader couldn't find libDatabaseOp.so
  • 关于Android Studio 错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum
  • 集成友盟推送android
  • 关于友盟推送收不到消息,有可能是用的不是友盟的V4包
  • 关于 loopj/android-async-http java.net.SocketTimeoutException 错误
  • com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/NOTICE
  • 把Eclipse项目转化AndroidStudio项目中遇到的问题
  • Unsupported major.minor version...finished with non-zero exit value 1解决办法
  • androidstudio auto import 自动导包
  • Android Studio没有Logcat日志信息解决方法
  • androidstudio初次成功混淆遇到的问题
  • Android常用小知识
  • JavaScript中的对象个人分享
  • SAP云平台里Global Account和Sub Account的关系
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端技术周刊 2019-02-11 Serverless
  • 悄悄地说一个bug
  • 如何编写一个可升级的智能合约
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 什么软件可以剪辑音乐?
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 以太坊客户端Geth命令参数详解
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • MPAndroidChart 教程:Y轴 YAxis
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (2022 CVPR) Unbiased Teacher v2
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (五)关系数据库标准语言SQL
  • (译)计算距离、方位和更多经纬度之间的点
  • (原)Matlab的svmtrain和svmclassify
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 获取url的方法
  • .Net 垃圾回收机制原理(二)
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • @Validated和@Valid校验参数区别
  • @vue/cli 3.x+引入jQuery
  • [ C++ ] STL---string类的模拟实现
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Angularjs]ng-select和ng-options
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测