Skip to content

Commit 0318fac

Browse files
author
isayan
committed
EnglishのReadmeを追加
1 parent 1eed552 commit 0318fac

3 files changed

Lines changed: 147 additions & 28 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
*.iml
22
.gradle
3+
.idea
34
local.properties
45
/app//build

Readme-ja.md

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
# Android 14 の Root証明書インストールバイパス
1+
Android 14 の Root証明書インストールバイパス
2+
=============
3+
4+
Language/[English](Readme.md)
25

36
## 概要
47

5-
Android 14 では信頼されたRoot証明書へのインストールが困難になっている
8+
Android 14 以降では信頼されたRoot証明書へのインストールが困難になっている
69

710
- https://httptoolkit.com/blog/android-14-breaks-system-certificate-installation/
811

9-
本制限を回避するための方法を示す
12+
本制限をバイパスするための方法を示す
1013

11-
## 回避概要
14+
## バイパスポイント
1215

13-
証明書を読み込む処理にて、「/apex/com.android.conscrypt/cacerts」から読み込むようになっているがシステムプロパティが「system.certs.enabled」となっている場合は、以前の「/system/etc/security/cacerts/」より証明書を取得するコードになっている。
16+
API-34 よりシステムの証明書を読み込む処理にて、「/apex/com.android.conscrypt/cacerts」より証明書読み込むようになっているが
17+
システムプロパティが「system.certs.enabled」となっている場合は、以前の「/system/etc/security/cacerts/」より証明書を取得するコードになっている。
1418

1519
- https://android-review.googlesource.com/c/platform/prebuilts/fullsdk/sources/+/2704396/1/android-34/android/security/net/config/SystemCertificateSource.java
1620

@@ -29,28 +33,29 @@ private static File getDirectory() {
2933
}
3034
````
3135

32-
回避するために本挙動を利用します。
33-
34-
## 具体的な方法
36+
バイパスを行うためにこの仕様を利用します。
3537

36-
「system.certs.enabled」のシステムプロパティを書き換える方法として、Android の XposedModule を作成することで行う。
38+
## concrete procedure
3739

40+
「system.certs.enabled」のシステムプロパティを書き換える方法として、Android の XposedModule を作成しました。
3841

39-
「OverrideSysPropModule」フォルダに作成した XposedModule をおいている
42+
「OverrideSysPropModule/app/release」フォルダに作成した XposedModule のアプリを置いています
4043

4144
## 手順 (Emulator)
4245

43-
エミュレータの場合、以下の手順でMagiskをインストールする。
46+
### Magisk をインストール
4447

45-
+ https://github.com/newbit1/rootAVD より git cloneを行う
48+
エミュレータの場合、以下の手順で Magisk をインストールする。
49+
50+
1. https://github.com/newbit1/rootAVD より git cloneを行う
4651

4752
```
4853
git clone https://github.com/newbit1/rootAVD.git
4954
```
50-
+ エミュレータを起動
51-
+ 管理画面の PowerShell から以下のコマンドを実行
55+
2. エミュレータを起動する。
56+
3. 管理画面の PowerShell から以下のコマンドを実行しインストールするADVを確認する。
5257

53-
```
58+
```sh
5459
.\rootAVD.bat ListAllAVDs
5560

5661
...
@@ -69,43 +74,41 @@ rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img In
6974
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img InstallPrebuiltKernelModules GetUSBHPmodZ PATCHFSTAB DEBUG
7075
```
7176

72-
### 最新の Magisk をインストール
73-
74-
+ 最新のMagsiskを以下よりダウンロード
77+
4. 最新の Magsisk をダウンロード
7578

7679
- https://github.com/topjohnwu/Magisk/releases
7780

78-
+ 「rootAVD\Apps」のフォルダにコピーする。
79-
+ 最新の Magisk をインストール
80-
81-
以下のコマンドを実行
81+
5. 「rootAVD/Apps」のフォルダにダウンロードしたMagiskアプリをコピーする。
82+
6. 最新の Magisk を含めてインストール
8283

83-
```
84+
```sh
8485
.\rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img
8586
```
8687

8788
### Magisk Module をインストール
8889

89-
以下のMagisk Module をインストールする。
90+
1. Magisk Module をインストールする。
9091

9192
- https://github.com/NVISOsecurity/MagiskTrustUserCerts/releases
9293
- https://github.com/LSPosed/LSPosed/releases (zygisk 版をインストール)
9394

94-
必要に応じて以下をインストール
95+
必要に応じてインストール
9596

9697
- https://github.com/LSPosed/LSPosed.github.io/releases
9798

9899
### XposedModule Module をインストール
99100

100-
「OverrideSysPropModule」フォルダ内の XposedModule をインストール。
101+
1. 「OverrideSysPropModule」フォルダ内の XposedModule をインストール。
101102

