使用Cycript修改支付宝app运行时
Cycript: Objective-JavaScript ,它懂Objective-C,也懂javascript。
我们能够借助Cycript使用Objective-C或者javascript ,给某个正在运行的进程的runtime发送消息。
本文以修改支付宝app界面为例,介绍Cycript的使用方法。
1)安装Cycript
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 的开发人员,希望对 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 ...
mjcript:基于Cycript实现的一些实用函数
内容系统深入,逻辑紧密,实战性强,从iOS系统架构等理论出发,以多个实例贯穿全书,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂; 总结提炼出一套从UI观察切入代码分析的...
动机 [Cycript] 是一个很棒的交互式控制台,用于探索和修改在 iOS、Mac 和 Android 上运行的应用程序。 它由 [@saurik] 创建,主要由四部分组成: 其基于 readline 的用户界面; 以 cylang 作为输入并生成纯 ...
从iOS系统架构、文件类型等逆向理论出发,逐一讲解Class-dump、Theos、Cycript、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话...
《iOS应用逆向工程:分析与实战》站在普通iOS开发者的角度,从iOS系统架构、文件类型等逆向理论出发,逐一讲解Class-dump、Theos、Cycript、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式...
iOS逆向相关的工具 如debugserver、lldb命令行、class-dump、cycript常用命令行
cycript_patched 带有固定LC_LOAD_DYLIB命令的Cycript 0.9.594(适用于较新的macOS版本)。 注入仍然无法正常工作,但可以改用LLDB并执行以下操作: p (( void *(*)( int ))dlsym(( void *)dlopen( " /path/to/...
hacking-ios-on-the-run-using-cycript.pdf
iPhone手机端: 1.Apple File Conduit 2(替换afc2add),使PC端的管理工具可以访问iPhone的所有目录与文件...16.top是运行于iOS平台上的查看当前内存使用情况的工具. 17.Vi IMProved (即vim). 18.keychaineditor 19.netcat
”砸壳”在iOS逆向工程中是经常做的一件事情,,因为从AppStore直接下载安装的App是加壳的,其实就是经过加密的,这个“砸壳”的过程就是一个解密的过程。未砸壳的App是无法在Class-dump、Hopper等工具中使用的。...
课时02.iOS系统安全机制 课时03.认识越狱设备 课时04.越狱环境配置 课时05.第一章文档总结 课时06.App结构与构建过程 课时07.寻找控件背后的代码 课时08.数据存储 课时09.类与方法 课时10.runtime特性 课时...
1.2.1 安全相关的iOS逆向工程 5 1.2.2 开发相关的iOS逆向工程 6 1.3 iOS应用逆向工程的过程 7 1.3.1 系 统分析 7 1.3.2 代码分析 8 1.4 iOS应用逆向工程的工具 8 1.4.1 监测工具 9 1.4.2 反汇编工具 9 1.4.3...
内容系统深入,逻辑紧密,实战性强,从iOS系统架构等理论出发,以多个实例贯穿全书,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂。 总结提炼出一套从UI观察切入代码分析的iOS...
iOSREBook-issues提交格式:印次: 第x次印刷位置: xxx页xxx行问题: 发现问题修改: 修改建议范例:印次: 第1次印刷位置: 100页3行问题: macho文件修改: 建议统一写成Mach-O文件勘误内容:第一次印刷(2018年6月)提交人...
用于将 cycript/javascript 加载到进程中的“框架”。 与 iOS 7 兼容 具有cycript的全部功能。 功能过滤器列表,如 Substrate: Bundles, Executables, and Classes 还具有 Enabled 键:全局启用/禁用 cycript __...
完全站在普通iOS开发者的角度,从iOS系统架构等理论出发,以多个实例贯穿全书,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,总结提炼出一套从UI观察切入代码分析的iOS应用逆向工程方法论。...
完全站在普通iOS开发者的角度,从iOS系统架构等理论出发,以多个实例贯穿全书,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,总结提炼出一套从UI观察切入代码分析的iOS应用逆向工程方法论。...