[i=s] 本帖最后由 nemogz 于 2012-10-29 12:01 编辑 [/i]
路人看看也罢,千万别用。
adb pull /proc/config.gz
浏览附件config.gz
浏览附件boot-backup-2012-09-21.rar
浏览附件ipl-backup-2012-09-21.rar
浏览附件recovery-backup-2012-09-21.rar
浏览附件ramdisk1.rar
浏览附件ramdisk2.rar
结果:
http://pan.baidu.com/share/link?shareid=100045&uk=354977061
http://pan.baidu.com/share/link?shareid=100046&uk=354977061
想学习、参考的看这里,后续看帖:
路人看看也罢,千万别用。
adb pull /proc/config.gz
浏览附件config.gz
浏览附件boot-backup-2012-09-21.rar
浏览附件ipl-backup-2012-09-21.rar
浏览附件recovery-backup-2012-09-21.rar
浏览附件ramdisk1.rar
浏览附件ramdisk2.rar
结果:
http://pan.baidu.com/share/link?shareid=100045&uk=354977061
http://pan.baidu.com/share/link?shareid=100046&uk=354977061
想学习、参考的看这里,后续看帖:
代码:
Discuz! X 短消息记录(此消息记录不支持重新导入)
================================================================
消息对象: ttheaven
================================================================
ttheaven 2012-10-15 13:05
你有sh-12c/02d的AMSS部分吗,有的话共享个,我没机器。
nemogz 2012-10-15 15:46
呵呵,还没学如何玩基带,不如你开个帖教教大家,我也顺便学学,回报是帮你提取AMSS。
ttheaven 2012-10-16 11:40
dump a partition only, 至于么。。。
ttheaven 2012-10-16 11:42
AMSS也就一ELF,l4的RTOS,我也在想怎么找到我要找的部分,比较大啊
nemogz 2012-10-16 12:09
你不教也罢,自己来;你教的话,省很多时间,底层开发的资料难找;做了管理层后,技术功能退化了。
唉,有得必有失。
ttheaven 2012-10-16 16:17
你可以先去找高通的oncrpc的资料。
ttheaven 2012-10-16 16:21
我暂时也就跟到这里了,我有部分的头文件,所以读起来相对容易些。
nemogz 2012-10-17 10:29
分区表中没有AMSS,你是如何提取的?
另SH-01D是TI家芯片,SH-12C是高通芯片。
/dev/mtd/mtd0 > boot
/dev/mtd/mtd1 > persist
/dev/mtd/mtd2 > misc
/dev/mtd/mtd3 > recovery
/dev/mtd/mtd4 > ipl
/dev/mtd/mtd5 > system
/dev/mtd/mtd6 > cache
/dev/mtd/mtd7 > log
/dev/mtd/mtd8 > battlog
/dev/mtd/mtd9 > calllog
/dev/mtd/mtd10 > ldb
/dev/mtd/mtd11 > userdata
ttheaven 2012-10-17 14:18
所以我好奇啊,比如某些BOX
省略控制流程的这个函数内容大概是这样
bool sh_simcontrol_cmd_req_pass_check(char *input_str) {
int input_len = strlen(input_str); // sp + 32
rpc_reply_header reply;
oncrpc_init();
oncrpc_task_start();
func();
xdr_s_type *p = rpc_clnt_lookup2(0x500000a0, 0x00010001, ONCRPC_INFINITY);
oncrpcxdr_mem_free(p);
p->ops->xdr_errchk(p, 1);
memset(lvar01, 0, 0x1c);
oncrpc_xdr_call_msg_start(p, 0x500000a0, 0x00010001, 4);
p->ops->send_uint32(p, &input_len);
p->ops->send_bytes(p, input_str);
int ret = p->ops->msg_send(p, &reply);
if (!ret) {
// LOG
return false;
}
if (reply.stat != RPC_MSG_ACCEPTED) {
// LOG
return false;
}
。。。,故下一部要去AMSS找id是0x500000a0这个program了
ttheaven 2012-10-17 14:24
夏普TI家的验证就在/system/bin/CB400SF
高通家的就是上面的东西
nemogz 2012-10-17 14:42
查了一堆资料,貌似无人能从手机中直接提取radio、amss。
你是如何做到?
nemogz 2012-10-17 14:44
那个CB400SF不会是你说的amss吧,sh-12c没有。
ttheaven 2012-10-17 14:51
显然不是啊
有思路,没实践
1. 找JS让他们用JTAG
2. 写内核模块patch MTD table,随便找个已有的改掉偏移和大小,不过如果还有别的读保护的话真不好搞,还不如1方便
ttheaven 2012-10-17 14:53
暴力搜索/dev/kmem应该也可以的,mtd表的定义去sharp发布的内核源码里面能找到,但不保证靠谱,HTC的手机可以用内核启动参数覆盖内核里的hard code。
nemogz 2012-10-17 15:04
原来如此。
你打算用JTAG,要开壳吧?TI的JTAG估计还好办,高通的JTAG可以么?
垃圾高通,JTAG电路图、CPU datasheet搞得像国家机密一样,花了我那么多时间找资料,结果凤毛麟角不着边际。
况且JTAG级加密不难做,生产前写好ROM,直接把CPU的JTAG线熔断即可,鬼子可鬼了。
ttheaven 2012-10-17 15:13
howard上看到那么多dump就是不在公共空间里面没法下载你觉得他们怎么做的
ttheaven 2012-10-17 16:03
你有稍微新点的机器么,eMMC的,这些root了之后应该能直接dump。
nemogz 2012-10-17 17:05
only SH-12C,太久不玩技术,只是近来无聊玩玩而已,不过SH-12C玩得像这样的还不多见。
ttheaven 2012-10-17 20:34
hello, 原来12c已经可以自己刷自己编译的内核的,事情好办了
去下载你机器对应的kernel,adb pull /proc/config .,我去略改下12c的分区表定义重新做个boot.img你刷回去
amss就能dump_image出来了
ttheaven 2012-10-17 20:36
http://worldtsunami.blog136.fc2.com/blog-entry-23.html
nemogz 2012-10-17 20:36
都full root了,还有什么不能干?只是学android时日短,太多未知而已。
nemogz 2012-10-17 20:42
网址要爬墙?
nemogz 2012-10-17 20:45
adb pull /proc/config.gz就有
http://bbs.blueshow.net/thread-1780266-1-1.html
nemogz 2012-10-17 20:46
你说的kernel 是源码 or other?
ttheaven 2012-10-17 20:52
sharp自己官网有kernel源码啊
自己改分区定义重新编译,让AMSS可以被访问到
ttheaven 2012-10-17 20:53
你系统什么版本?我去找对应的源代码,免得下错。
ttheaven 2012-10-17 20:53
用dump_image抓出你的boot吧
nemogz 2012-10-17 20:58
01.01.02 之前看过,好像没得下。
还有一只自己升了01.01.03返修未到。
boot.img ipl.img recovery.img 都有,用adb 的dd 命令pull出来,不知和你说的dump_image抓出来有区别否?
nemogz 2012-10-17 20:59
adb pull /proc/config.gz就有
http://bbs.blueshow.net/thread-1780266-1-1.html
.
ttheaven 2012-10-17 21:03
区别是一个有oob一个没有
ttheaven 2012-10-17 21:07
你先在能用的到底是哪个版本,我去下载对应kernel,然后改分区表定义重编译打包,让你能dump出radio。
nemogz 2012-10-17 21:08
01.01.02
nemogz 2012-10-17 21:10
早已看过为单缺版本
https://sh-dev.sharp.co.jp/android/modules/oss/index.php?/sh12c
ttheaven 2012-10-17 21:21
SH-12C (Build number 01.01.01~) オープンソースソフトウェア
这个啊
nemogz 2012-10-17 21:23
嗯,你是对的,打包过来吧,你熟,看半天还没消化。
ttheaven 2012-10-17 21:25
sh-01d注册机源代码包密码我放出去了,有爱自取。
ttheaven 2012-10-17 21:25
你的先给我你的boot.img。
ttheaven 2012-10-17 21:26
你recovery能用吧,先确认能进recovery看到boot分区并且能flash_image进boot,免得刷挂了。
nemogz 2012-10-17 21:35
原装的recovery,未修改,没有恢复菜单,需要先换掉recovery?
ttheaven 2012-10-17 21:37
保证你recovery能用flash_image修复boot,至少adb reboot recovery之后,你能adb shell,而且还要是root。
nemogz 2012-10-17 21:44
sh-01d的recovery,你是如何改的?
nemogz 2012-10-17 21:45
boot.img已传
http://bbs.blueshow.net/thread-1780266-1-1.html
ttheaven 2012-10-17 21:45
sh-01d没必要啊
nemogz 2012-10-17 22:28
recovery.img已传
问题有二:
1、未知如何热键开机进入recovery,普通的 音量+HOME+电源 三键无效
2、adb shell recovery 进入后直接机器人感叹号,无刷机菜单。
未自定制过recovery,请指导。
ttheaven 2012-10-17 22:57
adb shell recovery执行的就是recovery这个程序,自带的那个对我来说没有没必要深究。
adb reboot recovery行不行?可以的话,就改recovery.img,让adbd自启动(修改init.rc),修改build(名字我忘了).prop,改secure=0,然后重打包用flash_image刷进去。之后验证这个recovery可用,如验证通过,我去编译内核,再重打包recovery替换内核刷进去,然后可提取到AMSS了。
nemogz 2012-10-17 23:29
打错,是adb reboot recovery。
不如改recovery.img来提取AMSS,断电后会先启动到boot,这样就基本不会砖。
ttheaven 2012-10-18 08:57
ok,我去看看这个recovery怎么拆开。
nemogz 2012-10-18 09:31
http://www45.atwiki.jp/aquosphonesh12c/pages/28.html
http://www45.atwiki.jp/aquosphonesh12c/pages/29.html
由于时间原因,之前已拆开的boot和recovery:
http://bbs.blueshow.net/thread-1780266-1-1.html
ttheaven 2012-10-18 11:32
行,那我直接给你kernel你打包回去,记得开adbd服务和root,留个邮箱。
ttheaven 2012-10-18 11:34
另外给下/proc/mtd的内容,我需要知道一些offset和size去猜测,或者我加一个分区指向整个nand,但我需要大小信息。
ttheaven 2012-10-18 12:01
hello,在吗,给你zImage你换掉recovery里面的,准备放到你的上传帖去
完了之后会多出两个mtd分区,名字是PART1和PART2,对应ROM的前半和后半
麻烦你找出对应的设备号直接cat /dev/block/mtdblockN > /sdcard/aaa备份出来啦
ttheaven 2012-10-18 13:07
hello,又神隐了?
nemogz 2012-10-18 17:45
你给个recovery.img,我直刷flash_image recovery /mnt/sdcard/mtdbackup/recovery.img比较好,
刚刚搞掂Boot,冷开机可以热键启动到ADB+ROOT+SU。
cat /proc/mtd
dev: size erasesize name
mtd0: 00b00000 00020000 "boot"
mtd1: 00300000 00020000 "persist"
mtd2: 00100000 00020000 "misc"
mtd3: 00b00000 00020000 "recovery"
mtd4: 00f00000 00020000 "ipl"
mtd5: 26200000 00020000 "system"
mtd6: 06e00000 00020000 "cache"
mtd7: 00300000 00020000 "log"
mtd8: 00600000 00020000 "battlog"
mtd9: 00300000 00020000 "calllog"
mtd10: 01e00000 00020000 "ldb"
mtd11: 47da0000 00020000 "userdata"
ttheaven 2012-10-18 18:08
ok,正在传。
nemogz 2012-10-18 20:51
不行,刷完新recovery,用adb reboot recovery,无法连接到adb,大约3分钟后自动复位至boot启动。
换回旧recovery,用adb reboot recovery,直接机器人+感叹号,正常。
幸亏没去改、刷boot.img,否则极可能砖掉。
留意我早上给你的ramdisk2.zip中recovery的分离ramdisk文件夹/sbin/中缺adbd执行文件,init.rc文件中的adbd部分被屏蔽,当然default.prop也要改。
你给的新recovery.img尺寸较小,未仔细比较,如知原因,告知。
ttheaven 2012-10-18 21:30
尺寸不是问题,后面填充的部分省略了而已。
用的是别人给我的002版提取的boot,你的是什么版本?还是说我直接用你的贴出的boot改就行了?
ttheaven 2012-10-18 21:31
这个至少证明了内核大约是能启动的。
nemogz 2012-10-18 21:52
不能证明启动,无显示,无连接。
ttheaven 2012-10-18 21:57
你的boot给我一份,还是说我直接下载你发的。
boot这么大的原因是因为似乎是为了加快启动速度sharp用的不是zImage直接是未压缩的,用哪个都行。
一会重新上传kernel,你看是自己打包还是我来。
nemogz 2012-10-18 22:03
之前给你的boot,打包过来,直接刷入recovery区试试。
不可随便刷入boot区,SH-12C无bootloader,有问题就直接砖掉。
ttheaven 2012-10-26 17:52
hello, 这次给你内核模块看看
insmod mtd-hack.ko
成功的话,mtd分区会多出两个
nemogz 2012-10-26 19:03
# insmod /data/local/bin/mtd-hack.ko
insmod /data/local/bin/mtd-hack.ko
# cat /proc/mtd
cat /proc/mtd
dev: size erasesize name
mtd0: 00b00000 00020000 "boot"
mtd1: 00300000 00020000 "persist"
mtd2: 00100000 00020000 "misc"
mtd3: 00b00000 00020000 "recovery"
mtd4: 00f00000 00020000 "ipl"
mtd5: 26200000 00020000 "system"
mtd6: 06e00000 00020000 "cache"
mtd7: 00300000 00020000 "log"
mtd8: 00600000 00020000 "battlog"
mtd9: 00300000 00020000 "calllog"
mtd10: 01e00000 00020000 "ldb"
mtd11: 47da0000 00020000 "userdata"
mtd12: 40000000 00020000 "fullnand0"
mtd13: 40000000 00020000 "fullnand1"
dump_image_oob?
ttheaven 2012-10-26 19:59
oob就不用了,直接dump吧,fullnand0/1,每个1GB。
nemogz 2012-10-26 21:12
dump_image 出错mtd: ECC errors (0 soft, 60 hard) at 0x00000000...........
只能dd 或 cat 出来
nemogz 2012-10-26 21:32
不对头,dd 出来的数据,两个分区一样
ttheaven 2012-10-26 23:01
后面我补了个附件,看你帖子。
你觉得radio在前面1G还是后面1G呢。。。
nemogz 2012-10-27 00:27
网站的提醒功能有问题,没看到。
这次可能对了,上半区数据较多,所有mtd都共享了,龟速上传,共16个文件
http://pan.baidu.com/share/link?shareid=98475&uk=354977061
ttheaven 2012-10-27 13:18
お疲れ様。