iOS8的入侵與防御:1.在iphone6運行hello world



1.1 常用的命令 和工具
ps             ——顯示進程狀態,CPU使用率,內存使用情況等
sysctl           ——檢查設定Kernel配置
netstat         ——顯示網絡連接,路由表,接口狀態等
route            ——路由修改
renice           ——調整程序運行的優先級
ifconfig        ——查看網絡配置
tcpdump       ——截獲分析網絡數據包
lsof               ——列出當前系統打開的文件列表,別忘記一切皆文件,包括網絡連接、硬件等
otool         ——查看程序依賴哪些動態庫信息,反編代碼段……等等等等
nm            ——顯示符號表
ldid           ——簽名工具
gdb              ——調試工具
patch           ——補丁工具
ssh              ——遠程控制
scp                  ——遠程傳輸
uname         ——查看系統軟硬件信息
xcrun          --編譯程序

1.2 登錄到遠程機並查看設備信息
1.2.1 ssh命令簡介
ssh是Linux工程師常用的一種遠程登錄命令,在終端中輸入如下命令可以登錄遠程機:
$ ssh root@192.168.1.1
   root是遠程機的最高權限用戶名,也可使用其它可供登錄的用戶名。
   192.168.1.1是遠程機的ip地址,請根據實際需要修改。
關於更多使用方法,可以訪問下面的鏈接:
http://linux.about.com/od/commands/l/blcmdl1_ssh.htm
1.2.2 演示
手頭有一台iphone,下面演示如何遠程登錄iphone
在終端中輸入:

$ ssh root@172.24.121.25


終端會提示需要輸入password,對於剛越獄的朋友,默認密碼是alpine。
登錄成功后就會提示我們上次登錄的時間或ip,並會返回以遠程機名的命令行。
下面我們使用uname查看遠程機的系統與硬件信息:
$uname -a


通過uname命令,我們看出ios8越獄后使用的Darwin內核,同時也可以看出iPhone6使用的是arm64架構。

演示結束,輸入$exit退出。

三. 交叉編譯hello world程序
在終端中使用vi命令建立helloworld.c文件
$ vi helloworld.c
在vi編輯器中輸入
#include <stdio.h>
int main()
{
    printf("hello world\n");
}
下面使用xcrun命令交叉編譯helloworld.c
$xcrun -sdk iphoneos clang -arch arm64 -o helloworld helloworld.c

如果沒有提示有warning、error,就代表編譯成功。

使用file命令查看編譯出來的文件是什么架構

$ file helloworld


可以從上面看出編譯出來是64bit程序,對應於iphone6 64位arm操作系統。

接着上傳程序到遠程機
$ scp helloworld root@172.24.121.25:helloworld
成功后會顯示


下面我們登錄遠程機並運行該程序

$ ./helloworld


參考資料:

http://blog.csdn.net/yiyaaixuexi/article/details/8288077


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com