节约时间,从小细节入手快速frida

frida快速上手

请添加图片描述


## frida快捷启动安装

frida入手很难,不如直接来对照我的frida命令

### frida快速命令执行顺序

启动frida

```java
adb shell
su
/data/local/tmp/frida-server-16.0.1-android-arm64	frida名可以改成自定义的名字

frida转发并获取当前的包名

命令行执行
python hook自动转发.py
python frida获取进程.py
    
想要继续简化可以将两个py脚本合二为一
    具体脚本参照下文

请添加图片描述

常见frida命令大全

1)查看安装了哪些包

conda list
2)查看当前存在哪些虚拟环境

conda env list 
conda info -e

conda create -n flask python=3.7
pip install frida==16.0.1  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install frida-tools==12.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

adb push frida-server-16.0.1-android-arm64 /data/local/tmp/
chmod 777 /data/local/tmp/frida-server-16.0.1-android-arm64

adb push strong-frida-server-16.0.1-android-arm64 /data/local/tmp/
chmod 777 /data/local/tmp/strong-frida-server-16.0.1-android-arm64
  

su 
setenforce 0
/data/local/tmp/frida-server-16.0.1-android-arm64
/data/local/tmp/strong-frida-server-16.0.1-android-arm64

adb pull /sdcard/Alarms ./


端口转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
adb shell "su -c chmod 755 /data/local/tmp/frida-server"
adb shell mount -o rw,remount /system 
adb shell mount -o rw,remount -t auto /
/data/local/tmp/frida-server-16.0.1-android-arm64

每次输入很麻烦,启动快速脚本

python hook自动转发.py

import subprocess
# subprocess.getoutput("adb connect 127.0.0.1:62001")
subprocess.getoutput("adb forward tcp:27042 tcp:27042")
subprocess.getoutput("adb forward tcp:27043 tcp:27043")
# subprocess.getoutput("adb shell /data/local/tmp/frida-server-16.0.1-android-x86_64")
# subprocess.getoutput('adb shell "su -c chmod 755 /data/local/tmp/frida-server-16.0.1-android-arm64"')
# subprocess.getoutput("adb shell /data/local/tmp/frida-server-16.0.1-android-arm64")

直接在pycharm终端里使用python hook自动转发.py命令形成快速转发节约时间

python frida获取进程.py

在frida开始前,往往需要探知apk包名

import frida
#获取设备信息
redv = frida.get_remote_device()

print(redv)
# processes = redv.enumerate_processes()
# for process in processes:
#     print(process)
#获取前台正在运行的app
front_app = redv.get_frontmost_application()
print(front_app)

esses:

print(process)

#获取前台正在运行的app
front_app = redv.get_frontmost_application()
print(front_app)


借助python frida获取进程.py命令可以快速得到当前手机前台正在运行的程序
  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Frida本身并不能直接修改Unity3D Ads的播放时间,但是可以使用Frida来hook Ads类中的相关方法来达到修改广告播放时间的目的。 具体实现步骤如下: 1. 使用Frida的`attach`方法连接到Unity3D游戏进程,例如: ``` frida -U -l script.js com.example.unitygame ``` 2. 在脚本中使用`Java.use`方法获取Ads类的实例,例如: ``` var Ads = Java.use("com.unity3d.ads"); // Ads类的全名需要根据你的游戏进行修改 ``` 3. 在Ads类中查找你要修改的方法,例如: ``` var showMethod = Ads.showInterstitialAd.overload("java.lang.String"); // 查找showInterstitialAd方法 ``` 这里的方法签名需要根据你要修改的方法进行修改。 4. 使用`Interceptor`实例来拦截该方法的调用,例如: ``` showMethod.implementation = function(str) { console.log("showInterstitialAd called with argument: " + str); // 修改广告播放时间 var time = 5000; // 设置广告播放时间为5秒 var handler = new android.os.Handler(); handler.postDelayed(new Java.lang.Runnable({ run: function() { // 在这里添加获得奖励的逻辑 } }), time); this.showInterstitialAd(str); // 调用原始的showInterstitialAd方法 } ``` 这里的代码会在方法被调用时输出一些信息,并继续调用原始的showInterstitialAd方法。你需要在这个方法中加入修改广告播放时间的逻辑。 需要注意的是,修改广告播放时间的实现方式需要根据你的游戏进行修改。在上面的示例代码中,我们使用了Android的`Handler`类和`postDelayed`方法来实现延迟执行获得奖励的逻辑,并将广告播放时间设置为5秒。你可以根据需要修改这些参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值