Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mach_override.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-12Merge pull request #16 from mark-chromium/patch-1HEADsemver-1.xJonathan 'Wolf' Rentzsch
[FIX] Stop using mach_host_self and host_page_size, fixing a port right leak. (Mark Mentovai)
2014-05-10Stop using mach_host_self and host_page_size, fixing a port right leakMark Mentovai
It is incorrect to use mach_host_self without disposing of the send right to the host port with mach_port_deallocate when done with it. http://crbug.com/105513 shows the sorts of problems that can arise when send rights aren’t properly deallocated. mach_host_self was only used by mach_override to be able to call host_page_size. host_page_size is unnecessary, because it always returns a constant value, PAGE_SIZE, which is also known at user-land compile time. See libsyscall/mach/mach_init.c. User code is better off just using this macro directly, and not fumbling with the system calls to obtain and properly dispose of a send right to the host port. (You need to mach_port_deallocate the ports you get from mach_host_self and mach_thread_self, but you must not normally deallocate the one from mach_task_self, because mach_task_self is actually just a macro that references a global variable. It doesn’t add any port rights at all. See <mach/mach_init.h>. If you bypass the macro and call the real mach_task_self system call, you do need to call mach_port_deallocate, but this situation is incredibly rare.)
2014-01-06Merge pull request #14 from ianbeer/semver-1.xJonathan 'Wolf' Rentzsch
[FEATURE] Remove PROT_WRITE from islands and randomize allocations. (Ian Beer)
2013-11-25whitespaceIan Beer
2013-11-25whitespaceIan Beer
2013-11-25whitespaceIan Beer
2013-11-25add 64-bit randomizationIan Beer
2013-11-25clean up whitespaceIan Beer
2013-11-25randomize branch island location on i386Ian Beer
2013-11-25remove PROT_WRITE from islands and hooked functionsIan Beer
2013-08-21Merge pull request #12 from frerich/dedicated_disasmJonathan 'Wolf' Rentzsch
[NEW] Switch from homegrown lame custom x86 instruction parser to libudis86 disassembler to fix "some instructions unknown" errors. (Frerich Raabe)
2013-08-21Use libudis86 for disassembling instructions for x86 and x64Frerich Raabe
This makes hooking the 'Tcl_EvalObjEx' function in the Tcl library on OS X work. It probably fixes quite a few other cases in which a "some instructions unknown!" messages was printed as well. As a nice side effect, it allows throwing away the custom code for recognizing and skipping instructions. All tests still pass.
2013-08-21Imported a copy of libudis86 1.7.1Frerich Raabe
A robust disassembler capable of disassembling most (all?) of the 32bit & 64bit Intel assembler instructions. The plan is to use this instead of our home-grown (and incomplete) disassembler.
2012-08-10add must be this tall to ride to READMErentzsch
2012-08-10edit down .gitignorerentzsch
2012-08-10add TODO to READMErentzsch
2012-08-10delete debuging pwd callrentzsch
2012-08-10* Update copyright and project info.rentzsch
* Add comment on MACH_OVERRIDE macro. * Delete Doxygen.
2012-08-10better readmerentzsch
2012-08-10clarify readmerentzsch
2012-08-10Reboot README.rentzsch
2012-08-10Re-apply https://github.com/rentzsch/mach_star/pull/39rentzsch
Test passed.
2012-08-10Back out https://github.com/rentzsch/mach_star/pull/38rentzsch
and https://github.com/rentzsch/mach_star/pull/39. They were causing basic tests to fail (10.8 x86_64).
2012-08-10Add basic (failing) Rake file for testing.rentzsch
2012-08-10mach_star => mach_overriderentzsch
2012-08-02Merge pull request #39 from espindola/masterJonathan 'Wolf' Rentzsch
Add "movsbl %sil, %ecx" to the list of known instructions.
2012-08-01Add "movsbl %sil, %ecx" to the list of known instructions. Shows up on OS X ↵Rafael Ávila de Espíndola
10.8.
2012-07-21Merge pull request #38 from espindola/masterJonathan 'Wolf' Rentzsch
Speed up allocateBranchIsland
2012-07-20Use vm_region_64 to skip an entire region at a time instead of one page at a ↵Rafael Ávila de Espíndola
time.
2012-07-20Use early returns.Rafael Ávila de Espíndola
2012-07-20Simplify allocateBranchIsland.Rafael Ávila de Espíndola
2012-07-20Simplify freeBranchIsland.Rafael Ávila de Espíndola
2012-07-20Constant propagate kAllocateHigh.Rafael Ávila de Espíndola
2012-07-20Use a constant for the page size.Rafael Ávila de Espíndola
2012-07-19Merge pull request #37 from maerean/patch-1Jonathan 'Wolf' Rentzsch
Fix the compile time warning when building Chromium for 64 bits:
2012-07-19Fix the compile time warning when building Chromium for 64 bits: maerean
chromium/trunk/src/third_party/mach_override/mach_override.c:374:59:{374:25-374:97}{374:98-374:99}: error: '&' within '|' [-Werror,-Wbitwise-op-parentheses] vm_address_t first = (uint64_t)originalFunctionAddress & ~(uint64_t)(((uint64_t)1 << 31) - 1) | ((uint64_t)1 << 31); // start in the middle of the page? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ chromium/trunk/src/third_party/mach_override/mach_override.c:374:59: note: place parentheses around the '&' expression to silence this warning
2012-05-10Merge pull request #35 from dgivone/masterJonathan 'Wolf' Rentzsch
fix to override CGErrorBreakpoint
2012-05-10add mov %edi, %eax instruction for x86_64 architectures which is needed to ↵David Givone
override CGErrorBreakpoint in CoreGraphics framework
2012-05-04Merge pull request #34 from espindola/masterJonathan 'Wolf' Rentzsch
Add "mov $imm, %eax"
2012-05-03Add "mov $imm, %eax" to the known instructions. This is needed toRafael Ávila de Espíndola
work on 'write' on 32 OS X 10.7.
2012-04-10Update README.markdownJonathan 'Wolf' Rentzsch
2011-11-09Merge pull request #26 from ashcatch/pending_pull_requestsJonathan 'Wolf' Rentzsch
add another 64bit instruction
2011-11-02add another 64bit instructionRainer Schmid
I got this when trying to overwrite a symbol in a 64bit Qt 4.6.1 build.
2011-10-12Merge pull request #22 from lapcat/masterJonathan 'Wolf' Rentzsch
A few fixes, including compatibility with Rogue Amoeba's Instant On.
2011-10-10Allow mach_override to patch and relocate code that has already been patched ↵Jeff Johnson
or might otherwise contain relative jmp instructions. This fixes incompatibility with Rogue Amoeba's Instant On component.
2011-10-10Fix test so that it works on Mac OS X 10.7 Lion.Jeff Johnson
2011-10-10Comment out testSystemFunctionOverrideByName, because it doesn't compile. It ↵Jeff Johnson
looks like it's based on obsolete code.
2011-09-22Merge pull request #19 from mark-chromium/mach_starrentzsch
--- Go back to pre-51ae3d199463fa84548f466d649f0821d579fdaf branch islands for PowerPC. Because PowerPC uses ba (branch absolute) to jump to branch islands, the islands must be somewhere in the lowest or highest 32MB of address space.
2011-09-22Merge pull request #18 from albertz/mach_starrentzsch
--- Some cleanup (better suited for production use). Some additions. Also to stderr instead of stdout. Not sure if you want to merge this (or how you think about such changes). Those are just my changes I have laying around here. I think I also will comment out my additions later on (because it works good now for me) and maybe you want to wait for that before merging.
2011-09-22Merge pull request #17 from albertz/mach_starrentzsch
--- mostly Xcode4 related