zoukankan      html  css  js  c++  java
  • iOS逆向分析app

    适合有一定的逆向编程基础的人看。

    背景:自动抢红包的脚本
    工具:cyscript,reveal,class-dump,越狱的pod等。

    这里先上一张reveal的分析图:

    小结:获取到了真个软件的整体结构视图。极大的方便我们进行分析。这个是淘宝的技术嘉年华中重点介绍的亮点工具。

    接着,可以通过:class-dump工具,dump出头文件进行辅助分析,方便动态调用各种接口。

    接下来,开始实战:远程ssh登陆后,直接,ps aux|grep "Micro*"  获取微信的pid。

    cycript -p xxx                    // 这里直接勾住进程,开始试脚本

    // 前期经过reveal分析,知道了微信的整体软件架构。

    // 然后直接获取主rootViewController 的currentViewController

    var currentViewC = [[UIApplication sharedApplication].keyWindow.rootViewController currentViewController]

    // 接下来就是直接获取所有的viewControllers

    [currentViewC viewControllers]

    var mainFrameVC = [currentViewC viewControllers][0]

    [mainFrameVC tableView:mainFrameVC->m_tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:4 inSection:1]]  // 选择指定的tableViewCell, m_tableView是down出来的头文件中发现的定义

    [currentViewC viewControllers]             // 现在获取到了最新的ViewControllers

    var baseMsgVC = [currentViewC viewControllers][1] // 获取到了消息中的视图

    baseMsgVC->m_tableView              // 选择指定的tableView, m_tableView是down出来的头文件中发现的定义   

    var viewCell = [baseMsgVC->m_tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]]

    var view = viewCell.subviews[0]

    var messageView = view.subviews[0]

    [messageView onClick]               // onClick 方法也是头文件中找到的定义,能发现已经点到了红包了。酷。。。

    小结,过程中,可以随时判断自己的逻辑是否出错,例如,view.backgroundColor = [UIColor greenColor] , UIAlertView等。

    再上一张过程图片:

    这个是在实际中可以看到的信息,非常的好玩,可以dump出各种各样的东西。userinterface,layer,frame,autoresize,完整的看到了实现参数。可以模拟点击各种东西了。加入各种条件判断。最后也完成了。
    然后参考已经dump出来的头文件,写相应的脚本,按照这样的过程,就能做出一个:通过模拟点击来实现抢红包的过程。

    小结:注意软件安全,头文件中暴露出来的信息。可以采用混淆加密等常见方式来预防。

    大概看到这儿,也大概了解了一点ios逆向的东西,然而,我觉得还是要用到正道上才是对的,以学习的目的,例如,最近在看的新版的UC浏览器,他的主页做的非常复杂,而有非常优雅,我想知道它的结构是什么样子的,

    那么现在就能直接看了。局部内嵌webView的方式写UI。结构清晰明了,而不是一开始猜想的那样子,以controller作为一个cell,如下图所示:

     

    总结:学会善用佳软,触类旁通。

  • 相关阅读:
    RFID亮灯电子标签在仓储管理中的应用
    漫画:寻找股票买入卖出的最佳时机(动态规划)
    JAVA深入解析-36个话题-Two
    一行代码让训练速度提升2倍,飞桨自动混合精度技术详解
    追源码的平凡之路
    看完这篇,你也是字符编码大神!
    微服务的熔断原理与实现
    经典论文复现 | PyraNet:基于特征金字塔网络的人体姿态估计
    一文看懂人机对话
    「Spring Boot 2.4 新特性」一键构建Docker镜像
  • 原文地址:https://www.cnblogs.com/Lxiaolong/p/4268585.html
Copyright © 2011-2022 走看看