Frida 读取手机内文件

0x01 前言

最近想写一个检测frida环境的脚本,需要读取并查看/proc/self/maps文件中的内容,秉持着简洁之上的原则,不太喜欢用文件流转来转去的,然后google了大半天也没找到一个好方法,最终找到一个相对简洁的版本,以作参考。

0x02 代码

function readFile(fileName){
    console.log("> Reading file: ", fileName);
    var JString = Java.use("java.lang.String");
    var Files = Java.use("java.nio.file.Files");
    var Paths = Java.use("java.nio.file.Paths");
    var URI = Java.use("java.net.URI");

    var pathName = "file://" + fileName;
    var path = Paths.get(URI.create(pathName));
    var fileBytes = Files.readAllBytes(path);
    var ret = JString.$new(fileBytes);
    return ret;
}
readFile("/proc/self/maps");
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Frida来查看手机进程。Frida是一个强大的动态分析工具,可以用于安卓和iOS设备。下面是使用Frida查看手机进程的简单步骤: 1. 在您的计算机上安装Frida。您可以在官方网站(https://frida.re/)上找到适合您操作系统的安装包,并按照指南进行安装。 2. 将手机通过USB连接到计算机,并确保开启了USB调试模式。您还可以使用Wi-Fi连接,但需要额外的设置。 3. 打开命令行终端,并输入以下命令来启动Frida服务: ``` frida-server -D ``` 这将在您的手机上启动Frida服务并监听来自计算机的连接。 4. 在计算机上打开一个新的终端,并输入以下命令来连接到手机: ``` frida-ps -U ``` 这将列出所有正在运行的进程,包括它们的PID(进程ID)和名称。 5. 如果您想获取更详细的信息,比如模块、导出函数等,您可以使用Frida提供的Python API编写脚本。以下是一个简单的示例: ```python import frida # 连接到设备 device = frida.get_usb_device() # 获取目标进程 process = device.attach("com.example.app") # 枚举模块 for module in process.enumerate_modules(): print("Name: %s, Base Address: 0x%x" % (module.name, module.base_address)) # 枚举导出函数 for export in process.enumerate_exports("libexample.so"): print("Name: %s, Address: 0x%x" % (export.name, export.address)) # 分离进程 process.detach() ``` 这个示例代码将连接到设备,附加到指定的进程,然后枚举模块和导出函数。您可以根据自己的需求进行修改和扩展。 请注意,使用Frida进行动态分析可能需要您具备一定的安卓逆向工程知识和编程经验。确保在合法和道德的框架内使用Frida,并遵守所有适用的法律法规。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值