iOS LLDB + debugserver 進行遠端除錯APP
要開始學習一些iOS逆向的一些東西,除錯別人的app自然是必不可少的工作,這個時候除錯利器GDB和LLDB自然浮現在腦袋裡。可是試驗後發現用GDB除錯並不好用,而且蘋果推的也是LLDB,所以需要使用LLDB來進行除錯工作。使用LLDB就不像使用GDB進行除錯那麼方便,使用GDB的話直接在Cydia裡面安裝好GDB之後,ssh到你的裝置就可以開始工作了,使用LLDB遠端除錯你越獄裝置上的APP稍微麻煩一點。
準備工作:
1.裝置
一臺越獄了的裝置(裝上OpenSSH)
一臺裝有Xcode的MAC
2.環境
2.1,iOS裝置與Mac接入同一個區域網中
2.2使用ssh登入,ssh
2.3 ls /Developer/usr/bin
檢視是不是有debugserver,如果沒有,說明你的手機沒有加入開發裝置,那麼你可以將裝置連線到mac,開啟Xcode,新增裝置,完成之後,debug server就是自動copy到裝置中的剛才提到的目錄
2.4 將裝置中的debugserver拷貝到mac上的指定目錄(例如:/Users/xxx/app)
cd /Developer/usr/bin
scp debugserver [email protected]:指定目錄
2.5
重新簽名上面的
2.5.1 用xcode建立了的 entitlements.plist放在指定目錄,裡面建立了下面4個key,都是YES。
- com.apple.springboard.debugapplications
- run-unsigned-code
- get-task-allow
- task_for_pid-allow
2.5.2 進行簽名
cd/Users/xxx/app
codesign -s - --entitlements entitlements.plist -f debugserver
2.5.3 簽名完成之後將debugserver
scp debugserver [email protected]:/usr/local/
3.準備除錯
3.1 返回ssh登入裝置的終端,或者是重新登入裝置
3.2 開啟你想要除錯的APP
3.3 執行 ps aux找到自己想要除錯的APP的資訊,示例如下:
mobile 4113 0.1 1.4 800256 13900 ?? Ss 3:24PM 0:00.38 /var/mobile/Containers/Bundle/Application/9EED7F27-CC78-4EEC-9BDB-132ED541520E/TOCRDemo.app/TOCRDemo
3.4 在debugserver所在的目錄下執行./debugserver *:(PID) -a "app-name”,示例如下:
./debugserver *:4113 -a "TOCRDemo"
顯示資訊如下,表明進入等待遠端除錯狀態:
[email protected](#)PROGRAM:debugserver PROJECT:debugserver-340.3.51.1
for arm64.
Attaching to process TOCRDemo...
Listening to port 4113 for a connection from *...
3.5 在新建Terminal中輸入命令:lldb
進入lldb環境之後,輸入命令:process connect connect://ClientIP:Port,此處的Port是除錯的APP在裝置上執行的PID
顯示以下資訊表明遠端連線成功
5.除錯開始
LLDB官方說明:LLDB
至此,你需要學習一下彙編咯。
相關推薦
iOS LLDB + debugserver 進行遠端除錯APP
要開始學習一些iOS逆向的一些東西,除錯別人的app自然是必不可少的工作,這個時候除錯利器GDB和LLDB自然浮現在腦袋裡。可是試驗後發現用GDB除錯並不好用,而且蘋果推的也是LLDB,所以需要使用LLDB來進行除錯工作。使用LLDB就不像使用GDB進行除錯那麼方便,使用
對 CasperJS 進行遠端除錯
CasperJS執行在PhantomJS之上,其實也是啟用PhantomJS的遠端除錯功能 PhantomJS 是一個無圖形介面的瀏覽器,它支援各種Web標準:DOM處理,CSS選擇器,JSON,Canvas和SVG。且支援win,linux,osx平臺。 遠端除錯 遠端除錯允許通過另一個基於WebKi
Pycharm對openstack進行遠端除錯
總共分三步: 一. 安裝samba(非必須的) 二. 安裝並配置pycharm 三. 修改openstack的程式碼(以nova為例) 一.為了實現遠端程式碼的map要首先進行如下設定 安裝sa
使用IDA 進行遠端除錯
從4.8 版開始,IDA PRO 支援通過TCP/IP 網路對x86/AMD64 Windows PE 應用程式和Linux ELF 應用程式進行遠端除錯。所謂“遠端除錯”是指通過網路除錯在另一個網路上的計算 機執行的程式碼的過程: l 執行IDA PRO介面的計算機被
Eclipse進行遠端除錯linux 環境的tomcat配置 更新maven web專案
在網上找了找關於遠端除錯的配置,記錄在這裡以備後續查詢! 平常我們都是用windows開發,但是有時候需要將tomcat部署到linux下去執行,比如執行shell指令碼。這個時候我們就需要在linux環境下進行除錯。我們可以利用myeclipse的遠端除錯功能,來進行操
idea中對springboot進行遠端除錯
springboot官方文件:https://docs.spring.io/spring-boot/docs/1.1.x/maven-plugin/examples/run-debug.html 科普一下:為什麼要遠端除錯? 當我們的專案部署到遠端的伺服器的
intellij idea用tomcat進行遠端除錯
1. 首先在IDEA中check out出來你要除錯的工程的程式碼,然後在IDEA開啟這個工程。 2. 因為我們用的是Tomcat,所以在IDEA中點選右上角那個“Edit Configurations”按鈕,然後在彈出的介面中點選左上角的加號,選擇tomcat ser
使用VS進行遠端除錯
開發環境在A主機上(有原始碼,已安裝VS),執行環境在B主機上(無原始碼,未安裝VS,只有可執行程式exe或dll,以及對應的pdb檔案)。 在A主機上使用相同版本的原始碼,對B主機上正在執行的程式進行除錯。 1. 找到A主機上的遠端除錯監視器程式,通常在目錄 D:\Pro
gradle啟動springboot專案進行遠端除錯
gradle+springboot+idea專案進行遠端除錯,分為以下2步 1 首先在伺服器(例如:100.10.100.200)使用gradle 啟動springboot專案,啟動的時候需要設定啟動jvm引數,有兩種途徑 方法1: build.gradle的boot
Flume原始碼分析—利用Eclipse對Flume原始碼進行遠端除錯分析環境搭建(一)
一、引言 最近在學習瞭解大資料分析相關的工作,對於其中用到的收集部分用到了flume,特意花了點時間瞭解了一下flume的工作原理及工作機制。個人瞭解一個新的系統首先從概略上了解一下其基本原理後,接著從原始碼入手瞭解其部分關鍵實現部分,最後會嘗試去修改部分內容
IDEA 14在MAC下如何對tomcat進行遠端除錯
在開發過程中,有時需要進行遠端除錯,使用IDEA如何進行遠端除錯呢,其實很簡單,首先tomcat需要開啟遠端除錯,如何開啟呢?參考另一篇文章。 然後在IDEA中設定如下: 1、開啟配置頁面 2、新增遠端除錯配置 3、進行引數配置 其中Host為遠端伺服器的地址,當然
如何對生產環境的JAVA應用進行遠端除錯
JAVA自身支援除錯功能,並提供了一個簡單的除錯工具--JDB,類似於功能強大的GDB,JDB也是一個字元介面的除錯環境,並支援設定斷點,支援執行緒線級的除錯。 1.在伺服器上的程序啟動引數中新增:
使用Eclipse+tomcat進行遠端除錯
轉自http://blog.csdn.net/sunyujia/article/details/2211109 今天決定做件有意義的事,寫篇圖文並茂的blog,為什麼要圖文並茂?因為很多事可能用語言也說不明白,從以前我發表的一篇文章可以看得出來,http://blog.cs
Eclipse 進行遠端除錯Windows Tomcat配置
以前看到別人使用除錯遠端程式碼感覺好牛逼的樣子,前一段時間想學來著,但是由於實際工作中暫時沒有用上最終沒學會,好悲傷!今天終於需要用了,Google+Baidu了一堆,終於將Windows Tomcat遠端除錯給學會了,不吹牛逼了,進入正題。 1. 配置windows to
GDB遠端除錯錯誤解決 使用GDB 7.2版本進行遠端除錯時出現:Remote ‘g’ packet reply is too long錯誤
GDB遠端除錯錯誤解決使用GDB 7.2版本進行遠端除錯時出現:Remote ‘g’ packet reply is too long錯誤,需要修改gdb程式碼解決,辦法是:修改gdb/remote.c檔案,遮蔽process_g_packet函式中的下列兩行:if (bu
window系統tomcat進行遠端除錯
1.命令列啟動遠端除錯 java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888 -jar xxx.jar 2.tomcat將引數新增到Java Options: 3.idea
通過Intellij IDEA對tomcat進行遠端除錯
前提 intellij idea 14 ultimatelinuxjdk 1.8tomcat 7.0.x 1. 配置Intellij IDEA 新增配置,選擇tomcat Server->Remote 選擇startup/connection標籤->d
利用webstrom以及sftp,supervisor進行遠端除錯node.js
概述 開發oj使用lrun進行判題時間的控制和檢測。lrun使用了linux特有的特性,故只能再linux下執行他,伺服器使用docker部署的話也是需要linux環境。之前做實驗的時候是採取的手動上傳手動重啟node,開發效率非常之低。 現在通過這webs
一步一步用debugserver + lldb代替gdb進行動態除錯(整理與補充)
原文章出處:http://bbs.iosre.com/t/debugserver-lldb-gdb/65/12 *** 以下部分內容摘自《iOS應用逆向工程》第二版,以iOS 8為環境編寫,應該也支援iOS 7,請大家注意。 *** 因為Apple已經棄gdb投lldb,所以隨著我動態除錯的次數越來越頻繁,
hbuilder 連線夜神模擬器,對app進行模擬器除錯
分別啟動hbuilder 和夜神模擬器 對app進行模擬器除錯之前需要安裝好android-sdk tools 不會安裝的請看我的另一篇文章https://blog.csdn.net/qfxlw/article/details/83098051和https://blog.csdn.net/