我正在颠倒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. __init在Linux内核代码中的含义是什么?
- 2. Linux内核代码中“EXPORT_SYMBOL”的含义是什么?
- 3. 包含使用jQuery的通用代码?
- 4. 通过MySQL数据库包含PHP代码(模块),好主意?
- 5. 为什么不能将共享库链接到内核代码?
- 6. Unresolved External包含aux_klib内核库
- 7. 内核内存在Windows操作系统中包含什么?
- 8. 在库中包含库的源代码
- 9. 通过Java调用内核故障
- 10. Ajax调用通过代码
- 11. OpenCL内核中__的含义是什么?
- 12. 如何将C backtrace包含在内核模块代码中?
- 13. 包含linux内核配置的正确方法是什么?
- 14. currentDesign.writeCssincludes包含什么内容?
- 15. iOS核心数据 - 你能通过代码包含coredata框架吗?
- 16. 使用procfs的Linux内核代码:我应该注意什么?
- 17. 为什么Object既包含内核又在Ruby中继承它?
- 18. 通过内核模块发送ip包
- 19. 为什么包含的代码在bash中不起作用?
- 20. 包含c代码的VS2005类库?
- 21. 通过JNI调用调试Java代码
- 22. 代码含义是什么?
- 23. 为什么内核代码不能使用红色区域
- 24. 链接库中包含对cuda内核的引用
- 25. 通过VBA代码在数据库中调用SQL过程
- 26. 什么是内核代码的“__PCPU_ATTRS”中的“section”?
- 27. 为什么sun jdk源代码不包含javax.servlet包?
- 28. 如何通过核心数据代码
- 29. NhiberNate通过代码地图不包含'id'的定义
- 30. 包含在(半)通用库
IOConnectCallMethod位于IOKit中,而IOKit只是一个插入函数来调用内核中的某些代码。没有任何带有内核代码的库。内核代码在内核中执行。 如果您想在内核中查找代码,您需要在目标恶意软件中查找IOSericeOpen函数并确定服务名称,然后您需要在IOConnectCallMethod函数中查找externalMethod编号。最后一步 - 找到需要的内核扩展和externalMethod。 但无论如何,你的问题并不清楚。 – progopis
非常感谢!要明确,我的问题是如何找到需要的内核扩展和已知数量的externalMethod。 –
btw,你研究的恶意软件名称是什么? – progopis