`
xidajiancun
  • 浏览: 492103 次
文章分类
社区版块
存档分类
最新评论

iOS安全攻防(五):使用Cycript修改支付宝app运行时

 
阅读更多
使用Cycript修改支付宝app运行时



Cycript: Objective-JavaScript ,它懂Objective-C,也懂javascript。
我们能够借助Cycript使用Objective-C或者javascript ,给某个正在运行的进程的runtime发送消息。
本文以修改支付宝app界面为例,介绍Cycript的使用方法。

1)安装Cycript

Cycript官方网站下载资源工具,然后推进已越狱的iPhone中,进行安装:
dpkg -i cycript_0.9.461_iphoneos-arm.deb
dpkg -i libffi_1-3.0.10-5_iphoneos-arm.deb



2)确定支付宝进程

运行支付宝app,然后获取它的进程号:
Primer:/ root# ps aux | grep Portal

mobile     479   0.6  4.3   590776  44956   ??  Ss    5:14PM   0:09.58 /var/mobile/Applications/8723004E-9E54-4B37-856D-86292780E958/Portal.app/Portal
root       497   0.0  0.0   329252    176 s000  R+    5:21PM   0:00.00 grep Portal



3)Cycript钩住支付宝进程

Primer:/ root# cycript -p 479
cy# 




4)获取当前界面的viewController并修改背景色

cy# var app = [UIApplication sharedApplication]
@"<DFApplication: 0x16530660>"

cy# app.delegate
@"<DFClientDelegate: 0x165384d0>"

cy# var keyWindow = app.keyWindow
@"<UIWindow: 0x1654abb0; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x1654b190>; layer = <UIWindowLayer: 0x1654ace0>>"

cy# var rootController = keyWindow.rootViewController
@"<DFNavigationController: 0x1654b6c0>"

cy# var visibleController = rootController.visibleViewController
@"<ALPLauncherController: 0x166acfb0>"

cy# visibleController.childViewControllers
@["<HPHomeWidgetGroup: 0x166afbc0>","<ADWRootViewController: 0x165745c0>","<ALPAssetsRootViewController: 0x16577250>","<SWSecurityWidgetGroup: 0x166bd940>"]

cy# var assetsController = new Instance(0x16577250)
@"<ALPAssetsRootViewController: 0x16577250>"

cy# assetsController.view.backgroundColor = [UIColor blueColor]
@"UIDeviceRGBColorSpace 0 0 1 1"







当然,只是修改个背景色好没意思……
想修改更多信息,还得介绍一下另一个利器: class-dump 。下篇再总结~









分享到:
评论

相关推荐

    iOS应用逆向工程:分析与实战

    1.2.1 与安全相关的iOS 逆向工程 4 1.2.2 与开发相关的iOS 逆向工程 5 1.3 iOS 软件逆向工程的一般过程 6 1.3.1 系统分析 7 1.3.2 代码分析 7 1.4 iOS 软件逆向工程用到的工具 8 1.4.1 监测工具 8 ...

    hacking-ios-on-the-run-using-cycript.pdf

    在《使用Cycript进行iOS运行时攻击》这一主题中,作者Sebastián Guerrero(一位移动安全分析师)介绍了如何利用Cycript来分析和滥用iOS应用程序的运行时环境。Cycript是一种结合了JavaScript和Objective-C解释器的...

    iOS逆向工具

    `cycript`可以在运行时动态修改应用的行为,查看对象属性,甚至注入新的代码。在越狱设备上,`cycript`常用于快速调试和探索应用,尤其在没有源码的情况下,它能提供宝贵的洞察力。 在iOS逆向工程中,这四个工具...

    iOSAppReverseEngineering

    - **MobileHooker:**用于在运行时修改iOS应用程序行为的强大工具。 - **MobileLoader:**支持动态加载和卸载自定义组件。 - **Safemode:**在遇到问题时可以安全地恢复到原始状态。 **3.5 Cycript** - **介绍:**...

    移动APP安全漏洞分析技术与方法

    金融类App的安全漏洞尤为关键,金融App一旦被攻击,可能会导致用户个人信息、密码等敏感信息的泄露,严重时甚至会影响到资金安全。根据爱加密大数据平台的数据,金融类App常见的安全漏洞包括拒绝服务漏洞、密钥硬...

    专注于非越狱环境下iOS应用逆向研究,从dylib注入,应用重签名到App Hook.zip

    3. **App Hook**:App Hook是一种技术,通过拦截和修改应用中的函数调用来改变应用行为。例如,可以使用Objective-C的Category或Swift的Extension来实现方法交换,或者利用像Cydia Substrate(原名MobileSubstrate)...

    01-iOS逆向之抢红包以外的那些事儿.pdf

    iOS逆向工程是一个深入了解和修改iOS操作系统及应用软件运行原理的过程。它不仅能用于开发插件,如微信抢红包、钉钉自动打卡等,还涉及到更多方面的应用。根据给定文件的信息,我们可以总结出以下几点关于iOS逆向...

    iOS应用逆向工程

     内容系统深入,逻辑紧密,实战性强,从iOS系统架构等理论出发,以多个实例贯穿全书,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂;  总结提炼出一套从UI观察切入代码分析的...

    ios的私有的api

    - 使用工具:如Frida、Cycript等动态调试工具,可以检测运行时调用的私有API。 - 检查_dyld_shared_cache:这个文件包含了系统所有动态库的信息,包括私有API。 4. **如何避免使用私有API:** - 遵守Apple的...

    Python-mjcript基于Cycript实现的一些实用函数

    - 应用防火墙和安全框架:了解WAF(Web应用防火墙)和如何使用安全框架(如Django的CSRF保护)来增强应用安全性。 - 权限管理:理解用户角色和权限,实现细粒度的访问控制。 - 日志和审计:记录和分析应用日志,以便...

    frida-cycript:由 Frida 提供支持的 Cycript 叉

    动机 [Cycript] 是一个很棒的交互式控制台,用于探索和修改在 iOS、Mac 和 Android 上运行的应用程序。 它由 [@saurik] 创建,主要由四部分组成: 其基于 readline 的用户界面; 以 cylang 作为输入并生成纯 ...

    ios_private.db.zip

    3. **动态分析**:运行应用并在运行时监测其行为,这可以通过工具如Cycript、MobSF(Mobile Security Framework)或Xcode的Instruments完成。动态分析可以帮助发现那些在特定条件或环境下才会调用的私有API。 4. **...

    iOS 应用逆向工程 分析与实战

    从iOS系统架构、文件类型等逆向理论出发,逐一讲解Class-dump、Theos、Cycript、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话...

    iOS 逆向工程学习

    《iOS应用逆向工程:分析与实战》站在普通iOS开发者的角度,从iOS系统架构、文件类型等逆向理论出发,逐一讲解Class-dump、Theos、Cycript、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式...

    IOS安全测试工具

    除了使用这些工具,开发者还应遵循最佳实践,如使用安全编程技术、加密敏感数据、定期更新依赖库、进行代码审计等,以全方位提升iOS应用的安全性。在软件开发生命周期(SDLC)中集成安全测试,可以在早期发现和修复...

    cycript_patched:为现代macOS修补的Cycript 0.9.594

    cycript_patched 带有固定LC_LOAD_DYLIB命令的Cycript 0.9.594(适用于较新的macOS版本)。 注入仍然无法正常工作,但可以改用LLDB并执行以下操作: p (( void *(*)( int ))dlsym(( void *)dlopen( " /path/to/...

    APP弹窗注入.zip软件安装包下载

    在APP中,这可能涉及使用如Java instrumentation框架(Android)或Cycript(iOS)等工具。 3. **插件化/模块化开发**:弹窗功能可能被设计为可插拔的模块,便于添加、移除或更新,而不影响APP的其他部分。 4. **...

    CycriptLoader:像 Substrate 加载 dylib 一样加载 cycriptjavascript

    用于将 cycript/javascript 加载到进程中的“框架”。 与 iOS 7 兼容 具有cycript的全部功能。 功能过滤器列表,如 Substrate: Bundles, Executables, and Classes 还具有 Enabled 键:全局启用/禁用 cycript __...

    iOS逆向工程使用dumpdecrypted工具给App脱壳

    这可以通过Cycript工具完成,Cycript是一个强大的脚本语言,允许注入到运行中的iOS进程,从而获取进程的相关信息,如Document目录。将`dumpdecrypted.dylib`动态库复制到Document目录后,就可以开始砸壳过程。 砸壳...

Global site tag (gtag.js) - Google Analytics