【app逆向】hook脚本详解(一):基本的hook脚本使用

import frida
import sys
"""
一:修改:1,2,3。三处变量
1,2  包名.类名   var UserModel = Java.use("com.che168.autotradercloud.user.model.UserModel");  
3,方法名 UserModel.方法名.implementation
二:参数个数必须跟逆向的app的一致。

"""
# 连接手机设备
rdev = frida.get_remote_device()

# Hook手机上的那个APP(app的包名字)
# session = rdev.attach("com.che168.autotradercloud")  # 车智赢+   或 进程ID
session = rdev.attach("com.che168.autotradercloud") # 1.4 版本的frida需要添进程名 1.5以上的可以添包名

scr = """
Java.perform(function () {

    // 包.类  1,包名:com.che168.autotradercloud.user.model  2,类名:UserModel
    var UserModel = Java.use("com.che168.autotradercloud.user.model.UserModel");

    // Hook,替换  3,loginByPassword 是方法名
    UserModel.loginByPassword.implementation = function(str,str2,str3,callback){
        console.log(str,str2,str3);

        // 执行原来的方法
        this.loginByPassword(str,str2,str3,callback);
    }

});
"""

script = session.create_script(scr)

script.load()
sys.stdin.read()

总结:hook是app逆向的高频操作,保留好本脚本留用

如果需要获取包名请运行下面的脚本:

# 枚举手机上的所有进程 & 前台进程
import frida

# 获取设备信息
rdev = frida.get_remote_device()
print(rdev)

# 枚举所有的进程
processes = rdev.enumerate_processes()
for process in processes:
    print(process)

# 获取在前台运行的APP
front_app = rdev.get_frontmost_application()
print(front_app)```

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值