已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 手机 > 安卓

标题: apk修改编译后重签名与提取修改的文件替换到原apk中的区别

作者: @Ta

时间: 2014-08-04

点击: 2235

不懂的请飘过
在安装的时候,Android给予每个程序包不同的Linux用户ID。软件包在设备上的生命周期中身份标识保持不变在。在不同的设备上,同样的软件包有着不同的身份标识,重要的是每个包都有不同的身份标识在给定的设备上。
安全在进程级别上实现,任意两个程序包的代码不能正常运行在同一进程中,因为他们需要以不同的Linux用户运行。可以使用每个程序包的AndroidManifest.xml中的manifest标签中的shareUserId属性将它们分配相同的用户ID。这样做的主要目的是为了安全,这两个包将被视作为同一个应用程序,拥有相同的用户ID和文件的权限。为了保持安全,只有具有相同签名(并请求同样的sharedUserId)的应用程序才会分配通用的用户ID。这个sharedUserId在框架程序的AndroidManifest.xml里可以看到任何由应用程序存储的数据将被赋予应用程序的用户ID,正常情况不能被其它应用程序访问。当使用


getSharedPreferences(String,int)


或者
openFileOutput(String,int)

或者
openOrCreateDatabase(String,int, SQLiteDatabase.CursorFactory)


创建一个新的文件(res)时,可以使用MODE_WORLD_READABLE或MODE_WORLD_WRITEABLE标志允许任何其他应用程序来读/写入文件。当设置这些标志,该文件仍然为创建文件的应用程序所拥有,但其全局读写权限已经被设置,所以任何其他应用程序可以看到它。
<center><h1>xyde.cn/my>
也就是说,重签名导致了该apk与系统apk的原签名不一致。该apk将无法在使用系统资源框架中的共享资源。造成资源缺失,很明显,就会出错。
而替换修改的xml或资源不会改变原签名。以上安卓的安全策略就会成功为修改后的apk放行。

[隐藏样式|查看源码]


『回复列表(5|隐藏机器人聊天)』

1. lbe之前的免root开启主动防御跟着有关吗。
(/@Ta/2014-08-04 15:06//)

2. @老虎会不会游泳,lbe的是用的安卓底层的一个漏洞,可能跟神奇小子那个暴力root有点关系
(/@Ta/2014-08-05 09:11//)

3. @下页哥,这个对修改系统文件有点作用,普通的问题不大
(/@Ta/2014-08-05 09:13//)

4. @白菜,他那个不也是需要破解签名吗?
(/@Ta/2014-08-05 09:23//)

5. @老虎会不会游泳,应该不需要,跟360那个伪root差不多的样子
(/@Ta/2014-08-05 10:44//)

回复需要登录

9月10日 21:05 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1