Mctrain's Blog

What I learned in IT, as well as thought about life

Get Root in My Android

| Comments

首先申明,这其实并不是一篇android root教程,因为我并没有用什么exploit的方法,也没有用CWM等这些第三方ROM,而是改了ASOP,然后把它刷到机子上,然后对其进行所谓的root,装了一个dSploit和busybox。

具体的做法是这样的:

  • 更新到ASOP的最新版 - 4.2.4
  • lunch full-maguro, make
  • fastboot to smartphone
  • 把手机连到电脑上,通过adb shell上去,进入su模式
  • 通过这里的方法进行root

即:

  • mount -o remount,rw /dev/block/…/system /system
  • mv path/to/modified/su /system/xbin/su
  • mount -o remount,ro /dev/block/…/system /system

但是发现失败了,我怀疑是su这个文件不兼容,于是,我想了一个更贱的方法:

  • 把ASOP代码中的/system/extras/su/su.c该掉,把检查的部分全部去掉

在这里,我把

1
2
3
4
if (myuid != AID_ROOT && myuid != AID_SHELL) {
  fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
  return 1;
}

注释掉,另外,把

1
if(setgid(gid) || setuid(uid)) {

换成了

1
if(setgid(0) || setuid(0)) {
  • 然后刷机

这样就直接root了!不过这只能用于我的测试机啦,正常的手机千万不敢那么做,太危险了!


另外,我用了两款软件,dSploitMercury,而且都有源码,准备之后两周研究下,学习下android编程和如何进行penetration

Comments