commit 9e92483e5f822e8d8be3ba3738955730a7dfc391 Author: Gregory Lirent Date: Sat Aug 3 14:39:42 2024 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..88d159f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "pve-qemu"] + path = pve-qemu + url = git://git.proxmox.com/git/pve-qemu.git diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..27e0764 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +BUILD_DIR=.build + +build: prepare + cd $(BUILD_DIR)/ && make deb + +prepare: | submodule + mkdir -p $(BUILD_DIR)/debian/ + ln -sf $$(readlink -f submodules/pve-qemu/qemu) $(BUILD_DIR)/ + cp -r submodules/pve-qemu/debian/* $(BUILD_DIR)/debian + cp -r patches/* $(BUILD_DIR)/debian/patches/pve + cd $(BUILD_DIR)/debian/patches && find pve -type f | grep 'pve/9' >> series && cd - + cp pve-qemu/* $(BUILD_DIR)/ || true + +.PHONY: submodule +submodule: + git submodule update --init pve-qemu + +.PHONY: clean +clean: + cd pve-qemu && make distclean + git submodule deinit --all -f && cd - + rm -rf $(BUILD_DIR) \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/patches/9000-antidetect-block.patch b/patches/9000-antidetect-block.patch new file mode 100644 index 0000000..ecee800 --- /dev/null +++ b/patches/9000-antidetect-block.patch @@ -0,0 +1,24 @@ +diff -Naur --no-dereference a/block/vhdx.c b/block/vhdx.c +--- a/block/vhdx.c ++++ b/block/vhdx.c +@@ -2020,7 +2020,7 @@ + + /* The creator field is optional, but may be useful for + * debugging / diagnostics */ +- creator = g_utf8_to_utf16("QEMU v" QEMU_VERSION, -1, NULL, ++ creator = g_utf8_to_utf16("ASUS v" QEMU_VERSION, -1, NULL, + &creator_items, NULL); + signature = cpu_to_le64(VHDX_FILE_SIGNATURE); + ret = blk_co_pwrite(blk, VHDX_FILE_ID_OFFSET, sizeof(signature), &signature, +diff -Naur --no-dereference a/block/vvfat.c b/block/vvfat.c +--- a/block/vvfat.c ++++ b/block/vvfat.c +@@ -1177,7 +1177,7 @@ + } + memcpy(s->volume_label, label, label_length); + } else { +- memcpy(s->volume_label, "QEMU VVFAT", 10); ++ memcpy(s->volume_label, "ASUS VVFAT", 10); + } + + if (floppy) { diff --git a/patches/9001-antidetect-chardev.patch b/patches/9001-antidetect-chardev.patch new file mode 100644 index 0000000..effb5c2 --- /dev/null +++ b/patches/9001-antidetect-chardev.patch @@ -0,0 +1,24 @@ +diff -Naur --no-dereference a/chardev/msmouse.c b/chardev/msmouse.c +--- a/chardev/msmouse.c ++++ b/chardev/msmouse.c +@@ -172,7 +172,7 @@ + } + + static const QemuInputHandler msmouse_handler = { +- .name = "QEMU Microsoft Mouse", ++ .name = "ASUS Microsoft Mouse", + .mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL, + .event = msmouse_input_event, + .sync = msmouse_input_sync, +diff -Naur --no-dereference a/chardev/wctablet.c b/chardev/wctablet.c +--- a/chardev/wctablet.c ++++ b/chardev/wctablet.c +@@ -179,7 +179,7 @@ + } + + static const QemuInputHandler wctablet_handler = { +- .name = "QEMU Wacom Pen Tablet", ++ .name = "ASUS Wacom Pen Tablet", + .mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS, + .event = wctablet_input_event, + .sync = wctablet_input_sync, diff --git a/patches/9002-antidetect-contrib.patch b/patches/9002-antidetect-contrib.patch new file mode 100644 index 0000000..ea97c48 --- /dev/null +++ b/patches/9002-antidetect-contrib.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c +--- a/contrib/vhost-user-gpu/vhost-user-gpu.c ++++ b/contrib/vhost-user-gpu/vhost-user-gpu.c +@@ -1254,7 +1254,7 @@ + QTAILQ_INIT(&g.reslist); + QTAILQ_INIT(&g.fenceq); + +- context = g_option_context_new("QEMU vhost-user-gpu"); ++ context = g_option_context_new("ASUS vhost-user-gpu"); + g_option_context_add_main_entries(context, entries, NULL); + if (!g_option_context_parse(context, &argc, &argv, &error)) { + g_printerr("Option parsing failed: %s\n", error->message); diff --git a/patches/9003-antidetect-hw-acpi.patch b/patches/9003-antidetect-hw-acpi.patch new file mode 100644 index 0000000..a1c7f5d --- /dev/null +++ b/patches/9003-antidetect-hw-acpi.patch @@ -0,0 +1,30 @@ +diff -Naur --no-dereference a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c +--- a/hw/acpi/aml-build.c ++++ b/hw/acpi/aml-build.c +@@ -1724,11 +1724,11 @@ + build_append_int_noprefix(array, 0, 4); /* Length */ + build_append_int_noprefix(array, desc->rev, 1); /* Revision */ + build_append_int_noprefix(array, 0, 1); /* Checksum */ +- build_append_padded_str(array, desc->oem_id, 6, '\0'); /* OEMID */ ++ build_append_padded_str(array, ACPI_BUILD_APPNAME6, 6, '\0'); /* OEMID */ //desc->oem_id + /* OEM Table ID */ +- build_append_padded_str(array, desc->oem_table_id, 8, '\0'); ++ build_append_padded_str(array, ACPI_BUILD_APPNAME8, 8, '\0'); //desc->oem_table_id + build_append_int_noprefix(array, 1, 4); /* OEM Revision */ +- g_array_append_vals(array, ACPI_BUILD_APPNAME8, 4); /* Creator ID */ ++ g_array_append_vals(array, "PTL ", 4); /* Creator ID */ + build_append_int_noprefix(array, 1, 4); /* Creator Revision */ + } + +diff -Naur --no-dereference a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c +--- a/hw/acpi/vmgenid.c ++++ b/hw/acpi/vmgenid.c +@@ -25,6 +25,8 @@ + void vmgenid_build_acpi(VmGenIdState *vms, GArray *table_data, GArray *guid, + BIOSLinker *linker, const char *oem_id) + { ++ //FUCK YOU~~~ ++ return; + Aml *ssdt, *dev, *scope, *method, *addr, *if_ctx; + uint32_t vgia_offset; + QemuUUID guid_le; diff --git a/patches/9004-antidetect-hw-arm.patch b/patches/9004-antidetect-hw-arm.patch new file mode 100644 index 0000000..130998d --- /dev/null +++ b/patches/9004-antidetect-hw-arm.patch @@ -0,0 +1,47 @@ +diff -Naur --no-dereference a/hw/arm/nseries.c b/hw/arm/nseries.c +--- a/hw/arm/nseries.c ++++ b/hw/arm/nseries.c +@@ -849,7 +849,7 @@ + + memset(p, 0, 0x3000); + +- strcpy((void *) (p + 0), "QEMU N800"); ++ strcpy((void *) (p + 0), "ASUS N800"); + + strcpy((void *) (p + 8), "F5"); + +@@ -1152,7 +1152,7 @@ + + stw_p(w++, OMAP_TAG_LCD); /* u16 tag */ + stw_p(w++, 36); /* u16 len */ +- strcpy((void *) w, "QEMU LCD panel"); /* char panel_name[16] */ ++ strcpy((void *) w, "ASUS LCD panel"); /* char panel_name[16] */ + w += 8; + strcpy((void *) w, "blizzard"); /* char ctrl_name[16] */ + w += 8; +@@ -1272,11 +1272,11 @@ + stw_p(w++, 24); /* u16 len */ + strcpy((void *) w, "hw-build"); /* char component[12] */ + w += 6; +- strcpy((void *) w, "QEMU "); ++ strcpy((void *) w, "ASUS "); + pstrcat((void *) w, 12, qemu_hw_version()); /* char version[12] */ + w += 6; + +- tag = (model == 810) ? "1.1.10-qemu" : "1.1.6-qemu"; ++ tag = (model == 810) ? "1.1.10-asus" : "1.1.6-asus"; + stw_p(w++, OMAP_TAG_VERSION_STR); /* u16 tag */ + stw_p(w++, 24); /* u16 len */ + strcpy((void *) w, "nolo"); /* char component[12] */ +diff -Naur --no-dereference a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c +--- a/hw/arm/sbsa-ref.c ++++ b/hw/arm/sbsa-ref.c +@@ -874,7 +874,7 @@ + }; + + mc->init = sbsa_ref_init; +- mc->desc = "QEMU 'SBSA Reference' ARM Virtual Machine"; ++ mc->desc = "ASUS 'SBSA Reference' ARM Real Machine"; + mc->default_cpu_type = ARM_CPU_TYPE_NAME("neoverse-n1"); + mc->valid_cpu_types = valid_cpu_types; + mc->max_cpus = 512; diff --git a/patches/9005-antidetect-hw-audio.patch b/patches/9005-antidetect-hw-audio.patch new file mode 100644 index 0000000..16c00e1 --- /dev/null +++ b/patches/9005-antidetect-hw-audio.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c +--- a/hw/audio/hda-codec.c ++++ b/hw/audio/hda-codec.c +@@ -118,7 +118,7 @@ + + /* some defines */ + +-#define QEMU_HDA_ID_VENDOR 0x1af4 ++#define QEMU_HDA_ID_VENDOR 0x8086 + #define QEMU_HDA_PCM_FORMATS (AC_SUPPCM_BITS_16 | \ + 0x1fc /* 16 -> 96 kHz */) + #define QEMU_HDA_AMP_NONE (0) diff --git a/patches/9006-antidetect-hw-char.patch b/patches/9006-antidetect-hw-char.patch new file mode 100644 index 0000000..0162d7a --- /dev/null +++ b/patches/9006-antidetect-hw-char.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/char/escc.c b/hw/char/escc.c +--- a/hw/char/escc.c ++++ b/hw/char/escc.c +@@ -1037,7 +1037,7 @@ + + if (s->chn[0].type == escc_mouse) { + qemu_add_mouse_event_handler(sunmouse_event, &s->chn[0], 0, +- "QEMU Sun Mouse"); ++ "ASUS Sun Mouse"); + } + if (s->chn[1].type == escc_kbd) { + s->chn[1].hs = qemu_input_handler_register((DeviceState *)(&s->chn[1]), diff --git a/patches/9007-antidetect-hw-display.patch b/patches/9007-antidetect-hw-display.patch new file mode 100644 index 0000000..2baf67c --- /dev/null +++ b/patches/9007-antidetect-hw-display.patch @@ -0,0 +1,25 @@ +diff -Naur --no-dereference a/hw/display/edid-generate.c b/hw/display/edid-generate.c +--- a/hw/display/edid-generate.c ++++ b/hw/display/edid-generate.c +@@ -394,10 +394,10 @@ + /* =============== set defaults =============== */ + + if (!info->vendor || strlen(info->vendor) != 3) { +- info->vendor = "RHT"; ++ info->vendor = "DEL"; + } + if (!info->name) { +- info->name = "QEMU Monitor"; ++ info->name = "DEL Monitor"; + } + if (!info->prefx) { + info->prefx = 1280; +@@ -449,7 +449,7 @@ + uint16_t vendor_id = ((((info->vendor[0] - '@') & 0x1f) << 10) | + (((info->vendor[1] - '@') & 0x1f) << 5) | + (((info->vendor[2] - '@') & 0x1f) << 0)); +- uint16_t model_nr = 0x1234; ++ uint16_t model_nr = 0xA05F; + uint32_t serial_nr = info->serial ? atoi(info->serial) : 0; + stw_be_p(edid + 8, vendor_id); + stw_le_p(edid + 10, model_nr); diff --git a/patches/9008-antidetect-hw-i386.patch b/patches/9008-antidetect-hw-i386.patch new file mode 100644 index 0000000..e0b56fe --- /dev/null +++ b/patches/9008-antidetect-hw-i386.patch @@ -0,0 +1,52 @@ +diff -Naur --no-dereference a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c +--- a/hw/i386/acpi-build.c ++++ b/hw/i386/acpi-build.c +@@ -932,6 +932,7 @@ + + static void build_dbg_aml(Aml *table) + { ++ return; + Aml *field; + Aml *method; + Aml *while_ctx; +@@ -1758,13 +1759,13 @@ + aml_append(scope, aml_name_decl("_S5", pkg)); + aml_append(dsdt, scope); + + /* create fw_cfg node, unconditionally */ + { +- scope = aml_scope("\\_SB.PCI0"); +- fw_cfg_add_acpi_dsdt(scope, x86ms->fw_cfg); +- aml_append(dsdt, scope); ++ // scope = aml_scope("\\_SB.PCI0"); ++ // fw_cfg_add_acpi_dsdt(scope, x86ms->fw_cfg); ++ // aml_append(dsdt, scope); + } + + sb_scope = aml_scope("\\_SB"); + { + Object *pci_host = acpi_get_i386_pci_host(); +diff -Naur --no-dereference a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c +--- a/hw/i386/pc_q35.c ++++ b/hw/i386/pc_q35.c +@@ -348,7 +348,7 @@ + pcmc->default_cpu_version = 1; + +- m->family = "pc_q35"; +- m->desc = "Standard PC (Q35 + ICH9, 2009)"; ++ m->family = "ASUS"; ++ m->desc = "M4A88TD-M"; + m->units_per_default_bus = 1; + m->default_machine_opts = "firmware=bios-256k.bin"; + m->default_display = "std"; +diff -Naur --no-dereference a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c +--- a/hw/i386/pc_piix.c ++++ b/hw/i386/pc_piix.c +@@ -498,5 +498,5 @@ + +- m->family = "pc_piix"; +- m->desc = "Standard PC (i440FX + PIIX, 1996)"; ++ m->family = "ASUS"; ++ m->desc = "M4A88TD-M"; + m->default_machine_opts = "firmware=bios-256k.bin"; + m->default_display = "std"; diff --git a/patches/9009-antidetect-hw-ide.patch b/patches/9009-antidetect-hw-ide.patch new file mode 100644 index 0000000..9d35e6e --- /dev/null +++ b/patches/9009-antidetect-hw-ide.patch @@ -0,0 +1,42 @@ +diff -Naur --no-dereference a/hw/ide/atapi.c b/hw/ide/atapi.c +--- a/hw/ide/atapi.c ++++ b/hw/ide/atapi.c +@@ -797,8 +797,8 @@ + buf[5] = 0; /* reserved */ + buf[6] = 0; /* reserved */ + buf[7] = 0; /* reserved */ +- padstr8(buf + 8, 8, "QEMU"); +- padstr8(buf + 16, 16, "QEMU DVD-ROM"); ++ padstr8(buf + 8, 8, "ASUS"); ++ padstr8(buf + 16, 16, "ASUS DVD-ROM"); + padstr8(buf + 32, 4, s->version); + idx = 36; + } +diff -Naur --no-dereference a/hw/ide/core.c b/hw/ide/core.c +--- a/hw/ide/core.c ++++ b/hw/ide/core.c +@@ -2627,20 +2627,20 @@ + pstrcpy(s->drive_serial_str, sizeof(s->drive_serial_str), dev->serial); + } else { + snprintf(s->drive_serial_str, sizeof(s->drive_serial_str), +- "QM%05d", s->drive_serial); ++ "ASUS%05d", s->drive_serial); + } + if (dev->model) { + pstrcpy(s->drive_model_str, sizeof(s->drive_model_str), dev->model); + } else { + switch (kind) { + case IDE_CD: +- strcpy(s->drive_model_str, "QEMU DVD-ROM"); ++ strcpy(s->drive_model_str, "ASUS DVD-ROM"); + break; + case IDE_CFATA: +- strcpy(s->drive_model_str, "QEMU MICRODRIVE"); ++ strcpy(s->drive_model_str, "ASUS MICRODRIVE"); + break; + default: +- strcpy(s->drive_model_str, "QEMU HARDDISK"); ++ strcpy(s->drive_model_str, "ASUS HARDDISK"); + break; + } + } diff --git a/patches/9010-antidetect-hw-input.patch b/patches/9010-antidetect-hw-input.patch new file mode 100644 index 0000000..ec2429a --- /dev/null +++ b/patches/9010-antidetect-hw-input.patch @@ -0,0 +1,133 @@ +diff -Naur --no-dereference a/hw/input/adb-kbd.c b/hw/input/adb-kbd.c +--- a/hw/input/adb-kbd.c ++++ b/hw/input/adb-kbd.c +@@ -356,7 +356,7 @@ + } + + static const QemuInputHandler adb_keyboard_handler = { +- .name = "QEMU ADB Keyboard", ++ .name = "ASUS ADB Keyboard", + .mask = INPUT_EVENT_MASK_KEY, + .event = adb_keyboard_event, + }; +diff -Naur --no-dereference a/hw/input/adb-mouse.c b/hw/input/adb-mouse.c +--- a/hw/input/adb-mouse.c ++++ b/hw/input/adb-mouse.c +@@ -236,7 +236,7 @@ + + amc->parent_realize(dev, errp); + +- qemu_add_mouse_event_handler(adb_mouse_event, s, 0, "QEMU ADB Mouse"); ++ qemu_add_mouse_event_handler(adb_mouse_event, s, 0, "ASUS ADB Mouse"); + } + + static void adb_mouse_initfn(Object *obj) +diff -Naur --no-dereference a/hw/input/ads7846.c b/hw/input/ads7846.c +--- a/hw/input/ads7846.c ++++ b/hw/input/ads7846.c +@@ -154,7 +154,7 @@ + + /* We want absolute coordinates */ + qemu_add_mouse_event_handler(ads7846_ts_event, s, 1, +- "QEMU ADS7846-driven Touchscreen"); ++ "ASUS ADS7846-driven Touchscreen"); + + ads7846_int_update(s); + +diff -Naur --no-dereference a/hw/input/hid.c b/hw/input/hid.c +--- a/hw/input/hid.c ++++ b/hw/input/hid.c +@@ -511,20 +511,20 @@ + } + + static const QemuInputHandler hid_keyboard_handler = { +- .name = "QEMU HID Keyboard", ++ .name = "ASUS HID Keyboard", + .mask = INPUT_EVENT_MASK_KEY, + .event = hid_keyboard_event, + }; + + static const QemuInputHandler hid_mouse_handler = { +- .name = "QEMU HID Mouse", ++ .name = "ASUS HID Mouse", + .mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL, + .event = hid_pointer_event, + .sync = hid_pointer_sync, + }; + + static const QemuInputHandler hid_tablet_handler = { +- .name = "QEMU HID Tablet", ++ .name = "ASUS HID Tablet", + .mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS, + .event = hid_pointer_event, + .sync = hid_pointer_sync, +diff -Naur --no-dereference a/hw/input/ps2.c b/hw/input/ps2.c +--- a/hw/input/ps2.c ++++ b/hw/input/ps2.c +@@ -1232,7 +1232,7 @@ + }; + + static const QemuInputHandler ps2_keyboard_handler = { +- .name = "QEMU PS/2 Keyboard", ++ .name = "ASUS PS/2 Keyboard", + .mask = INPUT_EVENT_MASK_KEY, + .event = ps2_keyboard_event, + }; +@@ -1243,7 +1243,7 @@ + } + + static const QemuInputHandler ps2_mouse_handler = { +- .name = "QEMU PS/2 Mouse", ++ .name = "ASUS PS/2 Mouse", + .mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL, + .event = ps2_mouse_event, + .sync = ps2_mouse_sync, +diff -Naur --no-dereference a/hw/input/tsc2005.c b/hw/input/tsc2005.c +--- a/hw/input/tsc2005.c ++++ b/hw/input/tsc2005.c +@@ -510,7 +510,7 @@ + tsc2005_reset(s); + + qemu_add_mouse_event_handler(tsc2005_touchscreen_event, s, 1, +- "QEMU TSC2005-driven Touchscreen"); ++ "ASUS TSC2005-driven Touchscreen"); + + qemu_register_reset((void *) tsc2005_reset, s); + vmstate_register(NULL, 0, &vmstate_tsc2005, s); +diff -Naur --no-dereference a/hw/input/tsc210x.c b/hw/input/tsc210x.c +--- a/hw/input/tsc210x.c ++++ b/hw/input/tsc210x.c +@@ -1122,7 +1122,7 @@ + s->model = 0x2102; + s->name = "tsc2102"; + +- tsc210x_init(s, "QEMU TSC2102-driven Touchscreen", &vmstate_tsc2102); ++ tsc210x_init(s, "ASUS TSC2102-driven Touchscreen", &vmstate_tsc2102); + + return &s->chip; + } +@@ -1143,7 +1143,7 @@ + s->model = 0x2301; + s->name = "tsc2301"; + +- tsc210x_init(s, "QEMU TSC2301-driven Touchscreen", &vmstate_tsc2301); ++ tsc210x_init(s, "ASUS TSC2301-driven Touchscreen", &vmstate_tsc2301); + + return &s->chip; + } +diff -Naur --no-dereference a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c +--- a/hw/input/virtio-input-hid.c ++++ b/hw/input/virtio-input-hid.c +@@ -17,8 +17,8 @@ + #include "standard-headers/linux/input.h" + +-#define VIRTIO_ID_NAME_KEYBOARD "QEMU Virtio Keyboard" ++#define VIRTIO_ID_NAME_KEYBOARD "ASUS Keyboard" +-#define VIRTIO_ID_NAME_MOUSE "QEMU Virtio Mouse" ++#define VIRTIO_ID_NAME_MOUSE "ASUS Mouse" +-#define VIRTIO_ID_NAME_TABLET "QEMU Virtio Tablet" ++#define VIRTIO_ID_NAME_TABLET "ASUS Tablet" +-#define VIRTIO_ID_NAME_MULTITOUCH "QEMU Virtio MultiTouch" ++#define VIRTIO_ID_NAME_MULTITOUCH "ASUS MultiTouch" + + /* ----------------------------------------------------------------- */ diff --git a/patches/9011-antidetect-hw-m68k.patch b/patches/9011-antidetect-hw-m68k.patch new file mode 100644 index 0000000..8e07ed0 --- /dev/null +++ b/patches/9011-antidetect-hw-m68k.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/m68k/virt.c b/hw/m68k/virt.c +--- a/hw/m68k/virt.c ++++ b/hw/m68k/virt.c +@@ -312,7 +312,7 @@ + static void virt_machine_class_init(ObjectClass *oc, void *data) + { + MachineClass *mc = MACHINE_CLASS(oc); +- mc->desc = "QEMU M68K Virtual Machine"; ++ mc->desc = "ASUS M68K Real Machine"; + mc->init = virt_init; + mc->default_cpu_type = M68K_CPU_TYPE_NAME("m68040"); + mc->max_cpus = 1; diff --git a/patches/9012-antidetect-hw-misc.patch b/patches/9012-antidetect-hw-misc.patch new file mode 100644 index 0000000..a7c7472 --- /dev/null +++ b/patches/9012-antidetect-hw-misc.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/misc/pvpanic-isa.c b/hw/misc/pvpanic-isa.c +--- a/hw/misc/pvpanic-isa.c ++++ b/hw/misc/pvpanic-isa.c +@@ -70,7 +70,7 @@ + PVPanicISAState *s = PVPANIC_ISA_DEVICE(adev); + Aml *dev = aml_device("PEVT"); + +- aml_append(dev, aml_name_decl("_HID", aml_string("QEMU0001"))); ++ aml_append(dev, aml_name_decl("_HID", aml_string("ASUS0001"))); + + crs = aml_resource_template(); + aml_append(crs, diff --git a/patches/9013-antidetect-hw-nvme.patch b/patches/9013-antidetect-hw-nvme.patch new file mode 100644 index 0000000..ef56b1f --- /dev/null +++ b/patches/9013-antidetect-hw-nvme.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c +--- a/hw/nvme/ctrl.c ++++ b/hw/nvme/ctrl.c +@@ -8195,7 +8195,7 @@ + + id->vid = cpu_to_le16(pci_get_word(pci_conf + PCI_VENDOR_ID)); + id->ssvid = cpu_to_le16(pci_get_word(pci_conf + PCI_SUBSYSTEM_VENDOR_ID)); +- strpadcpy((char *)id->mn, sizeof(id->mn), "QEMU NVMe Ctrl", ' '); ++ strpadcpy((char *)id->mn, sizeof(id->mn), "ASUS NVMe Ctrl", ' '); + strpadcpy((char *)id->fr, sizeof(id->fr), QEMU_VERSION, ' '); + strpadcpy((char *)id->sn, sizeof(id->sn), n->params.serial, ' '); + diff --git a/patches/9014-antidetect-hw-nvram.patch b/patches/9014-antidetect-hw-nvram.patch new file mode 100644 index 0000000..fbf12f2 --- /dev/null +++ b/patches/9014-antidetect-hw-nvram.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c +--- a/hw/nvram/fw_cfg.c ++++ b/hw/nvram/fw_cfg.c +@@ -57,7 +57,7 @@ + #define FW_CFG_DMA_CTL_SELECT 0x08 + #define FW_CFG_DMA_CTL_WRITE 0x10 + +-#define FW_CFG_DMA_SIGNATURE 0x51454d5520434647ULL /* "QEMU CFG" */ ++#define FW_CFG_DMA_SIGNATURE 0x4155535520434647ULL /* "ASUS CFG" */ + + struct FWCfgEntry { + uint32_t len; diff --git a/patches/9015-antidetect-hw-pci.patch b/patches/9015-antidetect-hw-pci.patch new file mode 100644 index 0000000..419dfdf --- /dev/null +++ b/patches/9015-antidetect-hw-pci.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/pci-host/gpex.c b/hw/pci-host/gpex.c +--- a/hw/pci-host/gpex.c ++++ b/hw/pci-host/gpex.c +@@ -219,7 +219,7 @@ + DeviceClass *dc = DEVICE_CLASS(klass); + + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); +- dc->desc = "QEMU generic PCIe host bridge"; ++ dc->desc = "ASUS generic PCIe host bridge"; + dc->vmsd = &vmstate_gpex_root; + k->vendor_id = PCI_VENDOR_ID_REDHAT; + k->device_id = PCI_DEVICE_ID_REDHAT_PCIE_HOST; diff --git a/patches/9016-antidetect-hw-ppc.patch b/patches/9016-antidetect-hw-ppc.patch new file mode 100644 index 0000000..6f7e651 --- /dev/null +++ b/patches/9016-antidetect-hw-ppc.patch @@ -0,0 +1,14 @@ +diff -Naur --no-dereference a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c +--- a/hw/ppc/e500plat.c ++++ b/hw/ppc/e500plat.c +@@ -22,8 +22,8 @@ + + static void e500plat_fixup_devtree(void *fdt) + { +- const char model[] = "QEMU ppce500"; +- const char compatible[] = "fsl,qemu-e500"; ++ const char model[] = "ASUS ppce500"; ++ const char compatible[] = "fsl,asus-e500"; + + qemu_fdt_setprop(fdt, "/", "model", model, sizeof(model)); + qemu_fdt_setprop(fdt, "/", "compatible", compatible, diff --git a/patches/9017-antidetect-hw-scsi.patch b/patches/9017-antidetect-hw-scsi.patch new file mode 100644 index 0000000..d28aeec --- /dev/null +++ b/patches/9017-antidetect-hw-scsi.patch @@ -0,0 +1,79 @@ +diff -Naur --no-dereference a/hw/scsi/mptconfig.c b/hw/scsi/mptconfig.c +--- a/hw/scsi/mptconfig.c ++++ b/hw/scsi/mptconfig.c +@@ -189,12 +189,12 @@ + size_t mptsas_config_manufacturing_0(MPTSASState *s, uint8_t **data, int address) + { + return MPTSAS_CONFIG_PACK(0, MPI_CONFIG_PAGETYPE_MANUFACTURING, 0x00, +- "s16s8s16s16s16", +- "QEMU MPT Fusion", ++ "s11s4s51s41s91", ++ "ASUS MPT Fusion", + "2.5", +- "QEMU MPT Fusion", +- "QEMU", +- "0000111122223333"); ++ "ASUS MPT Fusion", ++ "ASUS", ++ "1145141919810000"); + } + + static +diff -Naur --no-dereference a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c +--- a/hw/scsi/scsi-bus.c ++++ b/hw/scsi/scsi-bus.c +@@ -643,8 +643,8 @@ + r->buf[3] = 2 | 0x10; /* HiSup, response data format */ + r->buf[4] = r->len - 5; /* Additional Length = (Len - 1) - 4 */ + r->buf[7] = 0x10 | (r->req.bus->info->tcq ? 0x02 : 0); /* Sync, TCQ. */ +- memcpy(&r->buf[8], "QEMU ", 8); +- memcpy(&r->buf[16], "QEMU TARGET ", 16); ++ memcpy(&r->buf[8], "ASUS ", 8); ++ memcpy(&r->buf[16], "ASUS TARGET ", 16); + pstrcpy((char *) &r->buf[32], 4, qemu_hw_version()); + } + return true; +diff -Naur --no-dereference a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c +--- a/hw/scsi/scsi-disk.c ++++ b/hw/scsi/scsi-disk.c +@@ -2499,7 +2499,7 @@ + s->version = g_strdup(qemu_hw_version()); + } + if (!s->vendor) { +- s->vendor = g_strdup("QEMU"); ++ s->vendor = g_strdup("ASUS"); + } + if (!s->device_id) { + if (s->serial) { +@@ -2552,7 +2552,7 @@ + s->qdev.blocksize = s->qdev.conf.logical_block_size; + s->qdev.type = TYPE_DISK; + if (!s->product) { +- s->product = g_strdup("QEMU HARDDISK"); ++ s->product = g_strdup("ASUS HARDDISK"); + } + scsi_realize(&s->qdev, errp); + } +@@ -2579,7 +2579,7 @@ + s->qdev.type = TYPE_ROM; + s->features |= 1 << SCSI_DISK_F_REMOVABLE; + if (!s->product) { +- s->product = g_strdup("QEMU CD-ROM"); ++ s->product = g_strdup("ASUS CD-ROM"); + } + scsi_realize(&s->qdev, errp); + } +diff -Naur --no-dereference a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c +--- a/hw/scsi/spapr_vscsi.c ++++ b/hw/scsi/spapr_vscsi.c +@@ -713,8 +713,8 @@ + resp_data[3] = 0x02; /* Resp data format */ + resp_data[4] = 36 - 5; /* Additional length */ + resp_data[7] = 0x10; /* Sync transfers */ +- memcpy(&resp_data[16], "QEMU EMPTY ", 16); +- memcpy(&resp_data[8], "QEMU ", 8); ++ memcpy(&resp_data[16], "ASUS EMPTY ", 16); ++ memcpy(&resp_data[8], "ASUS ", 8); + + req->writing = 0; + vscsi_preprocess_desc(req); diff --git a/patches/9018-antidetect-hw-smbios.patch b/patches/9018-antidetect-hw-smbios.patch new file mode 100644 index 0000000..b4b2cc4 --- /dev/null +++ b/patches/9018-antidetect-hw-smbios.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/hw/smbios/smbios.c b/hw/smbios/smbios.c +--- a/hw/smbios/smbios.c ++++ b/hw/smbios/smbios.c +@@ -574,7 +574,7 @@ + + t->bios_characteristics = cpu_to_le64(0x08); /* Not supported */ + t->bios_characteristics_extension_bytes[0] = 0; +- t->bios_characteristics_extension_bytes[1] = 0x14; /* TCD/SVVP | VM */ ++ t->bios_characteristics_extension_bytes[1] = 0x08; /* TCD/SVVP */ + if (smbios_type0.uefi) { + t->bios_characteristics_extension_bytes[1] |= 0x08; /* |= UEFI */ + } diff --git a/patches/9019-antidetect-hw-usb.patch b/patches/9019-antidetect-hw-usb.patch new file mode 100644 index 0000000..4ca6ddc --- /dev/null +++ b/patches/9019-antidetect-hw-usb.patch @@ -0,0 +1,379 @@ +diff -Naur --no-dereference a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c +--- a/hw/usb/dev-audio.c ++++ b/hw/usb/dev-audio.c +@@ -73,8 +73,8 @@ + }; + + static const USBDescStrings usb_audio_stringtable = { +- [STRING_MANUFACTURER] = "QEMU", +- [STRING_PRODUCT] = "QEMU USB Audio", ++ [STRING_MANUFACTURER] = "ASUS", ++ [STRING_PRODUCT] = "ASUS USB Audio", + [STRING_SERIALNUMBER] = "1", + [STRING_CONFIG] = "Audio Configuration", + [STRING_USBAUDIO_CONTROL] = "Audio Device", +@@ -1006,7 +1006,7 @@ + dc->vmsd = &vmstate_usb_audio; + device_class_set_props(dc, usb_audio_properties); + set_bit(DEVICE_CATEGORY_SOUND, dc->categories); +- k->product_desc = "QEMU USB Audio Interface"; ++ k->product_desc = "ASUS USB Audio Interface"; + k->realize = usb_audio_realize; + k->handle_reset = usb_audio_handle_reset; + k->handle_control = usb_audio_handle_control; +diff -Naur --no-dereference a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c +--- a/hw/usb/dev-hid.c ++++ b/hw/usb/dev-hid.c +@@ -63,10 +63,10 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", +- [STR_PRODUCT_MOUSE] = "QEMU USB Mouse", +- [STR_PRODUCT_TABLET] = "QEMU USB Tablet", +- [STR_PRODUCT_KEYBOARD] = "QEMU USB Keyboard", ++ [STR_MANUFACTURER] = "ASUS", ++ [STR_PRODUCT_MOUSE] = "ASUS USB Mouse", ++ [STR_PRODUCT_TABLET] = "ASUS USB Tablet", ++ [STR_PRODUCT_KEYBOARD] = "ASUS USB Keyboard", + [STR_SERIAL_COMPAT] = "42", + [STR_CONFIG_MOUSE] = "HID Mouse", + [STR_CONFIG_TABLET] = "HID Tablet", +@@ -806,7 +806,7 @@ + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + + uc->realize = usb_tablet_realize; +- uc->product_desc = "QEMU USB Tablet"; ++ uc->product_desc = "ASUS USB Tablet"; + dc->vmsd = &vmstate_usb_ptr; + device_class_set_props(dc, usb_tablet_properties); + set_bit(DEVICE_CATEGORY_INPUT, dc->categories); +@@ -829,7 +829,7 @@ + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + + uc->realize = usb_mouse_realize; +- uc->product_desc = "QEMU USB Mouse"; ++ uc->product_desc = "ASUS USB Mouse"; + dc->vmsd = &vmstate_usb_ptr; + device_class_set_props(dc, usb_mouse_properties); + set_bit(DEVICE_CATEGORY_INPUT, dc->categories); +@@ -853,7 +853,7 @@ + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + + uc->realize = usb_keyboard_realize; +- uc->product_desc = "QEMU USB Keyboard"; ++ uc->product_desc = "ASUS USB Keyboard"; + dc->vmsd = &vmstate_usb_kbd; + device_class_set_props(dc, usb_keyboard_properties); + set_bit(DEVICE_CATEGORY_INPUT, dc->categories); +diff -Naur --no-dereference a/hw/usb/dev-hub.c b/hw/usb/dev-hub.c +--- a/hw/usb/dev-hub.c ++++ b/hw/usb/dev-hub.c +@@ -104,9 +104,9 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", +- [STR_PRODUCT] = "QEMU USB Hub", +- [STR_SERIALNUMBER] = "314159", ++ [STR_MANUFACTURER] = "ASUS", ++ [STR_PRODUCT] = "ASUS USB Hub", ++ [STR_SERIALNUMBER] = "114514", + }; + + static const USBDescIface desc_iface_hub = { +@@ -676,7 +676,7 @@ + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + + uc->realize = usb_hub_realize; +- uc->product_desc = "QEMU USB Hub"; ++ uc->product_desc = "ASUS USB Hub"; + uc->usb_desc = &desc_hub; + uc->find_device = usb_hub_find_device; + uc->handle_reset = usb_hub_handle_reset; +diff -Naur --no-dereference a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c +--- a/hw/usb/dev-mtp.c ++++ b/hw/usb/dev-mtp.c +@@ -247,8 +247,8 @@ + + /* ----------------------------------------------------------------------- */ + +-#define MTP_MANUFACTURER "QEMU" +-#define MTP_PRODUCT "QEMU filesharing" ++#define MTP_MANUFACTURER "ASUS" ++#define MTP_PRODUCT "ASUS filesharing" + #define MTP_WRITE_BUF_SZ (512 * KiB) + + enum { +@@ -2091,7 +2091,7 @@ + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + + uc->realize = usb_mtp_realize; +- uc->product_desc = "QEMU USB MTP"; ++ uc->product_desc = "ASUS USB MTP"; + uc->usb_desc = &desc; + uc->cancel_packet = usb_mtp_cancel_packet; + uc->handle_attach = usb_desc_attach; +diff -Naur --no-dereference a/hw/usb/dev-network.c b/hw/usb/dev-network.c +--- a/hw/usb/dev-network.c ++++ b/hw/usb/dev-network.c +@@ -99,15 +99,15 @@ + #define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */ + + static const USBDescStrings usb_net_stringtable = { +- [STRING_MANUFACTURER] = "QEMU", +- [STRING_PRODUCT] = "RNDIS/QEMU USB Network Device", +- [STRING_ETHADDR] = "400102030405", +- [STRING_DATA] = "QEMU USB Net Data Interface", +- [STRING_CONTROL] = "QEMU USB Net Control Interface", +- [STRING_RNDIS_CONTROL] = "QEMU USB Net RNDIS Control Interface", +- [STRING_CDC] = "QEMU USB Net CDC", +- [STRING_SUBSET] = "QEMU USB Net Subset", +- [STRING_RNDIS] = "QEMU USB Net RNDIS", ++ [STRING_MANUFACTURER] = "ASUS", ++ [STRING_PRODUCT] = "RNDIS/ASUS USB Network Device", ++ [STRING_ETHADDR] = "400114514405", ++ [STRING_DATA] = "ASUS USB Net Data Interface", ++ [STRING_CONTROL] = "ASUS USB Net Control Interface", ++ [STRING_RNDIS_CONTROL] = "ASUS USB Net RNDIS Control Interface", ++ [STRING_CDC] = "ASUS USB Net CDC", ++ [STRING_SUBSET] = "ASUS USB Net Subset", ++ [STRING_RNDIS] = "ASUS USB Net RNDIS", + [STRING_SERIALNUMBER] = "1", + }; + +@@ -725,7 +725,7 @@ + + /* mandatory */ + case OID_GEN_VENDOR_DESCRIPTION: +- pstrcpy((char *)outbuf, outlen, "QEMU USB RNDIS Net"); ++ pstrcpy((char *)outbuf, outlen, "ASUS USB RNDIS Net"); + return strlen((char *)outbuf) + 1; + + case OID_GEN_VENDOR_DRIVER_VERSION: +@@ -1379,7 +1379,7 @@ + s->speed = 1000000; /* 100MBps, in 100Bps units */ + s->media_state = 0; /* NDIS_MEDIA_STATE_CONNECTED */; + s->filter = 0; +- s->vendorid = 0x1234; ++ s->vendorid = 0x8086; + s->connection = 1; /* Connected */ + s->intr = usb_ep_get(dev, USB_TOKEN_IN, 1); + s->bulk_in = usb_ep_get(dev, USB_TOKEN_IN, 2); +@@ -1426,7 +1426,7 @@ + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + + uc->realize = usb_net_realize; +- uc->product_desc = "QEMU USB Network Interface"; ++ uc->product_desc = "ASUS USB Network Interface"; + uc->usb_desc = &desc_net; + uc->handle_reset = usb_net_handle_reset; + uc->handle_control = usb_net_handle_control; +diff -Naur --no-dereference a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c +--- a/hw/usb/dev-serial.c ++++ b/hw/usb/dev-serial.c +@@ -119,9 +119,9 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", +- [STR_PRODUCT_SERIAL] = "QEMU USB SERIAL", +- [STR_PRODUCT_BRAILLE] = "QEMU USB BAUM BRAILLE", ++ [STR_MANUFACTURER] = "ASUS", ++ [STR_PRODUCT_SERIAL] = "ASUS USB SERIAL", ++ [STR_PRODUCT_BRAILLE] = "ASUS USB BAUM BRAILLE", + [STR_SERIALNUMBER] = "1", + }; + +@@ -666,7 +666,7 @@ + DeviceClass *dc = DEVICE_CLASS(klass); + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + +- uc->product_desc = "QEMU USB Serial"; ++ uc->product_desc = "ASUS USB Serial"; + uc->usb_desc = &desc_serial; + device_class_set_props(dc, serial_properties); + } +@@ -687,7 +687,7 @@ + DeviceClass *dc = DEVICE_CLASS(klass); + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + +- uc->product_desc = "QEMU USB Braille"; ++ uc->product_desc = "ASUS USB Braille"; + uc->usb_desc = &desc_braille; + device_class_set_props(dc, braille_properties); + } +diff -Naur --no-dereference a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c +--- a/hw/usb/dev-smartcard-reader.c ++++ b/hw/usb/dev-smartcard-reader.c +@@ -80,8 +80,8 @@ + #define CCID_CONTROL_GET_CLOCK_FREQUENCIES 0x2 + #define CCID_CONTROL_GET_DATA_RATES 0x3 + +-#define CCID_PRODUCT_DESCRIPTION "QEMU USB CCID" +-#define CCID_VENDOR_DESCRIPTION "QEMU" ++#define CCID_PRODUCT_DESCRIPTION "ASUS USB CCID" ++#define CCID_VENDOR_DESCRIPTION "ASUS" + #define CCID_INTERFACE_NAME "CCID Interface" + #define CCID_SERIAL_NUMBER_STRING "1" + /* +@@ -419,8 +419,8 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", +- [STR_PRODUCT] = "QEMU USB CCID", ++ [STR_MANUFACTURER] = "ASUS", ++ [STR_PRODUCT] = "ASUS USB CCID", + [STR_SERIALNUMBER] = "1", + [STR_INTERFACE] = "CCID Interface", + }; +@@ -1443,7 +1443,7 @@ + HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(klass); + + uc->realize = ccid_realize; +- uc->product_desc = "QEMU USB CCID"; ++ uc->product_desc = "ASUS USB CCID"; + uc->usb_desc = &desc_ccid; + uc->handle_reset = ccid_handle_reset; + uc->handle_control = ccid_handle_control; +diff -Naur --no-dereference a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c +--- a/hw/usb/dev-storage.c ++++ b/hw/usb/dev-storage.c +@@ -47,8 +47,8 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", +- [STR_PRODUCT] = "QEMU USB HARDDRIVE", ++ [STR_MANUFACTURER] = "ASUS", ++ [STR_PRODUCT] = "ASUS USB HARDDRIVE", + [STR_SERIALNUMBER] = "1", + [STR_CONFIG_FULL] = "Full speed config (usb 1.1)", + [STR_CONFIG_HIGH] = "High speed config (usb 2.0)", +@@ -591,7 +591,7 @@ + DeviceClass *dc = DEVICE_CLASS(klass); + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + +- uc->product_desc = "QEMU USB MSD"; ++ uc->product_desc = "ASUS USB MSD"; + uc->usb_desc = &desc; + uc->cancel_packet = usb_msd_cancel_io; + uc->handle_attach = usb_desc_attach; +diff -Naur --no-dereference a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c +--- a/hw/usb/dev-uas.c ++++ b/hw/usb/dev-uas.c +@@ -171,9 +171,9 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", ++ [STR_MANUFACTURER] = "ASUS", + [STR_PRODUCT] = "USB Attached SCSI HBA", +- [STR_SERIALNUMBER] = "27842", ++ [STR_SERIALNUMBER] = "33121", + [STR_CONFIG_HIGH] = "High speed config (usb 2.0)", + [STR_CONFIG_SUPER] = "Super speed config (usb 3.0)", + }; +diff -Naur --no-dereference a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c +--- a/hw/usb/dev-wacom.c ++++ b/hw/usb/dev-wacom.c +@@ -64,7 +64,7 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", ++ [STR_MANUFACTURER] = "ASUS", + [STR_PRODUCT] = "Wacom PenPartner", + [STR_SERIALNUMBER] = "1", + }; +@@ -231,7 +231,7 @@ + + if (!s->mouse_grabbed) { + s->eh_entry = qemu_add_mouse_event_handler(usb_mouse_event, s, 0, +- "QEMU PenPartner tablet"); ++ "ASUS PenPartner tablet"); + qemu_activate_mouse_event_handler(s->eh_entry); + s->mouse_grabbed = 1; + } +@@ -269,7 +269,7 @@ + + if (!s->mouse_grabbed) { + s->eh_entry = qemu_add_mouse_event_handler(usb_wacom_event, s, 1, +- "QEMU PenPartner tablet"); ++ "ASUS PenPartner tablet"); + qemu_activate_mouse_event_handler(s->eh_entry); + s->mouse_grabbed = 1; + } +@@ -425,7 +425,7 @@ + DeviceClass *dc = DEVICE_CLASS(klass); + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + +- uc->product_desc = "QEMU PenPartner Tablet"; ++ uc->product_desc = "ASUS PenPartner Tablet"; + uc->usb_desc = &desc_wacom; + uc->realize = usb_wacom_realize; + uc->handle_reset = usb_wacom_handle_reset; +@@ -433,7 +433,7 @@ + uc->handle_data = usb_wacom_handle_data; + uc->unrealize = usb_wacom_unrealize; + set_bit(DEVICE_CATEGORY_INPUT, dc->categories); +- dc->desc = "QEMU PenPartner Tablet"; ++ dc->desc = "ASUS PenPartner Tablet"; + dc->vmsd = &vmstate_usb_wacom; + } + +diff -Naur --no-dereference a/hw/usb/u2f-emulated.c b/hw/usb/u2f-emulated.c +--- a/hw/usb/u2f-emulated.c ++++ b/hw/usb/u2f-emulated.c +@@ -386,7 +386,7 @@ + kc->realize = u2f_emulated_realize; + kc->unrealize = u2f_emulated_unrealize; + kc->recv_from_guest = u2f_emulated_recv_from_guest; +- dc->desc = "QEMU U2F emulated key"; ++ dc->desc = "ASUS U2F emulated key"; + device_class_set_props(dc, u2f_emulated_properties); + } + +diff -Naur --no-dereference a/hw/usb/u2f-passthru.c b/hw/usb/u2f-passthru.c +--- a/hw/usb/u2f-passthru.c ++++ b/hw/usb/u2f-passthru.c +@@ -531,7 +531,7 @@ + kc->realize = u2f_passthru_realize; + kc->unrealize = u2f_passthru_unrealize; + kc->recv_from_guest = u2f_passthru_recv_from_guest; +- dc->desc = "QEMU U2F passthrough key"; ++ dc->desc = "ASUS U2F passthrough key"; + dc->vmsd = &u2f_passthru_vmstate; + device_class_set_props(dc, u2f_passthru_properties); + set_bit(DEVICE_CATEGORY_MISC, dc->categories); +diff -Naur --no-dereference a/hw/usb/u2f.c b/hw/usb/u2f.c +--- a/hw/usb/u2f.c ++++ b/hw/usb/u2f.c +@@ -46,7 +46,7 @@ + }; + + static const USBDescStrings desc_strings = { +- [STR_MANUFACTURER] = "QEMU", ++ [STR_MANUFACTURER] = "ASUS", + [STR_PRODUCT] = "U2F USB key", + [STR_SERIALNUMBER] = "0", + [STR_CONFIG] = "U2F key config", +@@ -322,7 +322,7 @@ + DeviceClass *dc = DEVICE_CLASS(klass); + USBDeviceClass *uc = USB_DEVICE_CLASS(klass); + +- uc->product_desc = "QEMU U2F USB key"; ++ uc->product_desc = "ASUS U2F USB key"; + uc->usb_desc = &desc_u2f_key; + uc->handle_reset = u2f_key_handle_reset; + uc->handle_control = u2f_key_handle_control; +@@ -330,7 +330,7 @@ + uc->handle_attach = usb_desc_attach; + uc->realize = u2f_key_realize; + uc->unrealize = u2f_key_unrealize; +- dc->desc = "QEMU U2F key"; ++ dc->desc = "ASUS U2F key"; + dc->vmsd = &vmstate_u2f_key; + } + diff --git a/patches/9020-antidetect-include.patch b/patches/9020-antidetect-include.patch new file mode 100644 index 0000000..cbccc3a --- /dev/null +++ b/patches/9020-antidetect-include.patch @@ -0,0 +1,78 @@ +diff -Naur --no-dereference a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h +--- a/include/hw/acpi/aml-build.h ++++ b/include/hw/acpi/aml-build.h +@@ -4,8 +4,8 @@ + #include "hw/acpi/acpi-defs.h" + #include "hw/acpi/bios-linker-loader.h" + +-#define ACPI_BUILD_APPNAME6 "BOCHS " +-#define ACPI_BUILD_APPNAME8 "BXPC " ++#define ACPI_BUILD_APPNAME6 "INTEL " ++#define ACPI_BUILD_APPNAME8 "PC8086 " + + #define ACPI_BUILD_TABLE_FILE "etc/acpi/tables" + #define ACPI_BUILD_RSDP_FILE "etc/acpi/rsdp" + diff -Naur --no-dereference a/include/hw/pci/pci.h b/include/hw/pci/pci.h +--- a/include/hw/pci/pci.h ++++ b/include/hw/pci/pci.h +@@ -72,19 +72,19 @@ + #define PCI_DEVICE_ID_INTEL_82801IR 0x2922 + + /* Red Hat / Qumranet (for QEMU) -- see pci-ids.txt */ +-#define PCI_VENDOR_ID_REDHAT_QUMRANET 0x1af4 +-#define PCI_SUBVENDOR_ID_REDHAT_QUMRANET 0x1af4 +-#define PCI_SUBDEVICE_ID_QEMU 0x1100 ++#define PCI_VENDOR_ID_REDHAT_QUMRANET 0x8086 ++#define PCI_SUBVENDOR_ID_REDHAT_QUMRANET 0x8086 ++#define PCI_SUBDEVICE_ID_QEMU 0x8086 + + /* legacy virtio-pci devices */ +-#define PCI_DEVICE_ID_VIRTIO_NET 0x1000 +-#define PCI_DEVICE_ID_VIRTIO_BLOCK 0x1001 +-#define PCI_DEVICE_ID_VIRTIO_BALLOON 0x1002 +-#define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x1003 +-#define PCI_DEVICE_ID_VIRTIO_SCSI 0x1004 +-#define PCI_DEVICE_ID_VIRTIO_RNG 0x1005 +-#define PCI_DEVICE_ID_VIRTIO_9P 0x1009 +-#define PCI_DEVICE_ID_VIRTIO_VSOCK 0x1012 ++#define PCI_DEVICE_ID_VIRTIO_NET 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_BLOCK 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_BALLOON 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_SCSI 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_RNG 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_9P 0x8086 ++#define PCI_DEVICE_ID_VIRTIO_VSOCK 0x8086 + + /* + * modern virtio-pci devices get their id assigned automatically, +@@ -95,7 +95,7 @@ + */ + #define PCI_DEVICE_ID_VIRTIO_10_BASE 0x1040 + +-#define PCI_VENDOR_ID_REDHAT 0x1b36 ++#define PCI_VENDOR_ID_REDHAT 0x8086 + #define PCI_DEVICE_ID_REDHAT_BRIDGE 0x0001 + #define PCI_DEVICE_ID_REDHAT_SERIAL 0x0002 + #define PCI_DEVICE_ID_REDHAT_SERIAL2 0x0003 +diff -Naur --no-dereference a/include/standard-headers/linux/qemu_fw_cfg.h b/include/standard-headers/linux/qemu_fw_cfg.h +--- a/include/standard-headers/linux/qemu_fw_cfg.h ++++ b/include/standard-headers/linux/qemu_fw_cfg.h +@@ -4,7 +4,7 @@ + + #include "standard-headers/linux/types.h" + +-#define FW_CFG_ACPI_DEVICE_ID "QEMU0002" ++#define FW_CFG_ACPI_DEVICE_ID "ASUS0002" + + /* selector key values for "well-known" fw_cfg entries */ + #define FW_CFG_SIGNATURE 0x00 +@@ -71,7 +71,7 @@ + #define FW_CFG_DMA_CTL_SELECT 0x08 + #define FW_CFG_DMA_CTL_WRITE 0x10 + +-#define FW_CFG_DMA_SIGNATURE 0x51454d5520434647ULL /* "QEMU CFG" */ ++#define FW_CFG_DMA_SIGNATURE 0x4155535520434647ULL /* "QEMU CFG" */ + + /* Control as first field allows for different structures selected by this + * field, which might be useful in the future diff --git a/patches/9021-antidetect-migration.patch b/patches/9021-antidetect-migration.patch new file mode 100644 index 0000000..3589646 --- /dev/null +++ b/patches/9021-antidetect-migration.patch @@ -0,0 +1,12 @@ +diff -Naur --no-dereference a/migration/rdma.c b/migration/rdma.c +--- a/migration/rdma.c ++++ b/migration/rdma.c +@@ -220,7 +220,7 @@ + [RDMA_CONTROL_NONE] = "NONE", + [RDMA_CONTROL_ERROR] = "ERROR", + [RDMA_CONTROL_READY] = "READY", +- [RDMA_CONTROL_QEMU_FILE] = "QEMU FILE", ++ [RDMA_CONTROL_QEMU_FILE] = "ASUS FILE", + [RDMA_CONTROL_RAM_BLOCKS_REQUEST] = "RAM BLOCKS REQUEST", + [RDMA_CONTROL_RAM_BLOCKS_RESULT] = "RAM BLOCKS RESULT", + [RDMA_CONTROL_COMPRESS] = "COMPRESS", diff --git a/patches/9022-antidetect-pc-bios.patch b/patches/9022-antidetect-pc-bios.patch new file mode 100644 index 0000000..048b35e --- /dev/null +++ b/patches/9022-antidetect-pc-bios.patch @@ -0,0 +1,24 @@ +diff -Naur --no-dereference a/pc-bios/optionrom/optionrom.h b/pc-bios/optionrom/optionrom.h +--- a/pc-bios/optionrom/optionrom.h ++++ b/pc-bios/optionrom/optionrom.h +@@ -43,7 +43,7 @@ + #define FW_CFG_DMA_CTL_SELECT 0x08 + #define FW_CFG_DMA_CTL_WRITE 0x10 + +-#define FW_CFG_DMA_SIGNATURE 0x51454d5520434647ULL /* "QEMU CFG" */ ++#define FW_CFG_DMA_SIGNATURE 0x4155535520434647ULL /* "ASUS CFG" */ + + #define BIOS_CFG_DMA_ADDR_HIGH 0x514 + #define BIOS_CFG_DMA_ADDR_LOW 0x518 +diff -Naur --no-dereference a/pc-bios/s390-ccw/virtio-scsi.h b/pc-bios/s390-ccw/virtio-scsi.h +--- a/pc-bios/s390-ccw/virtio-scsi.h ++++ b/pc-bios/s390-ccw/virtio-scsi.h +@@ -25,7 +25,7 @@ + #define VIRTIO_SCSI_S_OK 0x00 + #define VIRTIO_SCSI_S_BAD_TARGET 0x03 + +-#define QEMU_CDROM_SIGNATURE "QEMU CD-ROM " ++#define QEMU_CDROM_SIGNATURE "ASUS CD-ROM " + + enum virtio_scsi_vq_id { + VR_CONTROL = 0, diff --git a/patches/9023-antidetect-roms.patch b/patches/9023-antidetect-roms.patch new file mode 100644 index 0000000..1e194c8 --- /dev/null +++ b/patches/9023-antidetect-roms.patch @@ -0,0 +1,24 @@ +diff -Naur --no-dereference a/roms/seabios/src/fw/ssdt-misc.dsl b/roms/seabios/src/fw/ssdt-misc.dsl +--- a/roms/seabios/src/fw/ssdt-misc.dsl ++++ b/roms/seabios/src/fw/ssdt-misc.dsl +@@ -61,7 +61,7 @@ + + Scope(\_SB.PCI0.ISA) { + Device(PEVT) { +- Name(_HID, "QEMU0001") ++ Name(_HID, "ASUS0001") + /* PEST will be patched to be Zero if no such device */ + ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest + Name(PEST, 0xFFFF) +diff -Naur --no-dereference a/roms/seabios-hppa/src/fw/ssdt-misc.dsl b/roms/seabios-hppa/src/fw/ssdt-misc.dsl +--- a/roms/seabios-hppa/src/fw/ssdt-misc.dsl ++++ b/roms/seabios-hppa/src/fw/ssdt-misc.dsl +@@ -61,7 +61,7 @@ + + Scope(\_SB.PCI0.ISA) { + Device(PEVT) { +- Name(_HID, "QEMU0001") ++ Name(_HID, "ASUS0001") + /* PEST will be patched to be Zero if no such device */ + ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest + Name(PEST, 0xFFFF) diff --git a/patches/9024-antidetect-target.patch b/patches/9024-antidetect-target.patch new file mode 100644 index 0000000..6d6f95a --- /dev/null +++ b/patches/9024-antidetect-target.patch @@ -0,0 +1,63 @@ +diff -Naur --no-dereference a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c +--- a/target/i386/kvm/kvm.c ++++ b/target/i386/kvm/kvm.c +@@ -1862,7 +1862,7 @@ + abort(); + #endif + } else if (cpu->expose_kvm) { +- memcpy(signature, "KVMKVMKVM\0\0\0", 12); ++ memcpy(signature, "GenuineIntel", 12); + c = &cpuid_data.entries[cpuid_i++]; + c->function = KVM_CPUID_SIGNATURE | kvm_base; + c->eax = KVM_CPUID_FEATURES | kvm_base; +diff -Naur --no-dereference a/target/s390x/tcg/misc_helper.c b/target/s390x/tcg/misc_helper.c +--- a/target/s390x/tcg/misc_helper.c ++++ b/target/s390x/tcg/misc_helper.c +@@ -330,13 +330,13 @@ + snprintf(type, ARRAY_SIZE(type), "%X", cpu->model->def->type); + ebcdic_put(sysib.sysib_111.type, type, 4); + /* model number (not stored in STORE CPU ID for z/Architecture) */ +- ebcdic_put(sysib.sysib_111.model, "QEMU ", 16); +- ebcdic_put(sysib.sysib_111.sequence, "QEMU ", 16); +- ebcdic_put(sysib.sysib_111.plant, "QEMU", 4); ++ ebcdic_put(sysib.sysib_111.model, "ASUS ", 16); ++ ebcdic_put(sysib.sysib_111.sequence, "ASUS ", 16); ++ ebcdic_put(sysib.sysib_111.plant, "ASUS", 4); + } else if ((sel1 == 2) && (sel2 == 1)) { + /* Basic Machine CPU */ +- ebcdic_put(sysib.sysib_121.sequence, "QEMUQEMUQEMUQEMU", 16); +- ebcdic_put(sysib.sysib_121.plant, "QEMU", 4); ++ ebcdic_put(sysib.sysib_121.sequence, "ASUSASUSASUSASUS", 16); ++ ebcdic_put(sysib.sysib_121.plant, "ASUS", 4); + sysib.sysib_121.cpu_addr = cpu_to_be16(env->core_id); + } else if ((sel1 == 2) && (sel2 == 2)) { + /* Basic Machine CPUs */ +@@ -351,8 +351,8 @@ + case STSI_R0_FC_LEVEL_2: + if ((sel1 == 2) && (sel2 == 1)) { + /* LPAR CPU */ +- ebcdic_put(sysib.sysib_221.sequence, "QEMUQEMUQEMUQEMU", 16); +- ebcdic_put(sysib.sysib_221.plant, "QEMU", 4); ++ ebcdic_put(sysib.sysib_221.sequence, "ASUSASUSASUSASUS", 16); ++ ebcdic_put(sysib.sysib_221.plant, "ASUS", 4); + sysib.sysib_221.cpu_addr = cpu_to_be16(env->core_id); + } else if ((sel1 == 2) && (sel2 == 2)) { + /* LPAR CPUs */ +@@ -360,7 +360,7 @@ + sysib.sysib_222.total_cpus = cpu_to_be16(total_cpus); + sysib.sysib_222.conf_cpus = cpu_to_be16(conf_cpus); + sysib.sysib_222.reserved_cpus = cpu_to_be16(reserved_cpus); +- ebcdic_put(sysib.sysib_222.name, "QEMU ", 8); ++ ebcdic_put(sysib.sysib_222.name, "ASUS ", 8); + sysib.sysib_222.caf = cpu_to_be32(1000); + sysib.sysib_222.dedicated_cpus = cpu_to_be16(conf_cpus); + } else { +@@ -376,7 +376,7 @@ + sysib.sysib_322.vm[0].reserved_cpus = cpu_to_be16(reserved_cpus); + sysib.sysib_322.vm[0].caf = cpu_to_be32(1000); + /* Linux kernel uses this to distinguish us from z/VM */ +- ebcdic_put(sysib.sysib_322.vm[0].cpi, "KVM/Linux ", 16); ++ ebcdic_put(sysib.sysib_322.vm[0].cpi, "ATX/Linux ", 16); + sysib.sysib_322.vm[0].ext_name_encoding = 2; /* UTF-8 */ + + /* If our VM has a name, use the real name */ diff --git a/pve-qemu b/pve-qemu new file mode 160000 index 0000000..9efd9ce --- /dev/null +++ b/pve-qemu @@ -0,0 +1 @@ +Subproject commit 9efd9cea969ea5431584a48bc7085b2be8ef4a0e