• win10安装frida的坑和总结


    1.环境

    frida现在支持python3.8,请去官网看支持的版本,可能会更新

    官网:https://pypi.org/project/frida/#files

    2.pip安装

    pip install frida
    
    pip install frida-tools

    3.如安装frida失败

      ERROR: Command errored out with exit status 1:
       command: 'D:Anaconda3envspython38python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Administrator\AppData\Local\Temp\pip-install-qzxic_yu\frida\setup.py'"'"'; __file__='"'"'C:\Users\Administrator\AppData\Local\Temp\pip-install-qzxic_yu\frida\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'
    '"'"', '"'"'
    '"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:UsersAdministratorAppDataLocalTemppip-wheel-ytrbuf0a'
           cwd: C:UsersAdministratorAppDataLocalTemppip-install-qzxic_yufrida
      Complete output (13 lines):
      running bdist_wheel
      running build
      running build_py
      creating build
      creating buildlib.win-amd64-3.8
      creating buildlib.win-amd64-3.8frida
      copying fridacore.py -> buildlib.win-amd64-3.8frida
      copying frida__init__.py -> buildlib.win-amd64-3.8frida
      running build_ext
      error: <urlopen error unknown url type: https>
      looking for prebuilt extension in home directory, i.e. C:UsersAdministrator/frida-12.11.17-py3.8-win-amd64.egg
      prebuilt extension not found in home directory, will try downloading it
      querying pypi for available prebuilds
      ----------------------------------------
      ERROR: Failed building wheel for frida
      Running setup.py clean for frida
    Failed to build frida
    Installing collected packages: frida
        Running setup.py install for frida ... error
        ERROR: Command errored out with exit status 1:
         command: 'D:Anaconda3envspython38python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Administrator\AppData\Local\Temp\pip-install-qzxic_yu\frida\setup.py'"'"'; __file__='"'"'C:\Users\Administrator\AppData\Local\Temp\pip-install-qzxic_yu\frida\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'
    '"'"', '"'"'
    '"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:UsersAdministratorAppDataLocalTemppip-record-z0eujt4einstall-record.txt' --single-version-externally-managed --compile --install-headers 'D:Anaconda3envspython38Includefrida'
             cwd: C:UsersAdministratorAppDataLocalTemppip-install-qzxic_yufrida
        Complete output (13 lines):
        running install
        running build
        running build_py
        creating build
        creating buildlib.win-amd64-3.8
        creating buildlib.win-amd64-3.8frida
        copying fridacore.py -> buildlib.win-amd64-3.8frida
        copying frida__init__.py -> buildlib.win-amd64-3.8frida
        running build_ext
        error: <urlopen error unknown url type: https>
        looking for prebuilt extension in home directory, i.e. C:UsersAdministrator/frida-12.11.17-py3.8-win-amd64.egg
        prebuilt extension not found in home directory, will try downloading it
        querying pypi for available prebuilds
        ----------------------------------------
    ERROR: Command errored out with exit status 1: 'D:Anaconda3envspython38python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Administrator\AppData\Local\Temp\pip-install-qzxic_yu\frida\setup.py'"'"'; __file__='"'"'C:\Users\Administrator\AppData\Local\Temp\pip-install-qzxic_yu\frida\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'
    '"'"', '"'"'
    '"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:UsersAdministratorAppDataLocalTemppip-record-z0eujt4einstall-record.txt' --single-version-externally-managed --compile --install-headers 'D:Anaconda3envspython38Includefrida' Check the logs for full command output.

    官网下载文件:frida-12.11.17-py3.8-win-amd64.egg(查看你自己对应的版本)

    将下载文件保存到C:UserAdminstrator

    重新执行pip安装

    4.Frida Server 安装

    连接手机使用usb调试模式

    Releases 版本地址:https://github.com/frida/frida/releases,将相应的版本下载下来,复制到手机

    注意一点:frida-server版本要和frida版本一致

    查看手机版本

    adb shell cat /system/build.prop
    
    找到
    ro.product.cpu.abi=x86

    frida-server-12.11.17-android-x86.xz(我这里使用的夜神模拟器)

    下载后解压文件,并将文件重命名为: frida-server, 重命名完成后使用adb push命令推送到手机中

    下载安装adb并加入环境变量

    https://androidmtk.com/download-minimal-adb-and-fastboot-tool

    adb devices #查看是否连接成功
    List of devices attached
    fcd9eb98       device


    # 上传文件到手机
    adb push frida-server /data/local/tmp/

    推送完成后将frida-sever赋予执行的权限,并运行Frida-server,使用以下命令:

    adb shell
    cd /data/local/tmp/ 
    chmod 777 frida-server 
    ./frida-server &

    另一起个cmd查看手机上运行的进程

    frida-ps -U

    或使用frida-ps -R也可以,但是需要进行转发

    adb forward tcp:27042 tcp:27042
    
    frida-ps -R

    如果出现失败就是frida-server版本出问题了,还有需要root权限,建议使用夜神模拟器

    5.代码测试

    import frida
    import pprint
    
    def on_message(message,data):
        print("[on_message] message:",message,"data:",data)
    
    
    rdev =frida.get_usb_device()
    process = rdev .enumerate_processes()#获取手机所有进程
    pprint.pprint(process)
    session=rdev.attach("com.dianping.v1") #frida-ps -U 查看到的app名字
    print(session)
    
    script=session.create_script("""
    rpc.exports.enumerateModules=function(){
    return Process.enumerateModules();
    };
    """)
    
    script.on("message",on_message)
    script.load()
    # 获取进程使用的所有模块
    pprint.pprint([m["name"] for m in script.exports.enumerate_modules()])
  • 相关阅读:
    Centos7下安装Oracle11g r2图形化界面数据库
    power designer 16.5 使用总结[转]
    mybatis-plus忽略映射字段
    mybatis-plus快速入门使用
    git本地项目代码上传至码云远程仓库总结【转】
    北京Java笔试题整理
    linux下启动和关闭tomcat服务的方式
    SpringMvc支持跨域访问,Spring跨域访问,SpringMvc @CrossOrigin 跨域[转]
    mybatis中的#和$的区别
    Spring官网下载dist.zip的几种方法
  • 原文地址:https://www.cnblogs.com/angelyan/p/13779617.html
Copyright © 2020-2023  润新知