修改Android系统/system/etc/hosts文件
相关知识: 修改hosts文件可在一定程度上应对GFW,手机Android系统也一样 win7下的hosts文件在C:\Windows\System32\drivers\etc Linux下的hosts文件在/etc/hosts 而Android的hosts文件则在/system/etc下面(注意文件编码为Unix:vi中set fileformat=unix),如何修改? 方法: 可直接root手机之后用文件浏览器如RE-Root Explorer去操作替换文件,也可以连接到电脑使用adb(Android Debug Bridge)去操作,Linux里面可以直接安装adb但是Windows下面没找到直接安装的,在Android的官网需先安装Android SDK再在里面在线下载最新版的platform-tools其中就包括adb,而Android SDK又需要安装Java,太麻烦,于是直接利用刷机精灵自带的adb小工具,点进去出来一个命令行,可以直接运行adb命令,仔细一看,是adb.bat文件,里面显示实际执行的是shuame_helper.exe,直接进入powershell或cmd执行shuame_helper.exe也可;需要注意的是adb无需手机root但有些操作需要,所以最好先root; 具体过程: PC上执行的adb这个命令可直接在手机Android系统和PC之间传送文件,前提是具备相关读写权限; adb help显示帮助; adb devices显示连接到PC具体是哪些设备‘ adb remount 比较怪的是有时/system挂载成只读,帮助里面说执行adb remount后挂载为读写(实际执行后并没作用); adb pull 从Android系统拖文件过来,实际可行; adb push 推送文件到Android系统(实际执行的时候提示没有权限,或者只读系统); adb shell 这个很有用,直接进入手机Android系统里面操作,可以看成是Linux变种,很多命令没有,没关系,想办法操作,现在PC上准备好hosts文件放到SD卡上,然后adb shell进入Android系统再su进入root用户,执行操作,包括删除rm、新增touch等均提示只读系统,而前一次手机连接都可以,比较怪异,于是mount显示/system挂载点,然后 mount -rw -o remount 挂载点 /system 执行完成后,对/system有读写权限 下一步执行: mv /storage/extSdCard/文件名 /system/etc/文件名 移动过来后所属用户root,但所属组有问题,chgrp提示没有,于是touch一个文件,用户和组均为root,chmod和原root一样,再cat 文件 > 新文件,这样新文件除了名字之外的用户权限、所属用户、所属组均和原hosts一样,下一步删除hosts,改名新文件为hosts,OK,直接打开https://www.google.com/ncr 最后恢复手机/system的权限为最初的只读:mount -r -o remount 挂载点 /system,执行完毕后mount命令显示和最初一样:ro只读,保险起见再重启手机,结束 后记: adb是一个终端程序,其实也可使用其他的terminal access programs终端访问程序(手机上的app),达到同样的效果 后记2: PC直接装好驱动,和adb,手机打开USB调试并信任PC,则可直接进入手机命令行,手机root后可执行su
Labels: Linux, Operation and Maintenance, phones, Windows
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home