首页 > 其他分享 >Frida入门使用

Frida入门使用

时间:2022-11-17 10:11:25浏览次数:54  
标签:const showToast 使用 Java Frida frida Invcase com 入门

vscode环境搭建

直接cloen代码,然后在vscode打开文件夹

How to compile & load

$ git clone git://github.com/oleavr/frida-agent-example.git
$ cd frida-agent-example/
$ npm install
$ frida -U -f com.example.android --no-pause -l _agent.js

Development workflow

To continuously recompile on change, keep this running in a terminal:

$ npm run watch

And use an editor like Visual Studio Code for code completion and instant
type-checking feedback.

frida命令

-U 表示通过USB连接设备
-l 表示使用JavaScript文件
-f 会启动指定的app
-D 设备id
-p pid

frida -U -p pid -l app.js

frida代码示例

实例JAVA类

let HashMap = Java.use('java.util.HashMap');     
let hashmap = HashMap.$new();
hashmap .put("PATH", "/sbin:/system/sbin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/nopd/bin");

HookJva类的方法

两种方式都是可以的 格式如下:

Class[方法名].overload(参数类型).implementation = funcation(形参){...}

function hook_method_impl() {

    // const logger = Java.use("com.invcase.LogUtils");
    // const debug = logger.isDebug.value;
    // console.log("LogUtils debug: ", debug)
    // logger.isDebug.value = true;

    // const Invcase = Java.use("com.invcase.Invcase");
    // const showToast = Invcase.showToast.overload('java.lang.String');

    // showToast.implementation = function (msg) {
    //     console.log('frida_method:', msg);
    //     const result = showToast.call(this, msg + " hooked");
    //     return result;
    // };


    // 写法二
    let Invcase = Java.use("com.invcase.Invcase");
    Invcase["showToast"].overload('java.lang.String').implementation = function (content) {
        console.log('showToast is called' + ', ' + 'content: ' + content);
        const ret = this.showToast(content + " hooked");
        return ret;
    };

}

Java.perform(() => {

    hook_env();
});

标签:const,showToast,使用,Java,Frida,frida,Invcase,com,入门
From: https://www.cnblogs.com/tangshunhui/p/16898466.html

相关文章

  • 如何使用分治算法的思想,分治技巧详解
    分治算法分治算法的思想分治算法和递归的区别使用分治算法需要满足的条件经典题目1、二分搜索2、第一个错误的版本3、快速排序4、归并排序5、数组中的逆序......
  • vue3的<setup script>中使用異步函數
    由於vue3的setup一般情況下不允許為async,如果要將setup變成async,則要引入異步組件 <Suspense> <template#default> <SwitchMaintenanceUpdate/> </template> </S......
  • Oracle Autoupgrade 工具介绍、使用
        Autoupgrade是oracle提供的专门用于数据库版本升级工具,通过一条命令和一个配置文件允许dba升级一个或者多个数据库而无需人工干预。    Autoupgrade是ja......
  • OpenGL ES glfw 下载和使用
    目录一.glfw简介二.glfw下载三.glfw编译四.glfw使用1.OpenGLglfw+glad效果演示2.OpenGLglfw+glad《源码下载》五.猜你喜欢零基础OpenGLES学......
  • Vue 中 filter 过滤器的使用
    一、Filter过滤器,将数据进行添油加醋的操作。过滤器分为两种:1、组件内的过滤器(组件内有效)2、全过滤器(所以组件共享)使用前首先注册过滤器,然后再使用。全局过......
  • vue 使用ant design vue组件实现表格操作
    vue使用antdesignvue组件实现点击表格数据弹窗写在columns数组的对象里面customRender:(text,record,index)=>{if(index===this.list.length-1)......
  • 第3章 使用IDEA创建第一个SpringBoot项目
    第3章使用IDEA创建第一个SpringBoot项目@RestController:代表这个类是REST风格的控制器,返回JSON或XML类型的数据@RequestMapping:配置URL和方法之间的映射。可......
  • js中localStorage方法使用的简单介绍
    localStorage提供了几个方法:1、存储:localStorage.setItem(key,value)如果key存在时,更新value2、获取:localStorage.getItem(key)如果key不存在返回null3、删除:localSt......
  • 人工智能,从入门到放弃
    这些天试着玩一下aiStep1:Tensorflow1.15环境的安装和配置   安装和配置TensorFlow   https://blog.csdn.net/weixin_40925977/article/details/107306079   ......
  • 第四十九章 开发自定义标签 - 在action之外使用<csr>标签
    第四十九章开发自定义标签-在action之外使用标签在action之外使用<csr>标签有一些标签可以在规则定义中的操作之外使用。介绍以下标签:<csr:class>Tag<csr:pr......