iOS越獄開機執行程式

2021-06-25 22:25:30 字數 4088 閱讀 2110

2012-12-19 13:05

2387人閱讀收藏 

舉報目錄(?)

[+]

ps          ——

顯示程序狀態,cpu使用率,記憶體使用情況等

sysctl       

——檢查設定kernel配置

netstat     

——顯示網路連線,路由表,介面狀態等

route        

——路由修改

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 (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:

00002de0pushl$0x00

00002de2movl  %esp,%ebp

00002de4andl  $0xf0,%esp

00002de7subl  $0x10,%esp

00002deamovl  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上,使用方法

ldid -s helloworld 

為了方便起見,可以在.bashrc或者profile 配置下環境變數,方便編譯。

編譯我們自己的程式的時候需要指定該目錄下的sdk。

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

file檢視一下型別,沒問題。

前提是,裝置已經越獄並且安裝了ssh,且必須在同一網段。

$scp helloworld [email protected]:hello world

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

#ldid -s helloworld

#./helloworld

hello world !!!

執行成功,這就完成了最簡單的手動執行自己的應用程式。

1.首先開啟xcode建立乙個plist屬性檔案,如下圖所示:

其中要注意一下通訊服務名,我定為55。用編輯器開啟,即為:

[plain]view plain

copy

<?xml  version="1.0" encoding="utf-8"?>  

program

/usr/bin/ncdemo

standarderrorpath

/dev/null

sessioncreate

programarguments

/usr/bin/ncdemo

inetdcompatibility

wait

sockets

listeners

sockservicename55

最後,將plist檔案 scp 至 [email protected]:/system/library/launchdaemons/ 下 .

讀取itunesstored2.sqlitedb資訊,並輸出到stdout中,便於我們讀取。

[cpp]view plain

copy

#include 

#include 

#include 

intmain()  

close(fd);  

return

0;  

}  

1.編譯方法上篇文章已經介紹清楚,這裡不再重複,直接¥%¥#%¥……%# 生成執行在arm的 ncdemo 

2.將ncdemo scp 到裝置中,並登入

$ scp ncdemo [email protected]:ncdemo

$ ssh [email protected]

3.簽名

#ldid -s ncdemo

#mv ncdemo /usr/bin

這時,我們只需要利用netcat,指定之前定義的服務名稱,輕鬆在本地抓取裝置 itunesstore 資訊.

$ nc 192.168.1.114 55 > itunesstored2.sqlitedb

好吧,這裡就介紹個最簡單的應用,利用string命令檢視:

linux 開機執行程式的方法

開機執行程式的方法 1.在 etc rc.d rc.local檔案中加入程式路徑及程式名 或2.在 etc rc.d init.d 中新增可執行程式,然後在 etc rc.d rcn.d 中新增符號鏈結 n表示執行級別 先檢視 etc inittab檔案中當前系統設定的預設級別,再將符號連線新增到對...

使樹莓派開機執行程式

樹莓派的 home pi track目錄下,有乙個名叫main的程式,現在,我已經可以在ssh或終端中,手工輸入命令 sudo main 執行成功。注意,你在看本教程的時候,一定要百分百的確定,你的程式是可以手工在ssh中執行成功的 在程式main 的同級目錄即 home pi track下,使用如...

Linux 離線執行程式

這裡用到的 screen 程式,需要 conda 安裝 conda install screen 相關操作命令 screen s w1 新建乙個w1工作視窗 screen ls 檢視當前所有的執行視窗 screen d w1 將w1視窗離線 screen r w1 接入視窗w1 ctrl a d 退...