簡體   English   中英

cycript /底物如何與一個過程掛鈎?

[英]How does cycript / substrate work to hook into a process?

我目前正在研究有關掛鈎移動應用程序的技術,並遇到了諸如Xposed(Android),Frida(Android和iOS)和Cycript(iOS)等框架。

關於Xposed和Frida的文檔很好地解釋了它們的工作方式。 Xposed狀態用於操縱二進制文件,從而開始Zygote進程並加載有助於掛鈎方法的其他JAR文件。 Frida文檔解釋說,如果我正確理解的話,簡而言之,它使用ptrace(在Linux環境中)連接到進程,分配並填充引導程序,該引導程序加載線程以啟動包含frida代理的.so文件。

我找不到有關Cycript所采用的策略的有用文檔。 我知道它建立在Cydia Substrate的頂部,可以進行實際的掛鈎。 我也找不到有關Substrate如何准確完成此操作的詳細信息。

我進一步了解,在iOS上,objective-c運行時啟用了運行時操縱,因為它是面向運行時的。

有誰知道Cycript / Cydia Substrate如何准確地勾搭/注入應用程序?

提前致謝。

通過將DYLD_INSERT_LIBRARIES添加到程序的啟動清單中,可以發現它顯然是有效的,因此,每次啟動應用程序時,它都會通過加載動態庫來加載惡意負載。

還有,還有其他技術如何在Android和iOS上執行運行時掛鈎/操作?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM