首页
社区
课程
招聘
[原创]三星刷机尝试
发表于: 2015-2-18 16:22 10580

[原创]三星刷机尝试

2015-2-18 16:22
10580
先给论坛朋友个拜年!写篇文章,留点纪念。

   

    偶尔得到一部二手GT-I9128V手机,正好练练刷机。
   第一步:装各种驱动Samsung Kies可以搞定;
   第二步:听人说改下boot.img里面的debuggable标志可以省去很多麻烦,那俺就试试。此处省略数千字,一把鼻涕一把泪。总之什么rom助手只会浪费你的时间,还是老老实实的到linux下去弄。我是下了不歪兄弟的工具直接放kali64下面跑的(注意mkbootfs运行需要装32位的库)。
    具体命令直接复制过来了:
root@kali:~/Desktop# cd android
root@kali:~/Desktop/android# ./split-bootimg.pl boot.img
Page size: 4096 (0x00001000)
Kernel size: 4721360 (0x00480ad0)
Ramdisk size: 272649 (0x00042909)
Second size: 0 (0x00000000)
Board name:
Command line: console=ttyS0,115200n8 mem=478M@0xA2000000 mem=352M@0xC0000000 androidboot.console=ttyS0 vc-cma-mem=0/112M@0xCF000000
Writing boot.img-kernel ... complete.
Writing boot.img-ramdisk.gz ... complete.
root@kali:~/Desktop/android# cd out
root@kali:~/Desktop/android/out# mkdir ramdisk
root@kali:~/Desktop/android/out# cd ramdisk
root@kali:~/Desktop/android/out/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
1018 blocks
root@kali:~/Desktop/android/out/ramdisk# ls -l
total 284
drwxrwx--x 2 root root   4096 Feb 17 23:36 data
-rw-r--r-- 1 root root    196 Feb 17 23:36 default.prop
drwxr-xr-x 2 root root   4096 Feb 17 23:36 dev
-rw-r----- 1 root root   1051 Feb 17 23:36 fstab.capri_ss_baffin
-rwxr-x--- 1 root root 110028 Feb 17 23:36 init
-rwxr-x--- 1 root root   7730 Feb 17 23:36 init.bcm281x5.usb.rc
-rwxr-x--- 1 root root   3891 Feb 17 23:36 init.bt.rc
-rwxr-x--- 1 root root  26338 Feb 17 23:36 init.capri_ss_baffin.rc
-rwxr-x--- 1 root root  26338 Feb 17 23:36 init.capri_ss.rc
-rwxr-x--- 1 root root   2344 Feb 17 23:36 init.goldfish.rc
-rwxr-x--- 1 root root   4740 Feb 17 23:36 init.log.rc
-rwxr-x--- 1 root root  33917 Feb 17 23:36 init.rc
-rwxr-x--- 1 root root   1637 Feb 17 23:36 init.trace.rc
-rwxr-x--- 1 root root   3915 Feb 17 23:36 init.usb.rc
-rw-r--r-- 1 root root   2083 Feb 17 23:36 lpm.rc
drwxr-xr-x 2 root root   4096 Feb 17 23:36 proc
drwxr-x--- 2 root root   4096 Feb 17 23:36 sbin
drwxr-xr-x 2 root root   4096 Feb 17 23:36 sys
drwxr-xr-x 2 root root   4096 Feb 17 23:36 system
-rw-r--r-- 1 root root   1333 Feb 17 23:36 ueventd.capri_ss_baffin.rc
-rw-r--r-- 1 root root   1333 Feb 17 23:36 ueventd.capri_ss.rc
-rw-r--r-- 1 root root    272 Feb 17 23:36 ueventd.goldfish.rc
-rw-r--r-- 1 root root   3928 Feb 17 23:36 ueventd.rc
root@kali:~/Desktop/android/out/ramdisk# cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.sys.usb.config=mtp,acm
persist.brcm.log=none
persist.brcm.cp_crash=none
persist.brcm.ap_crash=none
root@kali:~/Desktop/android/out/ramdisk# cd ../../
root@kali:~/Desktop/android# ls -l
total 4952
-rwxrw-rw- 1 root root 5001472 Jul 28  2014 boot.img
-rwxrw-rw- 1 root root   24302 Jan 28 04:14 mkbootfs
-rwxrw-rw- 1 root root   14472 Jan 28 04:36 mkbootimg
drwxr-xr-x 3 root root    4096 Feb 17 23:35 out
-rwxrw-rw- 1 root root    6121 Jan 27 22:26 split-bootimg.pl
-rwxrw-rw- 1 root root   10376 Jan 28 04:36 unpackbootimg

然后在kail里面用文本编辑工具把ro.debuggable=0该成1就可以开始打包了。

   打包也不是你想的那么简单。主要是mkbootimg的命令参数,自己摸索出来的。我想没人会告诉你为什么你打的包就启动不起来。其实问题就在于这条命令的参数,看起来很复杂,但不用你操心。先执行个命令看看帮助:
root@kali:~/Desktop/android# ./mkbootimg --help
usage: mkbootimg
       --kernel <filename>
       --ramdisk <filename>
       [ --second <2ndbootloader-filename> ]
       [ --cmdline <kernel-commandline> ]
       [ --board <boardname> ]
       [ --base <address> ]
       [ --pagesize <pagesize> ]
       [ --kernel_offset <base offset> ]
       [ --ramdisk_offset <base offset> ]
       [ --second_offset <base offset> ]
       [ --tags_offset <base offset> ]
       [ --dt <filename> ]
       -o|--output <filename>

看看原来的boot.img用到了什么参数,
root@kali:~/Desktop/android# ./unpackbootimg -i boot.img
BOARD_KERNEL_CMDLINE console=ttyS0,115200n8 mem=478M@0xA2000000 mem=352M@0xC0000000 androidboot.console=ttyS0 vc-cma-mem=0/112M@0xCF000000
BOARD_KERNEL_BASE 50000000
BOARD_NAME
BOARD_PAGE_SIZE 4096
BOARD_KERNEL_OFFSET 00008000
BOARD_RAMDISK_OFFSET 01000000
BOARD_TAGS_OFFSET 00000100

   好了现在我们的参数就在上面了。开始打包:
root@kali:~/Desktop/android# ./mkbootfs
error: no directories to process?!
root@kali:~/Desktop/android# ./mkbootfs ./out/ramdisk | gzip > ramdisk.img.gz
root@kali:~/Desktop/android# cd out
root@kali:~/Desktop/android/out# ../mkbootimg --base 0x50000000 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 --cmdline 'console=ttyS0,115200n8 mem=478M@0xA2000000 mem=352M@0xC0000000 androidboot.console=ttyS0 vc-cma-mem=0/112M@0xCF000000' --kernel boot.img-kernel --ramdisk ramdisk.img.gz -o newboot.img
root@kali:~/Desktop/android/out# ls -l
-rw-r--r-- 1 root root 4721360 Feb 17 23:33 boot.img-kernel
-rw-r--r-- 1 root root  272649 Feb 17 23:33 boot.img-ramdisk.gz
-rw-r--r-- 1 root root 5001216 Feb 18 01:34 newboot.img
drwxr-xr-x 8 root root    4096 Feb 18 00:12 ramdisk
-rw-r--r-- 1 root root  272504 Feb 18 00:23 ramdisk.img.gz

    将newboot.img拷贝到windows的桌面上改名为boot.img,然后用一款三星tar打包工具把它压缩成boot.tar,再打开Odin3 v3.09三星刷机工具,单击Bootloader按钮选中boot.tar就可以刷了,几秒钟后手机正常重启。

   第三步就是root,尝试各种姿势,总得来说数字的最挫,下来是完美,最后还是root大师搞定的。这时候用adb shell可以连上去,命令如下:
C:\Users\root>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@android:/ $ su
su
root@android:/ # id
id
uid=0(root) gid=0(root)
root@android:/ # pwd
pwd
/
root@android:/ # cat default.prop
cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mtp,acm
persist.brcm.log=none
persist.brcm.cp_crash=none
persist.brcm.ap_crash=none
root@android:/ #

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 370
活跃值: (1180)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
2
楼主新年快乐!
2015-2-19 08:29
0
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
还有一种ubi固件格式的好像这样root不行
2015-2-19 12:05
0
雪    币: 429
活跃值: (547)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我机子default.prop的放在zImage里。直接Odin 线刷回去
2015-2-22 11:04
0
雪    币: 270
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
天易很久没来了
2015-2-22 11:43
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
6
显然是水贴
2015-2-25 16:55
0
游客
登录 | 注册 方可回帖
返回
//