Skip to content

Commit

Permalink
Fix dynlib_dlsym patch for 6.72
Browse files Browse the repository at this point in the history
  • Loading branch information
Al-Azif committed Aug 9, 2020
1 parent 61dfbfd commit 091f7ad
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 24 deletions.
31 changes: 15 additions & 16 deletions kernel/src/Boot/Patches/Patches672.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,16 @@ void Mira::Boot::Patches::install_prerunPatches_672()

// Patch dynlib_dlsym
kmem = (uint8_t*)&gKernelBase[0x1D895A];
kmem[0] = 0x90;
kmem[1] = 0x90;
kmem[2] = 0x90;
kmem[3] = 0x90;
kmem[4] = 0x90;
kmem[5] = 0x90;
kmem[0] = 0xE9;
kmem[1] = 0xC7;
kmem[2] = 0x01;
kmem[3] = 0x00;
kmem[4] = 0x00;

// Patch a function called by dynlib_dlsym
kmem = (uint8_t*)&gKernelBase[0x0041A2D0];
kmem[0] = 0x31; // xor eax, eax
kmem[1] = 0xC0;
kmem[1] = 0xC0;
kmem[2] = 0xC3; // ret

// Patch sys_mmap
Expand Down Expand Up @@ -126,23 +125,23 @@ void Mira::Boot::Patches::install_prerunPatches_672()

// Enable debug rif's
kmem = (uint8_t*)&gKernelBase[0x66AEB0];
kmem[0] = 0xB0;
kmem[1] = 0x01;
kmem[2] = 0xC3;
kmem[0] = 0xB0;
kmem[1] = 0x01;
kmem[2] = 0xC3;
kmem[3] = 0x90;

// Enable debug rifs 2
kmem = (uint8_t*)&gKernelBase[0x66AEE0];
kmem[0] = 0xB0;
kmem[1] = 0x01;
kmem[0] = 0xB0;
kmem[1] = 0x01;
kmem[2] = 0xC3;
kmem[3] = 0x90;

// Disable pfs checks
kmem = (uint8_t*)&gKernelBase[0x6A8EB0];
kmem[0] = 0x31;
kmem[1] = 0xC0;
kmem[2] = 0xC3;
kmem[0] = 0x31;
kmem[1] = 0xC0;
kmem[2] = 0xC3;
kmem[3] = 0x90;

kmem = (uint8_t*)kdlsym(global_settings_base);
Expand All @@ -159,4 +158,4 @@ void Mira::Boot::Patches::install_prerunPatches_672()
kmem[1] = 0x3B;

#endif
}
}
15 changes: 7 additions & 8 deletions loader/src/Boot/Patches/Patches672.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,16 @@ void Mira::Boot::Patches::install_prerunPatches_672()

// Patch dynlib_dlsym
kmem = (uint8_t*)&gKernelBase[0x1D895A];
kmem[0] = 0x90;
kmem[1] = 0x90;
kmem[2] = 0x90;
kmem[3] = 0x90;
kmem[4] = 0x90;
kmem[5] = 0x90;
kmem[0] = 0xE9;
kmem[1] = 0xC7;
kmem[2] = 0x01;
kmem[3] = 0x00;
kmem[4] = 0x00;

// Patch a function called by dynlib_dlsym
kmem = (uint8_t*)&gKernelBase[0x0041A2D0];
kmem[0] = 0x31; // xor eax, eax
kmem[1] = 0xC0;
kmem[1] = 0xC0;
kmem[2] = 0xC3; // ret

// Patch sys_mmap
Expand Down Expand Up @@ -93,4 +92,4 @@ void Mira::Boot::Patches::install_prerunPatches_672()
kmem = (uint8_t *)&gKernelBase[0x003C15BD];
kmem[0] = 0xEB;
#endif
}
}

0 comments on commit 091f7ad

Please sign in to comment.