mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-06-12 05:07:45 +02:00
Stop embedding stub.apk in magiskinit
This commit is contained in:
@ -1,5 +1,3 @@
|
||||
#include <binaries.h>
|
||||
|
||||
#if defined(__arm__)
|
||||
#include <armeabi-v7a_binaries.h>
|
||||
#elif defined(__aarch64__)
|
||||
|
@ -61,10 +61,6 @@ void restore_ramdisk_init() {
|
||||
}
|
||||
}
|
||||
|
||||
int dump_manager(const char *path, mode_t mode) {
|
||||
return dump_bin(manager_xz, sizeof(manager_xz), path, mode);
|
||||
}
|
||||
|
||||
int dump_preload(const char *path, mode_t mode) {
|
||||
return dump_bin(init_ld_xz, sizeof(init_ld_xz), path, mode);
|
||||
}
|
||||
@ -87,12 +83,6 @@ int main(int argc, char *argv[]) {
|
||||
if (name == "magisk"sv)
|
||||
return magisk_proxy_main(argc, argv);
|
||||
|
||||
if (argc > 1 && argv[1] == "-x"sv) {
|
||||
if (argc > 2 && argv[2] == "manager"sv)
|
||||
return dump_manager(argv[3], 0644);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (getpid() != 1)
|
||||
return 1;
|
||||
|
||||
|
@ -36,7 +36,6 @@ bool check_two_stage();
|
||||
void setup_klog();
|
||||
const char *backup_init();
|
||||
void restore_ramdisk_init();
|
||||
int dump_manager(const char *path, mode_t mode);
|
||||
int dump_preload(const char *path, mode_t mode);
|
||||
|
||||
/***************
|
||||
|
@ -151,6 +151,7 @@ static void patch_socket_name(const char *path) {
|
||||
static void extract_files(bool sbin) {
|
||||
const char *m32 = sbin ? "/sbin/magisk32.xz" : "magisk32.xz";
|
||||
const char *m64 = sbin ? "/sbin/magisk64.xz" : "magisk64.xz";
|
||||
const char *stub_xz = sbin ? "/sbin/stub.xz" : "stub.xz";
|
||||
|
||||
if (access(m32, F_OK) == 0) {
|
||||
auto magisk = mmap_data(m32);
|
||||
@ -172,7 +173,13 @@ static void extract_files(bool sbin) {
|
||||
xsymlink("./magisk32", "magisk");
|
||||
}
|
||||
|
||||
dump_manager("stub.apk", 0);
|
||||
{
|
||||
auto stub = mmap_data(stub_xz);
|
||||
unlink(stub_xz);
|
||||
int fd = xopen("stub.apk", O_WRONLY | O_CREAT, 0);
|
||||
unxz(fd, stub.buf, stub.sz);
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
|
||||
#define ROOTMIR MIRRDIR "/system_root"
|
||||
|
Reference in New Issue
Block a user