服务电话:0531-81180830 | 24小时服务:13176691830
公司新闻

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

使用Cycript修改支付宝app运行时



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

1)安装Cycript

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



2)确定支付宝进程

运行支付宝app,然后获取它的进程号:
  1. Primer:/ root# ps aux | grep Portal  
  2.   
  3. 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  
  4. root       497   0.0  0.0   329252    176 s000  R+    5:21PM   0:00.00 grep Portal  



3)Cycript钩住支付宝进程

  1. Primer:/ root# cycript -p 479  
  2. cy#   




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

  1. cy# var app = [UIApplication sharedApplication]  
  2. @"<DFApplication: 0x16530660>"  
  3.   
  4. cy# app.delegate  
  5. @"<DFClientDelegate: 0x165384d0>"  
  6.   
  7. cy# var keyWindow = app.keyWindow  
  8. @"<UIWindow: 0x1654abb0; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x1654b190>; layer = <UIWindowLayer: 0x1654ace0>>"  
  9.   
  10. cy# var rootController = keyWindow.rootViewController  
  11. @"<DFNavigationController: 0x1654b6c0>"  
  12.   
  13. cy# var visibleController = rootController.visibleViewController  
  14. @"<ALPLauncherController: 0x166acfb0>"  
  15.   
  16. cy# visibleController.childViewControllers  
  17. @["<HPHomeWidgetGroup: 0x166afbc0>","<ADWRootViewController: 0x165745c0>","<ALPAssetsRootViewController: 0x16577250>","<SWSecurityWidgetGroup: 0x166bd940>"]  
  18.   
  19. cy# var assetsController = new Instance(0x16577250)  
  20. @"<ALPAssetsRootViewController: 0x16577250>"  
  21.   
  22. cy# assetsController.view.backgroundColor = [UIColor blueColor]  
  23. @"UIDeviceRGBColorSpace 0 0 1 1"  

上一篇:没有了. 下一篇:Chrome最新版:快速静音及在Win8中建Chrome OS系统