iOS安全攻防(一):Hack必備的命令與工具

iOS安全安全

目錄(?)[+]bash

Hack必備的命令與工具網絡



你的應用正在被其餘對手反向工程、跟蹤和操做!你的應用是否依舊裸奔豪不防護?app

鄭重聲明一下,懂得如何攻擊纔會懂得如何防護,一切都是爲了以後的防護做準備。廢話少說,進入正題。ssh

今天總結一下爲hack而作的準備工做。
tcp


經常使用的命令和工具


ps           ——顯示進程狀態,CPU使用率,內存使用狀況等工具

sysctl       ——檢查設定Kernel配置ui

netstat     ——顯示網絡鏈接,路由表,接口狀態等spa

route        ——路由修改.net

renice       ——調整程序運行的優先級

ifconfig    ——查看網絡配置

tcpdump   ——截獲分析網絡數據包

lsof           ——列出當前系統打開的文件列表,別忘記一切皆文件,包括網絡鏈接、硬件等

otool      ——查看程序依賴哪些動態庫信息,反編代碼段……等等等等

nm         ——顯示符號表

ldid       ——簽名工具

gdb          ——調試工具

patch       ——補丁工具

SSH         ——遠程控制

備註:

 otool,可查看可執行程序都連接了那些庫:

 otool  -L WQAlbum 

能夠獲得:


WQAlbum:
/System/Library/Frameworks/StoreKit.framework/StoreKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AdSupport.framework/AdSupport (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/System/Library/Frameworks//MediaPlayer.framework/MediaPlayer (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices (compatibility version 1.0.0, current version 40.0.0)
/System/Library/Frameworks/CoreMedia.framework/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
……


能夠反編譯WQAlbum的__TEXT__段內容, 截前10行:

otool -tV WQAlbum |head -n 10 

能夠獲得:


WQAlbum:
(__TEXT,__text) section
start:
00002de0 pushl $0x00
00002de2 movl %esp,%ebp
00002de4 andl $0xf0,%esp
00002de7 subl $0x10,%esp
00002dea movl 0x04(%ebp),%ebx
……


 nm,顯示程序符號表,用我本身的應用程序私人相冊現身說法一下:

nm -g WQAlbum  ( -g 表明 global) 

能夠獲得:


001e5eec S _OBJC_IVAR_$_WQPhotoViewController.albumObject
001e5efc S _OBJC_IVAR_$_WQPhotoViewController.int_current
001e5f00 S _OBJC_IVAR_$_WQPhotoViewController.int_total


其中,WQPhotoViewController爲類名,albumObject爲該類的成員



 ldid,是iPhoneOS.platform提供的簽名工具,咱們本身編譯的程序須要簽上名才能跑在iPhone/iPad上,使用方法

export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
ldid -S helloworld 



編譯Hello world

1.首先找到編譯器:




arm-apple-darwin10-llvm-gcc-4.2 就是了。

爲了方便起見,能夠在.bashrc或者profile 配置下環境變量,方便編譯。


2.找到SDK




編譯咱們本身的程序的時候須要指定該目錄下的SDK。


3.來個經典Hello world :

  1. #include <stdio.h>                                                                                             

  2. int main(){  

  3.        printf("Hello world !!!\n");  

  4.        return 0;  

  5. }  



4.編譯




其中 -isysroot用來指定build時的SDK


5.校驗




file查看一下類型,沒問題。


6.SCP給iPhone、iPad

前提是,設備已經越獄而且安裝了SSH,且必須在同一網段。

$scp helloworld root@x.x.x.x:hello world


7.登陸設備簽名

$ssh -l root x.x.x.x

#ldid -S helloworld


8.執行程序

#./helloworld

Hello world !!!


運行成功,這就完成了最簡單的手動執行本身的應用程序。

相關文章
相關標籤/搜索