zoukankan      html  css  js  c++  java
  • 移动安全(2) 配置逆向环境r0env,从问题中配置与真机调试

    配置r0env

    相关的r0env的配置可以看b站的视频,肉师傅自己录的(他这迷死人的声线):点我,图文性质的配置:点我

    r0env下载地址在他的公众号里

     

    你r0env配置好了,那么逆向环境也基本配置好了。

    mac下真机调试

    由于之前都是用的windows平台+linux做逆向的:

    • windows
    • vmware workstation
    • kali linux(肉丝大佬封装好的r0env)
    • android studio
    • 安卓手机 google nexus n5

     windows平台下就不介绍了,因为太简单了,usb插上直接就有了,唯一的就是vmware workstation软件有的配置桥接模式时没网的时候,需要手动指定一个ip

     

    由于我这就两台电脑,一台写代码用的mac,一台2014年买的联想笔记本,由于14年的,年代久远,所以,一开始就选用了mac来做逆向

    然后mac端也有vmware fusion的虚拟机软件,所以,直接就可以:

      • mac
      • vmware fusion
      • kali linux(肉丝大佬封装好的r0env)
      • android studio
      • 安卓手机 google nexus n5

    接下来目的就是想通过usb接口,与手机互联,不想连手机?那还玩啥逆向?你在开什么玩笑?

    wif adb真机调试

    当然可以用wifi adb软件建立连接的,这个方法是最省事的

     

     

    android studio直接就有了

     

    但是fusion里是没有的:

     

    而是直接在fusion里用地址连接:

    首先确定你已经改为了桥接模式,并与手机在用一个局域网

     

    直接连接

     

    scrcpy测试:

     

    虚拟机里的android studio,直接就有了

     

    usb真机调试

    有很多情况,可能wifi adb的模式不太好操作,所以可能需要usb接口形式的连接

    当我手机插上mac电脑的时候,由于mac只有雷雳接口,用了绿联的扩展坞作转接usb,插上电脑就如下:

     

     

     

     

     反正上面这个图片,我跟着操作了半天,没效果,应该是识别成了外界键盘去了,所以不用管

    问题

    但是,问题来了,我mac是可以识别的手机的,adb里有

    而且还能直接进shell,那说明没问题的

    但是,在vmware fusion里的usb设备里就是没有:

     

    很奇怪

    网上查阅了一下,看到这篇文章:https://kb.vmware.com/s/article/1021853

    然后下面这句话,意思就是说vmware是不支持FireWire和Thunderbolt接口的

     其中Thunderbolt就是前面说的雷雳接口

    我当时就信了,看到发布日期2018年,我觉得应该过了几年了,应该有解决吧,所以不管了,我开始拿起我的联想笔记本,准备一通操作,由于年代久远,响应速度着实慢,我操作了2个多小时,把r0env配置好,然后进入的时候,提示inter vt的模式未开启,又去bios里开启,这些都是大学的时候封装windows系统学到的基本功,操作了半天,反正插上usb后,真机的usb驱动安装失败,我猜应该是国外手机的关系,反正一直装不上,真机都连不上,虚拟机也更连不上了,反正就是浪费了两个多小时(我拿这些时间来学习,都能学到好多知识了,唉)

     

    结果又转回mac,在某技术群里问了下有么有用mac来操作的,他们说可以的,没什么问题,顿时就觉得果然不能信上面给的那个帖子啊,说不支持雷雳接口的

    既然群友说可以,那就是可以

    排查问题并解决

    开始我换了个fusion的最新版,12.2.1,然后我mac是12.0.1系统,问了群友,他们也有跟我用一样系统的

     

    那说明就是更可以了

    接着就是排查问题

    扩展坞-mac雷雳接口-fusion-r0env

    首先能确定扩展坞-mac雷雳接口是没问题的,因为我都能进adb shell,但是安卓手机插上,mac里的文件管理访达里确实是没有的,不像windows会有个媒体标之类的,为此我还查了下,mac连接安卓手机,然后找到下面的帖子:

    https://www.zhihu.com/question/19766565

    还装了个HandShaker,锤子科技出的,发现没有什么用,还是用的局域网连接的,我需要的是用usb连接

    为了确定mac与手机的连接,我还特地在mac上装了android studio看能否读取手机

     

    发现是可以的,然后随便建了个安卓项目,调试,这个app能真的装在手机上的

    那就还是fusion这个软件的问题,然后看到这个问题,稍微的有点接近:点我

    但是看到评论区,还是说没有解决,不过至少给了个思路,应该是fusion没有获取到usb权限,所以就读取不了

    先试下,通用部分是这样的,我都允许了任何来源了

     

    允许任何来源:

    终端输入:sudo spctl --master-disable

    关闭sip:(这里不用管一样可以)

    https://www.macapp.so/tips/mac-disable-sip/

    防火墙也是关的:

     

    隐私里,我把能usb相关的我都选了:

     

    把fusion加上:

     

    退出fusion,打开,还是如此,usb里还是没有

    然后又看到个贴,说要运行下fusion里的脚本,帖子地址找不到了,查了太多东西,一时想不起在哪里看到的了,如下操作:

     

    再打开如下路径:

     

    把跟usb相关的都执行一遍:

     

    然后再回到安全与隐私里,就多个这个,勾上

     

    此时打开还是不行的,找到那个虚拟机系统的vmx文件,找到你存放虚拟机的地方,如下操作:

     

    找到这个vmx,用文本编辑器打开:

     

    加上这一句:usb.generic.allowHID = "TRUE",保存退出,此时这个操作一定要在fusion关闭的情况下进行

     

    此时你奇迹的发现,fusion终于可以读取usb了(这个图片画质不一样是因为截屏键跟fusion的按键冲突,截取不到,我用手机拍的,小问题,不纠结)

     

    当点击连接时,报错如下:

     

    太骚了

    查看了半天,哪里看到的我也忘了,还要加如下的:usb.generic.allowLastHID = "TRUE",保存退出

     

    重新打开fusion,点连接时,来了,等啥呢,直接点【好】

     

    再看adb:

     

    终于他妈的连上了,然后用scrcpy看下,完美

     

    总结

    1.应用程序,fusion,显示包内容,contents,LIbary,Services, 相关的usb服务跑一遍
    2.安全性和隐私里,通用,允许,或者任何来源
    3.安全性和隐私里,隐私,安全访问磁盘和文件夹,辅助工具,添加fusion
    4.找到虚拟机vmx文件,在最后添加两个TRUE,并且这个操作要在fusion未启动情况下

    • usb.generic.allowHID = "TRUE"
    • usb.generic.allowLastHID = "TRUE"

    over

    总算搞定了,花了好几个小时解决这个问题。

  • 相关阅读:
    网站设计十忌
    sql优化代码
    负载均衡技术 (4)
    负载均衡技术 (3)
    使用exe4j打包jar生成exe常用设置
    大型网站设计注意事项
    大型企业网站建设存在的十大问题分析
    电子商务网站必须要解决的若干技术问题
    电子商务系统的商品实体分析和设计
    JFfreeChart使用文档
  • 原文地址:https://www.cnblogs.com/Eeyhan/p/15645609.html
Copyright © 2011-2022 走看看