我正在顛倒iOS固件。有什麼方法可以找到內核二進制代碼,通過IOConnectCallMethod調用?什麼庫包含通過IOConnectCallMethod調用的內核代碼
0
A
回答
1
如果我們在談論iOS內核,首先您應該知道它是加密的。 @xerub在theiphonewiki上載了64位版本的密鑰。你也可以使用他的奇妙工具img4來解密它。
因此,讓我們假設我們已經爲iPhone 5s解密了 kernelcache.release.n51,並且您需要找到GasGauge服務的方法2。
- 看由於IOKit /由於IOKit/IOUserClient.h從XNU內核源:
從我們知道externalMethod
是虛擬的方法,更registerNotificationPort
跟隨它(讀 - vtable的下一個條目)。
- 查找一個最大虛函數表在GasGauge驅動器和定位在它
registerNotificationPort
方法,需要前一個條目:
相關問題
- 1. Linux內核代碼中「EXPORT_SYMBOL」的含義是什麼?
- 2. __init在Linux內核代碼中的含義是什麼?
- 3. 授權碼包含什麼內容?
- 4. 包含使用jQuery的通用代碼?
- 5. 爲什麼不能將共享庫鏈接到內核代碼?
- 6. 通過MySQL數據庫包含PHP代碼(模塊),好主意?
- 7. Unresolved External包含aux_klib內核庫
- 8. 內核內存在Windows操作系統中包含什麼?
- 9. 在庫中包含庫的源代碼
- 10. 通過Java調用內核故障
- 11. Ajax調用通過代碼
- 12. OpenCL內核中__的含義是什麼?
- 13. 包含linux內核配置的正確方法是什麼?
- 14. 如何將C backtrace包含在內核模塊代碼中?
- 15. currentDesign.writeCssincludes包含什麼內容?
- 16. system.in包含什麼內容?
- 17. 使用procfs的Linux內核代碼:我應該注意什麼?
- 18. iOS核心數據 - 你能通過代碼包含coredata框架嗎?
- 19. 爲什麼我的php不顯示任何內容? (代碼包含在內)
- 20. 爲什麼Object既包含內核又在Ruby中繼承它?
- 21. 爲什麼包含的代碼在bash中不起作用?
- 22. 通過內核模塊發送ip包
- 23. 包含c代碼的VS2005類庫?
- 24. 代碼含義是什麼?
- 25. 爲什麼我無法通過代碼
- 26. 爲什麼內核代碼不能使用紅色區域
- 27. 通過JNI調用調試Java代碼
- 28. 爲什麼包含調用stream_flush?
- 29. 鏈接庫中包含對cuda內核的引用
- 30. 在Netbeans中調試Web項目時,爲什麼我無法通過庫代碼?
IOConnectCallMethod位於IOKit中,而IOKit只是一個插入函數來調用內核中的某些代碼。沒有任何帶有內核代碼的庫。內核代碼在內核中執行。 如果您想在內核中查找代碼,您需要在目標惡意軟件中查找IOSericeOpen函數並確定服務名稱,然後您需要在IOConnectCallMethod函數中查找externalMethod編號。最後一步 - 找到需要的內核擴展和externalMethod。 但無論如何,你的問題並不清楚。 – progopis
非常感謝!要明確,我的問題是如何找到需要的內核擴展和已知數量的externalMethod。 –
btw,你研究的惡意軟件名稱是什麼? – progopis