Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
huataihuang committed Dec 4, 2023
1 parent 7554e84 commit 8d55c7c
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 9 deletions.
Binary file added source/_static/android/hack/vpn_share_wlan.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions source/android/apps/termux_dev/termux_apt_tool
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ pkg install openssh
# sudo工具
pkg install tsu
# ip工具和vim
pkg install iproute2 vim git
pkg install iproute2 vim git which
# openssl工具
pkg install openssl-tool
# 代理服务
pkg install squid
# 下载工具
pkg install axel
pkg install axel rsync
2 changes: 1 addition & 1 deletion source/android/apps/termux_startup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Termux是一个移植到Android系统的终端模拟程序,集成了大量的
工作原理
=========

终端模拟器(terminal emulator)是通过使用系统调用 ``execve`` 来家在命令行程序的应用,并且重定向标准如数,输出以及错误的数据流到显示屏幕。大多数在Android上提供的终端应用都是功能有限,通常由操作系统提供,或者由root工具如Magisk提供。Termux则是进一步提供了大量的GNU/Linux软件给Android。
终端模拟器(terminal emulator)是通过使用系统调用 ``execve`` 来加载命令行程序的应用,并且重定向标准输入,输出以及错误的数据流到显示屏幕。大多数在Android上提供的终端应用都是功能有限,通常由操作系统提供,或者由root工具如Magisk提供。Termux则是进一步提供了大量的GNU/Linux软件给Android。

Termux不是虚拟机,也不是模拟环境。所有提供的软件包都是使用 :ref:`android_ndk` 进行交叉编译,并且采用了兼容补丁以便能够在Android上工作。由于Android操作系统不提供完全访问文件系统的权限,所以Termux不能在标准目录下安装,例如 ``/bin`` , ``/etc`` , ``/usr`` 或者 ``/var`` ,所有文件都是位于私有应用目录,位于: ``/data/data/com.termux/files/usr``

Expand Down
1 change: 1 addition & 0 deletions source/android/hack/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Android Hack
check_secondhand_phone.rst
ab_seamless_update.rst
magisk.rst
magisk_zygisk.rst
magisk_root_ota.rst
android_recovery_mode.rst
pixel_3_chinese_volte.rst
Expand Down
10 changes: 7 additions & 3 deletions source/android/hack/magisk.rst
Original file line number Diff line number Diff line change
Expand Up @@ -293,21 +293,25 @@ Magisk使用
隐藏root
----------

.. note::

新版 Magisk 去除了 ``MagiskHide`` ,取代以 :ref:`magisk_zygisk` 实现root隐藏

由于Google服务等很多Android上应用、游戏和服务都十分重视保护自己的版权信息,所以这些软件检测到手机遭到root就会拒绝认证设备。

Magisk Hide可以绕过这些检测。

- 首先进入 Magisk Manager 检测是否通过了谷歌服务中的 SafetyNet 安全性测试
- 首先进入 Magisk Manager 检测是否通过了谷歌服务中的 SafetyNet 安全性测试

想要通过 SafetyNet 测试,最好使用原厂系统,或者是值得信赖的第三方 ROM 正式版(也就是 Official Builds),以减少不必要的麻烦。
**想要通过 SafetyNet 测试,最好使用原厂系统,或者是值得信赖的第三方 ROM 正式版(也就是 Official Builds),以减少不必要的麻烦。**

如果是 ``basic integrity`` 这一项没有通过认证,那说明你遇到了大麻烦:试着开启「Magisk 核心功能模式」或者卸载所有模块,如果还是没有通过,那么你可能需要换一个系统或者第三方 ROM 了。

如果是 ``ctsProfile`` 这一项没有通过,那说明你的 ROM 没有通过其兼容性测试,一些 beta 版本或者国内厂商的 ROM 可能出现这种问题。这时我们下载使用 `MagiskHide Props Config <https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228>`_ 模块往往能够解决问题。

- 在 Magisk Manager 的侧边菜单中找到 Magisk Hide 项,选中我们想要隐藏的目标 App 即可。最近更新的 Magisk 19.0 版本还加入了「应用组件」层面进行 Magisk Hide 的功能。

至于对哪些应用进行 Magisk Hide,这个就要看每个读者的具体需要了。一般来说,Google Play 服务和商店是必须的,但也请注意这条来自开发者的注意事项:如无必要,不要随意在 Magisk Hide 列表添加 App 而造成滥用(Do not abuse MagiskHide!)。
至于对哪些应用进行 Magisk Hide,这个就要看具体需要: 一般来说,Google Play 服务和商店是必须的,但也请注意这条来自开发者的注意事项:如无必要,不要随意在 Magisk Hide 列表添加 App 而造成滥用(Do not abuse MagiskHide!)。

如果你还不放心,还可以去 Magisk Manager 的设置中打开「隐藏 Magisk Manager」。此时 Magisk Manager 将会进行一次重新安装,以便打乱软件包名来躲过对 Magisk Manager 的检测。

Expand Down
28 changes: 28 additions & 0 deletions source/android/hack/magisk_zygisk.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.. _magisk_zygisk:

=================
Magisk Zygisk
=================

Magisk v24.0 版本开始,之前Riru改成Zygisk,意思是注入 ``Zygote`` 后的Magisk。Zygisk作为Magisk模块,体痛了更深入、更强悍的修改能力: 提供一个排除列表,可以撤销Magisk做的所有修改,这样就能手动划定模块起作用的范围。

.. warning::

**Zygisk 和 Riru Hide 不同,不能避免root被监测到,没有任何隐藏作用。**

