iOS安全攻防(五):使用Cycript修改支付寶app運行時 – iPhone手機開發技術文章 iPhone軟體開發教學課程

使用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]
@""

cy# app.delegate
@""

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

cy# var rootController = keyWindow.rootViewController
@""

cy# var visibleController = rootController.visibleViewController
@""

cy# visibleController.childViewControllers
@["","","",""]

cy# var assetsController = new Instance(0x16577250)
@""

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

當然,隻是修改個背景色好沒意思……想修改更多信息,還得介紹一下另一個利器: class-dump 。下篇再總結~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。