APKTOOL安装和配置环境变量 和 xposed的安装问题 和 frida安装

本文详细介绍Frida工具的安装步骤及基本使用方法,包括环境配置、frida-server部署到移动设备上,并通过Python脚本示例展示了如何利用Frida进行进程注入和Hook操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()

为了有效保护Android应用的代码不被反编译逆向工程,开发者可以采取多种代码保护措施,包括但不限于代码混淆字符串加密。在Android开发中,代码混淆技术通常通过使用混淆工具(如ProGuard或R8)来实现,这些工具可以重命名类、方法变量名,移除未使用的代码,以及通过各种转换使得代码变得难以理解。而字符串加密则是通过加密解密敏感字符串的方式来保护数据不被轻易读取。这通常需要开发者实现自定义的加密算法或使用现成的加密库。 参考资源链接:[Android应用代码保护与反保护技术探究](https://wenku.csdn.net/doc/4qk7ja4k3h?spm=1055.2569.3001.10343) 实现代码混淆字符串加密的过程可能会遇到一些技术难点,比如混淆过程中可能出现的一些兼容性问题,例如由于混淆导致的类名或方法名冲突,以及混淆后代码的调试难度增加。字符串加密可能带来的性能开销也是一个需要关注的点。此外,即使应用了混淆加密,攻击者仍可能通过反编译工具(如apktool、dex2jarJD-GUI)动态分析工具(如FridaXposed)来进行逆向工程。 为了应对这些威胁,开发者可以采取一些附加措施,如在应用中集成防动态分析的检测机制,监控应用运行时的行为,并在检测到逆向工程尝试时采取措施,比如发送警告、限制功能或终止应用运行。同时,可以通过定期更新混淆规则加密算法来提升反逆向工程的难度。还可以使用防篡改技术,确保应用的完整性不被破坏。 在《Android应用代码保护与反保护技术探究》一文中,作者详细讨论了上述各种技术挑战,并提供了实验验证性能分析,为开发者提供了宝贵的参考。通过深入研究实践该文提供的内容,开发者可以更好地理解实施Android应用中的代码保护措施,有效提高应用的安全性。 参考资源链接:[Android应用代码保护与反保护技术探究](https://wenku.csdn.net/doc/4qk7ja4k3h?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值