也就是说,即使把某个程序加入到排除列表,它依然可以发现Zygisk。 :strike:`如果用户的目的是隐藏root,只能借助其他方式,例如添加 shamiko` 也就是说,如果使用Zygisk,就可以让应用程序检测不到 Magisk 和 root,但是应用程序依然可以检测到 Zygisk。所以,如果有些应用程序对安全有强要求,并且不仅检测Magisk和root,还检测Zygisk,那么还需要安装 ``Zygisk模式下的shamiko`` 模块来进一步隐藏Root。参考 `MagiskHide没了,Zygisk又是啥? <https://www.bilibili.com/read/cv14287396/>`_ 网友的commit,提到 "Zygisk模式下用Shamiko模块的白名单模式" :

- 默认全局对所有应用隐藏Root
- 除了超级用户授权过的应用可以获得Root权限,其他新装软件都完全请求不到和检测到Root
- 开启后直接过Momo(地表最强Root检测软件),任何新装软件都检测不到Root,需要用到ROOT关闭白名单模式后才能打开Root授权

我的实践:

- Google Play上的全家App(实际是台湾地区应用,后来我没有使用)会检测Root,我采用 Zygisk 直接可以排查Root检测,非常好用

参考
=======

- `Magisk模块Zygisk和Riru有啥区别?面具怎么打开Zygisk? <https://www.xitmi.com/10831.html>`_
- `Magisk24.1版本Zygisk是什么?有哪些用途好处呢 <http://www.romleyuan.com/lec/read?id=712>`_
- `MagiskHide没了,Zygisk又是啥? <https://www.bilibili.com/read/cv14287396/>`_
26 changes: 23 additions & 3 deletions source/android/hack/vpn_hotspot.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,15 @@ Misc
使用VPN HotSpot
=========================

.. note::
USB网络共享(USB tethering)
----------------------------

USB网络共享(USB
tethering)就是将手机和电脑使用USB线连接,不需要启动WiFi功能(无需手机和电脑连接相同的无线网络),此时手机就相当于电脑的一个外接有线网卡。这个方式对于个人电脑使用非常方便,但是缺陷是需要电脑能够识别这种特定驱动的外接模拟网卡。对于Linux系统,操作系统内置支持 :ref:`android_usb_tethering` 驱动,但是对于 :ref:`macos` 则需要安装 `HoRNDIS(the USB tethering driver for Mac OS X) <https://github.com/jwise/horndis>`_ 驱动。

如果是使用移动数据网络建立的VPN连接,则可以使用 ``Wi-Fi Hotspot`` 。但是,如果是已经在Wi-Fi网络上启用了VPN,就不可以使用 ``Wi-Fi Hotspot`` ,否则会导致VPN断开(因为无线网卡被改为AP热点导致直联的WLAN断开)
.. note::

通常有3步操作:
USB网络共享可能需要Android手机开启开发者模式(USB Debug)

* 启动VPN - 可以使用Cisco AnyConnect连接VPN,连接完成后,切换到VPN Hot Spot程序

Expand All @@ -94,6 +98,22 @@ Misc

Andorid系统默认不能连接隐藏的网络,需要在设置添加无线SSID时候选择 ``Advanced options >> Hidden network >> Yes`` 才能连接到Hidden(stealth) WiFi network。否则会始终提示WiFi status是 ``out of range`` (参考 `Android 10: Connect To A Hidden Network <https://supportcommunity.zebra.com/s/article/000020035?language=en_US>`_ )

WLAN热点(WiFi共享)
---------------------

另一种更为通用的方式是使用 ``VPN Hotspot`` 的共享WLAN热点,也就是Android手机自己模拟出一个WiFi AP,同时共享VPN(tun),这样所有连接到手机共享的WiFi热点,就能共享VPN访问。这种方式无需电脑上安装任何驱动,对于电脑来说,就是换一个AP连接,然后就能够通过手机端VPN线路。

.. figure:: ../../_static/android/hack/vpn_share_wlan.png

启用WLAN共享方式VPN访问

- 点击 ``WLAN热点`` 开启Android上共享WiFi热点,此时会类似USB网络共享一样,出现一个 ``wlan1`` 设备接口
- 再点击 ``wlan1`` 设备启用它,此时连接到共享热点的客户端就能够通过共享VPN访问特定网络

.. note::

共享 ``WLAN热点`` 会自动配置一个随机密码,这个密码需要点击左上角的WiFi加密图标来进一步菜单获得

参考
=====

Expand Down
1 change: 1 addition & 0 deletions source/android/install/lineageos_apps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ LineageOS 使用的 ``MindTheGapps`` 默认只安装 Google Play Store 和 Googl
- `KOReader <https://f-droid.org/en/packages/org.koreader.launcher.fdroid/>`_ 非常轻量级的电子书阅读器,比 :ref:`kindle` 快捷(自己维护电子书同步)
- `脉脉 <https://maimai.cn/>`_
- `高德地图 <https://mobile.amap.com/>`_
- `全家超市: Fa米家 <https://sj.qq.com/appdetail/com.x2era.xcloud.app>`_ 在Google Play上提供的全家App似乎是台湾地区的,国内使用的是Fa米家,所以从腾讯应用宝网站下载


应用安装(尝试后放弃这种精简方式)
Expand Down
4 changes: 4 additions & 0 deletions source/thanks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
2023年
========

- 12月4日 ``jielahou`` 留言 "请喝咖啡 CloudAtlas @jielahou 检索资料时常会遇见云图,很有用,在此感谢! 同时向大佬学习、看齐"

**感谢jielahou** 支持,相互学习共同进步,有感兴趣的技术问题,一起讨论。

- 11月23日 ``**鹏`` 留言 "请喝咖啡 CloudAtlas @zgp"

**感谢**鹏** 支持,想到我撰写的技术分享能给大家带来帮助,鼓励我继续前行,多谢!
Expand Down

0 comments on commit 8d55c7c

Please sign in to comment.