1,下载Windows 包装器脚本(右键单击,将链接另存为apktool.bat) 链接: link.
2,将apktool.jar下载 链接: link
3,下载的两个文件(apktool.bat和apktool.jar)存储到同一文件夹下。
4,win7 系统环境变量设置
5, 任意路径cmd终端测试:
xposed的安装问题
https://www.cnblogs.com/qianyz/p/14932248.html
https://blog.csdn.net/weixin_41748164/article/details/109010456
frida安装与启动 (frida版本必须对应)
python3.6 -m pip install frida==12.8.0
python3.6 -m pip install frida-tools==5.3.0
python3.6 -m pip install objection==1.8.4
如果下载较慢 可配置pip镜像下载
然后安装frida-server12.8.0:
1,先判断手机型号
adb shell
getprop ro.product.cpu.abi
arm为手机 x86一般为模拟器
根据不同型号进行下载(此处使用arm frida==12.8.0下载frida-server-12.8.0-android-arm)
https://github.com/frida/frida/releases/tag/12.9.7
解压下载文件frida-server-12.8.0-android-arm,进入文件夹,修改名字为 frida-server,将文件推送到手机
下面重点来了
1,推送文件
adb push frida-server /data/local/tmp/
adb shell
2,端口转发
adb forward tcp:27042 tcp:27042
再来个
adb forward tcp:27043 tcp:27043
3, 进入命令 并 su
adb shell
su root
setenforce 0 变为Permissive模式就可以了
#补充
#0: 切换成 permissive(宽容模式);
#1: 切换成 enforcing(强制模式)
cd /data/local/tmp
4, 修改权限
chmod 777 frida-server
5, 运行
./frida-server
想后台运行加 ./frida-server &
此时查看frida-server是否 启动成功 另外启动窗口
frida-ps -U
frida代码示例:
import frida, sys
def on_message(message, data):
if message['type'] == 'send':
print(" [*] {0} ".format(message['payload']))
else:
print(message)
jscode = """
var v = Java.androidVersion;
send('version:' + v);
// 获取应用的加载类
var classnames = Java.enumerateLoadedClassesSync();
for (var i=0; i < classnames.length; i++){
send('class.name: ' + classnames[i]);
}
"""
jscode_signature = """
Java.perform(function(){
var TestSig = Java.use('com.yaotong.crackme.MainActivity');
TestSig.securityCheck.implementation = function (){
send('i am here');
return true;
}
}
)
"""
# process = frida.get_usb_device().attach('com.yaotong.crackme')
process = frida.get_remote_device().attach('com.yaotong.crackme')
script = process.create_script(jscode_signature)
# script = process.create_script(jscode)
script.on('message', on_message)
print('[*] print ctf')
script.load()
sys.stdin.read()