第二部分 由于帖子超长只能分段发了
还是那句话,萌新总结,如有错误请轻喷,我受不了网络暴力~_~
不需要安装,也就是可以跳过下面的内容直接到使用部分)访问github页面选择下载:
,然后选择对应的frida-server,如:
-H 192.168.0.2:65000(ip请改成手机ip),而原生frida需要让adb转发frida端口出来:
import lamda
from lamda.client import *
device=Device("192.168.3.61")
fridar=device.frida
#以下使用frida命令
fridar.enumerate_processes() #一个示例,枚举进程
Java.perform(function(){ //当作主函数
var Course=Java.use('com.busuu.android.api.course.model.ApiCourse'); //这句获取类
Course.getLevels.implementation=function(){ //这里开始是Hook函数,前面的getLevels为要Hook的函数名
console.log("Hook start");
var level=this.getLevels(); //获取下返回值
console.log(level.toString());
return level; //返回函数执行结果,否则这就不是一个纯正的Hook了
}
})
import frida,sys
appPacknName = "com.busuu.android.enc" #请填写对应要调试APK的包名
scriptFile = "1.js" #JS文件名
HOST="192.168.3.61:65000" #frida 位置
# 输出日志的回调方法
def on_message(message, data):
if message['type'] == 'send':
print("[*] {0}".format(message['payload']))
else:
print(message)
manager = frida.get_device_manager()
device = manager.add_remote_device(HOST)
# spawn模式,找到目标包名并重启,在启动前注入脚本
pid = device.spawn([appPacknName])
session = device.attach(pid)
device.resume(pid) #以上两行的顺序不能错
with open(scriptFile, encoding='UTF-8') as f :
script = session.create_script(f.read())
script.on("message", on_message)
script.load() #把js代码注入到目标应用中
#设置一直监听
sys.stdin.read()
更多【(萌新总结)Android渗透测试指引(一):总述②】相关视频教程:www.yxfzedu.com