102103
````
103104
cd OverrideSysPropModule\app\release
104105
adb install app-release.apk
105106
````
106107

107-
### Moduleを適用したいアプリに対して有効にする。
108+
2. ユーザ証明書にBurpなどのRoot証明書をインストールする。
109+
110+
3. Moduleを適用したいアプリに対して有効にする。
108111

109112
![OverrideSysProp](images/OverrideSysProp.png)
110113

111-
TIP: 端末を再起動しないとうまく認識しない場合がある
114+
TIP: XposedModule有効後、Android端末を再起動しないとうまく認識しない場合がある

Readme.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
Android 14 Root Certificate Installation Bypass
2+
=============
3+
4+
Language/[日本語](Readme-ja.md)
5+
6+
## Overview
7+
8+
Android 14 or later has difficulty installing to trusted Root certificates.
9+
10+
- https://httptoolkit.com/blog/android-14-breaks-system-certificate-installation/
11+
12+
Show how to bypass restrictions.
13+
14+
## bypass point
15+
16+
API-34 has been reading certificates from "/apex/com.android.conscrypt/cacerts" in the process of reading system certificates.
17+
However, when the system property is set to "system.certs.enabled", the code is to retrieve certificates from "/system/etc/security/cacerts/".
18+
19+
- https://android-review.googlesource.com/c/platform/prebuilts/fullsdk/sources/+/2704396/1/android-34/android/security/net/config/SystemCertificateSource.java
20+
21+
````java
22+
private static File getDirectory() {
23+
if ((System.getProperty("system.certs.enabled") != null)
24+
&& (System.getProperty("system.certs.enabled")).equals("true")) {
25+
return new File(System.getenv("ANDROID_ROOT") + "/etc/security/cacerts");
26+
}
27+
File updatable_dir = new File("/apex/com.android.conscrypt/cacerts");
28+
if (updatable_dir.exists()
29+
&& !(updatable_dir.list().length == 0)) {
30+
return updatable_dir;
31+
}
32+
return new File(System.getenv("ANDROID_ROOT") + "/etc/security/cacerts");
33+
}
34+
````
35+
36+
Use this specification for bypass processing.
37+
38+
## concept
39+
40+
We created an Android XposedModule as a way to rewrite the "system.certs.enabled" system property.
41+
42+
The XposedModule app created in the "OverrideSysPropModule/app/release" folder is placed in the "OverrideSysPropModule/app/release" folder.
43+
44+
## procedure (Emulator)
45+
46+
### Install Magisk
47+
For emulators, install Magisk according to the following procedure.
48+
49+
1. https://github.com/newbit1/rootAVD Perform git clone from
50+
51+
```
52+
git clone https://github.com/newbit1/rootAVD.git
53+
```
54+
55+
2. Start the emulator.
56+
57+
3. Execute the following command from PowerShell on the administration screen to confirm the ADV to be installed.
58+
59+
```sh
60+
.\rootAVD.bat ListAllAVDs
61+
62+
...
63+
64+
Command Examples:
65+
rootAVD.bat
66+
rootAVD.bat ListAllAVDs
67+
rootAVD.bat InstallApps
68+
69+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img
70+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img FAKEBOOTIMG
71+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img DEBUG PATCHFSTAB GetUSBHPmodZ
72+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img restore
73+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img InstallKernelModules
74+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img InstallPrebuiltKernelModules
75+
rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img InstallPrebuiltKernelModules GetUSBHPmodZ PATCHFSTAB DEBUG
76+
```
77+
78+
4. Download the latest Magsisk
79+
80+
- https://github.com/topjohnwu/Magisk/releases
81+
82+
5. copy the downloaded Magisk application to the folder "rootAVD/Apps"
83+
6. install Magisk including the latest
84+
85+
```sh
86+
.\rootAVD.bat system-images\android-34\google_apis_playstore\x86_64\ramdisk.img
87+
```
88+
89+
### Install Magisk Module
90+
91+
1. Install Magisk Module.
92+
93+
- https://github.com/NVISOsecurity/MagiskTrustUserCerts/releases
94+
- https://github.com/LSPosed/LSPosed/releases (Install zygisk version)
95+
96+
Install as needed
97+
98+
- https://github.com/LSPosed/LSPosed.github.io/releases
99+
100+
### Install XposedModule Module
101+
102+
1. Install XposedModule in the "OverrideSysPropModule" folder.
103+
104+
````
105+
cd OverrideSysPropModule\app\release
106+
adb install app-release.apk
107+
````
108+
109+
2. Install a Root certificate such as Burp for user certificates.
110+
111+
3. Enable the Module for the application to which you want to apply it.
112+
113+
![OverrideSysProp](images/OverrideSysProp.png)
114+
115+
TIP: After enabling XposedModule, it may not be recognized properly unless the Android device is rebooted.

0 commit comments

Comments
 (0)