1
1
// Generated by gen_jni_hooks.py
2
2
3
- std::array<JNINativeMethod, 17 > zygote_methods = {{
3
+ std::array<JNINativeMethod, 19 > zygote_methods = {{
4
4
{
5
5
" nativeForkAndSpecialize" ,
6
6
" (II[II[[IILjava/lang/String;Ljava/lang/String;[ILjava/lang/String;Ljava/lang/String;)I" ,
@@ -165,6 +165,28 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
165
165
return ctx.pid ;
166
166
}
167
167
},
168
+ {
169
+ " nativeForkAndSpecialize" ,
170
+ " (II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;[Ljava/lang/String;ZZZ[J)I" ,
171
+ (void *) +[] [[clang::no_stack_protector]] (JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jintArray fds_to_close, jintArray fds_to_ignore, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs, jboolean mount_sysprop_overrides, jlongArray _9) static -> jint {
172
+ AppSpecializeArgs_v5 args (uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, instruction_set, app_data_dir);
173
+ args.fds_to_ignore = &fds_to_ignore;
174
+ args.is_child_zygote = &is_child_zygote;
175
+ args.is_top_app = &is_top_app;
176
+ args.pkg_data_info_list = &pkg_data_info_list;
177
+ args.whitelisted_data_info_list = &whitelisted_data_info_list;
178
+ args.mount_data_dirs = &mount_data_dirs;
179
+ args.mount_storage_dirs = &mount_storage_dirs;
180
+ args.mount_sysprop_overrides = &mount_sysprop_overrides;
181
+ ZygiskContext ctx (env, &args);
182
+ ctx.nativeForkAndSpecialize_pre ();
183
+ reinterpret_cast <jint (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jintArray fds_to_close, jintArray fds_to_ignore, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs, jboolean mount_sysprop_overrides, jlongArray _9)>(g_hook->zygote_methods [10 ].fnPtr )(
184
+ env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, fds_to_close, fds_to_ignore, is_child_zygote, instruction_set, app_data_dir, is_top_app, pkg_data_info_list, whitelisted_data_info_list, mount_data_dirs, mount_storage_dirs, mount_sysprop_overrides, _9
185
+ );
186
+ ctx.nativeForkAndSpecialize_post ();
187
+ return ctx.pid ;
188
+ }
189
+ },
168
190
{
169
191
" nativeSpecializeAppProcess" ,
170
192
" (II[II[[IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V" ,
@@ -173,7 +195,7 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
173
195
args.is_child_zygote = &is_child_zygote;
174
196
ZygiskContext ctx (env, &args);
175
197
ctx.nativeSpecializeAppProcess_pre ();
176
- reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir)>(g_hook->zygote_methods [10 ].fnPtr )(
198
+ reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir)>(g_hook->zygote_methods [11 ].fnPtr )(
177
199
env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, is_child_zygote, instruction_set, app_data_dir
178
200
);
179
201
ctx.nativeSpecializeAppProcess_post ();
@@ -188,7 +210,7 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
188
210
args.is_top_app = &is_top_app;
189
211
ZygiskContext ctx (env, &args);
190
212
ctx.nativeSpecializeAppProcess_pre ();
191
- reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app)>(g_hook->zygote_methods [11 ].fnPtr )(
213
+ reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app)>(g_hook->zygote_methods [12 ].fnPtr )(
192
214
env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, is_child_zygote, instruction_set, app_data_dir, is_top_app
193
215
);
194
216
ctx.nativeSpecializeAppProcess_post ();
@@ -207,7 +229,7 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
207
229
args.mount_storage_dirs = &mount_storage_dirs;
208
230
ZygiskContext ctx (env, &args);
209
231
ctx.nativeSpecializeAppProcess_pre ();
210
- reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs)>(g_hook->zygote_methods [12 ].fnPtr )(
232
+ reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs)>(g_hook->zygote_methods [13 ].fnPtr )(
211
233
env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, is_child_zygote, instruction_set, app_data_dir, is_top_app, pkg_data_info_list, whitelisted_data_info_list, mount_data_dirs, mount_storage_dirs
212
234
);
213
235
ctx.nativeSpecializeAppProcess_post ();
@@ -227,7 +249,7 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
227
249
args.mount_sysprop_overrides = &mount_sysprop_overrides;
228
250
ZygiskContext ctx (env, &args);
229
251
ctx.nativeSpecializeAppProcess_pre ();
230
- reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs, jboolean mount_sysprop_overrides)>(g_hook->zygote_methods [13 ].fnPtr )(
252
+ reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs, jboolean mount_sysprop_overrides)>(g_hook->zygote_methods [14 ].fnPtr )(
231
253
env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, is_child_zygote, instruction_set, app_data_dir, is_top_app, pkg_data_info_list, whitelisted_data_info_list, mount_data_dirs, mount_storage_dirs, mount_sysprop_overrides
232
254
);
233
255
ctx.nativeSpecializeAppProcess_post ();
@@ -236,13 +258,33 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
236
258
{
237
259
" nativeSpecializeAppProcess" ,
238
260
" (II[II[[IILjava/lang/String;IILjava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V" ,
239
- (void *) +[] [[clang::no_stack_protector]] (JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jint _9 , jint _10 , jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir) static -> void {
261
+ (void *) +[] [[clang::no_stack_protector]] (JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jint _10 , jint _11 , jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir) static -> void {
240
262
AppSpecializeArgs_v5 args (uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, instruction_set, app_data_dir);
241
263
args.is_child_zygote = &is_child_zygote;
242
264
ZygiskContext ctx (env, &args);
243
265
ctx.nativeSpecializeAppProcess_pre ();
244
- reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jint _9, jint _10, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir)>(g_hook->zygote_methods [14 ].fnPtr )(
245
- env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, _9, _10, nice_name, is_child_zygote, instruction_set, app_data_dir
266
+ reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jint _10, jint _11, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir)>(g_hook->zygote_methods [15 ].fnPtr )(
267
+ env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, _10, _11, nice_name, is_child_zygote, instruction_set, app_data_dir
268
+ );
269
+ ctx.nativeSpecializeAppProcess_post ();
270
+ }
271
+ },
272
+ {
273
+ " nativeSpecializeAppProcess" ,
274
+ " (II[II[[IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;[Ljava/lang/String;ZZZ[J)V" ,
275
+ (void *) +[] [[clang::no_stack_protector]] (JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs, jboolean mount_sysprop_overrides, jlongArray _12) static -> void {
276
+ AppSpecializeArgs_v5 args (uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, instruction_set, app_data_dir);
277
+ args.is_child_zygote = &is_child_zygote;
278
+ args.is_top_app = &is_top_app;
279
+ args.pkg_data_info_list = &pkg_data_info_list;
280
+ args.whitelisted_data_info_list = &whitelisted_data_info_list;
281
+ args.mount_data_dirs = &mount_data_dirs;
282
+ args.mount_storage_dirs = &mount_storage_dirs;
283
+ args.mount_sysprop_overrides = &mount_sysprop_overrides;
284
+ ZygiskContext ctx (env, &args);
285
+ ctx.nativeSpecializeAppProcess_pre ();
286
+ reinterpret_cast <void (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jint mount_external, jstring se_info, jstring nice_name, jboolean is_child_zygote, jstring instruction_set, jstring app_data_dir, jboolean is_top_app, jobjectArray pkg_data_info_list, jobjectArray whitelisted_data_info_list, jboolean mount_data_dirs, jboolean mount_storage_dirs, jboolean mount_sysprop_overrides, jlongArray _12)>(g_hook->zygote_methods [16 ].fnPtr )(
287
+ env, clazz, uid, gid, gids, runtime_flags, rlimits, mount_external, se_info, nice_name, is_child_zygote, instruction_set, app_data_dir, is_top_app, pkg_data_info_list, whitelisted_data_info_list, mount_data_dirs, mount_storage_dirs, mount_sysprop_overrides, _12
246
288
);
247
289
ctx.nativeSpecializeAppProcess_post ();
248
290
}
@@ -254,7 +296,7 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
254
296
ServerSpecializeArgs_v1 args (uid, gid, gids, runtime_flags, permitted_capabilities, effective_capabilities);
255
297
ZygiskContext ctx (env, &args);
256
298
ctx.nativeForkSystemServer_pre ();
257
- reinterpret_cast <jint (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jlong permitted_capabilities, jlong effective_capabilities)>(g_hook->zygote_methods [15 ].fnPtr )(
299
+ reinterpret_cast <jint (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jobjectArray rlimits, jlong permitted_capabilities, jlong effective_capabilities)>(g_hook->zygote_methods [17 ].fnPtr )(
258
300
env, clazz, uid, gid, gids, runtime_flags, rlimits, permitted_capabilities, effective_capabilities
259
301
);
260
302
ctx.nativeForkSystemServer_post ();
@@ -264,12 +306,12 @@ std::array<JNINativeMethod, 17> zygote_methods = {{
264
306
{
265
307
" nativeForkSystemServer" ,
266
308
" (II[IIII[[IJJ)I" ,
267
- (void *) +[] [[clang::no_stack_protector]] (JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jint _11 , jint _12 , jobjectArray rlimits, jlong permitted_capabilities, jlong effective_capabilities) static -> jint {
309
+ (void *) +[] [[clang::no_stack_protector]] (JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jint _13 , jint _14 , jobjectArray rlimits, jlong permitted_capabilities, jlong effective_capabilities) static -> jint {
268
310
ServerSpecializeArgs_v1 args (uid, gid, gids, runtime_flags, permitted_capabilities, effective_capabilities);
269
311
ZygiskContext ctx (env, &args);
270
312
ctx.nativeForkSystemServer_pre ();
271
- reinterpret_cast <jint (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jint _11 , jint _12 , jobjectArray rlimits, jlong permitted_capabilities, jlong effective_capabilities)>(g_hook->zygote_methods [16 ].fnPtr )(
272
- env, clazz, uid, gid, gids, runtime_flags, _11, _12 , rlimits, permitted_capabilities, effective_capabilities
313
+ reinterpret_cast <jint (*)(JNIEnv *env, jclass clazz, jint uid, jint gid, jintArray gids, jint runtime_flags, jint _13 , jint _14 , jobjectArray rlimits, jlong permitted_capabilities, jlong effective_capabilities)>(g_hook->zygote_methods [18 ].fnPtr )(
314
+ env, clazz, uid, gid, gids, runtime_flags, _13, _14 , rlimits, permitted_capabilities, effective_capabilities
273
315
);
274
316
ctx.nativeForkSystemServer_post ();
275
317
return ctx.pid ;
0 commit comments