You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@ The scripts can automatically handle:
12
12
* Injecting a given CA certificate into the system trust stores so they're trusted in connections by default.
13
13
* Patching many (all?) known certificate pinning and certificate transparency tools, to allow interception by your CA certificate even when this is actively blocked.
14
14
* On Android, as a fallback: auto-detection of remaining pinning failures, to attempt auto-patching of obfuscated certificate pinning (in fully obfuscated apps, the first request may fail, but this will trigger additional patching so that all subsequent requests work correctly).
15
+
* Disabling many common root & jailbreak detections.
15
16
16
17
## Android Getting Started Guide
17
18
@@ -38,6 +39,7 @@ The scripts can automatically handle:
7. Explore, examine & modify all the traffic you're interested in! If you have any problems, please [open an issue](https://github.com/httptoolkit/frida-interception-and-unpinning/issues/new) and help make these scripts even better.
@@ -61,6 +63,7 @@ The scripts can automatically handle:
61
63
frida -U \
62
64
-l ./config.js \
63
65
-l ./ios/ios-connect-hook.js \
66
+
-l ./ios/ios-disable-detection.js \
64
67
-l ./native-tls-hook.js \
65
68
-l ./native-connect-hook.js \
66
69
-f $APP_ID
@@ -127,6 +130,14 @@ Each script includes detailed documentation on what it does and how it works in
127
130
128
131
Detects unhandled certificate validation failures, and attempts to handle unknown unrecognized cases with auto-generated fallback patches. This is more experimental and could be slightly unpredictable, but is very helpful forobfuscated cases, andin general will either fix pinning issues (after one initial failure) or will at least highlight code forfurther reverse engineeringin the Frida log output. This script shares some logic with `android-certificate-unpinning.js`, and cannot be used standalone - if you want to use this script, you'll need to include the non-fallback unpinning script too.
129
132
133
+
* `android-disable-root-detection.js`
134
+
135
+
Disables common root detection checks across native and Java layers to prevent detection of rooted Android devices.
136
+
137
+
This script intercepts file system access, shell commands, and package lookups for known root indicators (like `su`, Magisk, and related apps), and fakes key system properties (`ro.secure`, `ro.debuggable`, etc.) to simulate a production environment.
138
+
139
+
It blocks suspicious behavior like file existence checks and shell command execution, helping evade detection in apps using both standard and advanced root checks.
140
+
130
141
* `ios/`
131
142
132
143
* `ios-connect-hook.js`
@@ -135,13 +146,16 @@ Each script includes detailed documentation on what it does and how it works in
135
146
136
147
This is a low-level hook that applies to _all_ network connections. This ensures that all connections are forcibly redirected to the target proxy server, even those which ignore proxy settings or make other raw socket connections.
137
148
149
+
* `ios-disable-detection.js`
150
+
151
+
Disables JailMonkey jailbreak detection.
152
+
138
153
* `utilities/test-ip-connectivity.js`
139
154
140
155
You probably don't want to use this normally as part of interception itself, but it can be very useful as part of your configuration setup.
141
156
142
157
This script allows you to configure a list of possible IP addresses and a target port, and have the process test each address, and send a message to the Frida client for the first reachable address provided. This can be useful for automated configuration processes, if you don't know which IP address is best to use to reach the proxy server (your computer) from the target device (your phone).
143
158
144
-
---
145
159
146
160
These scripts are part of [a broader HTTP Toolkit project](https://httptoolkit.com/blog/frida-mobile-interception-funding/), funded through the [NGI Zero Entrust Fund](https://nlnet.nl/entrust), established by [NLnet](https://nlnet.nl) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu) program. Learn more on the [NLnet project page](https://nlnet.nl/project/F3-AppInterception#ack).
0 commit comments