iOS应用程序安全(16)-使用iNalyzer对iOS应用进行动态分析
2014-02-11 15:44
567 查看
作者:Prateek Gianchandani
译者:吴发伟
原文网址:http://resources.infosecinstitute.com/ios-app-security-part-16-runtime-analysis-of-ios-apps-using-inalyzer/
版权声明:自由转载-非商用-保持署名
上一篇文章我们看到了如何使用iNalyzer对iOS应用进行静态分析。本文我们将看看如何用iNalyer对iOS应用进行运行时分析。我们能够在运行时调用方法,能够在应用的某个特殊时间找出特定实例变量的值,基本上能做我们用Cycript做的所有事情。
在上一篇文章当中,我们成功的用Doxygen生成了html文件,并且打开它看到了关于这个应用的类信息和其他信息。我们将使用Firefox浏览器进行运行时分析。这个工具的开发者推荐我再进行运行时分析的时候使用Firefox浏览器,因为其它浏览器用起来可能会有问题。 不过,对我来说,在chrome上好像也工作正常。
要打开运行时解释器,首先需要打开Doxygen为你想要分析的应用生成的index.html文件,然后双击左剪头键。
如上图所示,你可以看到有一个可以输入命令的控制台在顶部出现。第一件事情就是告诉iNalyer你设备的IP地址,在这里是10.0.1.23。输入IP地址后然后确定(按Enter)。
一旦IP地址设置好之后,请确保我们要分析的应用在设备上是打开的(例如,在前台),并且你的设备没有休眠。这非常重要, 因为如果你的应用在后台或者你的设备在休眠,那你的应用是会被操作系统给暂停的,因此就不可能对这个应用进行任何运行时分析。
一旦应用打开,在控制台输入任意命令,如你使用Cycript会输入的一样。
正如我们看到的那样,我们会得到一个响应。我们现在可以输入我们想要输入的任何cycript命令。
让我们隐藏应用的状态栏。我们可以用这个命令, [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
可以看到,我们并没有得到任何响应,那是因为这个方法返回空(void)。
不过,应用的状态栏已经隐藏起来了。我们在最上面已经看不到时间了。
类似的,我们可以找到这个应用的delegate类。
我们也可以设置应用的提醒数字。这里我们设置为9000。
可以看到,提醒数字成功设置。
因为这和有一个cycript控制台类似,我们也可以输入javascript代码和任何其他Cycript文档中的命令。 下面就是我输入的从Cycript tricks页面引用的一个命令。
类似的,我可以同时用javascript和Objective-C的语法来创建函数。如果你对这里说的Cycript不太理解,请 参考本系列前面介绍Cycript和它的详细用法的文章。
我可以在想要使用这个函数的任何时刻用它。
在本系列的第9部分,我们介绍了Snoop-it。iNalyer和Snoop-it非常类似。不过二者都有优点和不足。 在本文写关于Snoop-it的时候,它并不支持method
swizzling而iNalyer支持。蕾丝的,iNalyer不允许我们 监控API调用而Snoop-it可以。因此,这两个应用都有它们的优点和不足。
本文我们学习了如何利用iNalyer来对iOS应用进行运行时分析。对于任何对iOS应用程序安全感兴趣的人来说,iNalyer都是武器库中非常棒的工具,它使得我们的工作更容易、更有效率。
References
iNalyzer https://appsec-labs.com/iNalyzer
本文原文是 IOS Application
Security Part 16 – Static Analysis of IOS Applications using iNalyzer
译者:吴发伟
原文网址:http://resources.infosecinstitute.com/ios-app-security-part-16-runtime-analysis-of-ios-apps-using-inalyzer/
版权声明:自由转载-非商用-保持署名
上一篇文章我们看到了如何使用iNalyzer对iOS应用进行静态分析。本文我们将看看如何用iNalyer对iOS应用进行运行时分析。我们能够在运行时调用方法,能够在应用的某个特殊时间找出特定实例变量的值,基本上能做我们用Cycript做的所有事情。
在上一篇文章当中,我们成功的用Doxygen生成了html文件,并且打开它看到了关于这个应用的类信息和其他信息。我们将使用Firefox浏览器进行运行时分析。这个工具的开发者推荐我再进行运行时分析的时候使用Firefox浏览器,因为其它浏览器用起来可能会有问题。 不过,对我来说,在chrome上好像也工作正常。
要打开运行时解释器,首先需要打开Doxygen为你想要分析的应用生成的index.html文件,然后双击左剪头键。
如上图所示,你可以看到有一个可以输入命令的控制台在顶部出现。第一件事情就是告诉iNalyer你设备的IP地址,在这里是10.0.1.23。输入IP地址后然后确定(按Enter)。
一旦IP地址设置好之后,请确保我们要分析的应用在设备上是打开的(例如,在前台),并且你的设备没有休眠。这非常重要, 因为如果你的应用在后台或者你的设备在休眠,那你的应用是会被操作系统给暂停的,因此就不可能对这个应用进行任何运行时分析。
一旦应用打开,在控制台输入任意命令,如你使用Cycript会输入的一样。
正如我们看到的那样,我们会得到一个响应。我们现在可以输入我们想要输入的任何cycript命令。
让我们隐藏应用的状态栏。我们可以用这个命令, [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
可以看到,我们并没有得到任何响应,那是因为这个方法返回空(void)。
不过,应用的状态栏已经隐藏起来了。我们在最上面已经看不到时间了。
类似的,我们可以找到这个应用的delegate类。
我们也可以设置应用的提醒数字。这里我们设置为9000。
可以看到,提醒数字成功设置。
因为这和有一个cycript控制台类似,我们也可以输入javascript代码和任何其他Cycript文档中的命令。 下面就是我输入的从Cycript tricks页面引用的一个命令。
类似的,我可以同时用javascript和Objective-C的语法来创建函数。如果你对这里说的Cycript不太理解,请 参考本系列前面介绍Cycript和它的详细用法的文章。
我可以在想要使用这个函数的任何时刻用它。
在本系列的第9部分,我们介绍了Snoop-it。iNalyer和Snoop-it非常类似。不过二者都有优点和不足。 在本文写关于Snoop-it的时候,它并不支持method
swizzling而iNalyer支持。蕾丝的,iNalyer不允许我们 监控API调用而Snoop-it可以。因此,这两个应用都有它们的优点和不足。
总结
本文我们学习了如何利用iNalyer来对iOS应用进行运行时分析。对于任何对iOS应用程序安全感兴趣的人来说,iNalyer都是武器库中非常棒的工具,它使得我们的工作更容易、更有效率。References
iNalyzer https://appsec-labs.com/iNalyzer
本文原文是 IOS Application
Security Part 16 – Static Analysis of IOS Applications using iNalyzer
相关文章推荐
- iOS应用程序安全(15)-使用iNalyzer对iOS应用进行静态分析
- iOS应用程序安全(22)-使用GDB进行运行时分析和操作
- iOS应用程序安全(4)-用Cycript进行运行时分析(Yahoo天气应用)
- iOS应用程序安全(17)-使用Introspy对iOS应用进行黑盒测试
- iOS安全攻防(十五):使用iNalyzer分析应用程序
- iOS安全攻防(十五):使用iNalyzer分析应用程序
- iOS应用程序安全(4)-用Cycript进行运行时分析(Yahoo天气应用)
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS应用程序安全(11)-分析使用HTTP/HTTPS的网络流量
- iOS安全攻防(十六):使用introspy追踪分析应用程序
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS应用程序安全(26)- 使用IDA Pro给iOS应用打补丁
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS应用程序安全(5)-用Cycript做运行时分析的高级技巧(Yahoo天气应用)
- iOS应用程序安全(5)-用Cycript做运行时分析的高级技巧(Yahoo天气应用)
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS应用程序安全(26)- 使用IDA Pro给iOS应用打补丁
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建