PC端利用masterkey漏洞和jdi接口进行root

最近要实现PC端root的方案,逆了某客户端后发现可以通过masterkey漏洞来完成4.3版本系统(+之前)的大部分root。具体调研之后发现其实是2013年的技术,最先应该是Saurik提出的,他的Cydia Impactor中已经实现了该方案。

该方案主要的原理是:在我前面分析masterkey漏洞的文章里提到,利用masterkey漏洞的主要方法是替换文件,然后在替换后的文件里做一些事情。这样的方法有一些局限性。Saurik提出可以通过替换AndroidManifest.xml提权为sytem用户,然后再通过一些方法提权为root用户,这样就可以只通过替换AndroidManifest.xml完成root。

提权为system用户的方法,需要结合Adb + JDI接口。JDI是Java Debug Interface,主要是通过JDWP接口利用socket通信。

主要的步骤可以在Saurik的文章中找到:http://www.saurik.com/id/17

JDWP报文数据格式可以在这里找到:http://docs.oracle.com/javase/6/docs/platform/jpda/jdwp/jdwp-protocol.html

通过JDWP发送和接收的报文数据都是little-endian的,所以在处理时需要注意。

Demo图:

root

 

《PC端利用masterkey漏洞和jdi接口进行root》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.