PLTrampoline
  1. PLTrampoline

PLPatchMaster

Public

Commits

AuthorCommitMessageCommit DateIssues
Landon FullerLandon Fuller
96a856733f6Require specification of the full install name. The use of leaf image names was somewhat convenient, but inescapably inexact and introduced the risk of false positives.
Landon FullerLandon Fuller
713e21bc364Fix typo; PLPatchIMP, not PLBlockIMP.
Landon FullerLandon Fuller
f1d85eaf4e2Fix symbol rebind test execution with the 1.0 ObjC runtime. The previous tests assumed dyld-bound class references, but ObjC 1.0 performs binding as part of the ObjC runtime itself.
Landon FullerLandon Fuller
00687b6d4f6Implement i386 block trampolines.
Landon FullerLandon Fuller
071e405b8baAdd support for building against Mac/i386's legacy ObjC runtime. The i386 trampolines are not yet implemented.
Landon FullerLandon Fuller
d60a3367711Fix index-based access to the image list on on hosts where sizeof(size_t) < sizeof(uint64_t)
Landon FullerLandon Fuller
e219d34b7f2Decrease runtime overhead of SymbolName instances. It's way too expensive to construct std::strings for all symbols; instead, we can use borrowed references to the existing mapped C strings.
Landon FullerLandon Fuller
32f7f922db2Revert "Fix a off-by-one bug in BIND_OPCODE_DONE handling." This reverts commit 8b36166e44f3e3de7a5034885c41179d7535e94e.
Landon FullerLandon Fuller
72e0fbf1c38When applying BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB, the offset must also include the pointer size.
Landon FullerLandon Fuller
b01d90dfb93Copy eval state when copying bind_opstream
Landon FullerLandon Fuller
8781cf31123Make evaluation_state responsible for generating symbol_proc instances.
Landon FullerLandon Fuller
8b36166e44fFix a stupid off-by-one bug in BIND_OPCODE_DONE handling.
Landon FullerLandon Fuller
0ec7b9a382dSwitch LocalImage's binding API to the new symbol_proc type.
Landon FullerLandon Fuller
8090849eed0Provide access to additional image info (path, segments, etc).
Landon FullerLandon Fuller
898af245a30Provide a getter for LocalImage's bind opcode streams.
Landon FullerLandon Fuller
5290681a32aLift bind opcode evaluation out into bind_opstream to allow external callers to perform single-stepping over the stream.
Landon FullerLandon Fuller
05e966375e7Fetch the main executable path once, and then cache it.
Landon FullerLandon Fuller
adc6a81486cInclude PMLog in the private headers
Landon FullerLandon Fuller
affe66c8df5Expose the Mach-O binding implementation as framework-private API.
Landon FullerLandon Fuller
577cf50c60aFix handling of missing bind sections. The previous implementation would exclude a set of bind opcodes if they happened to sit at a 0 offset.
Landon FullerLandon Fuller
81b3bcd8649Add PLPatchMaster API for dyld symbol rebinding.
Landon FullerLandon Fuller
01c9c8cd795Lift out the log macros for general use.
Landon FullerLandon Fuller
e565e298015Implement basic working dyld_info symbol rebinding.
Landon FullerLandon Fuller
d8e2c6eb676Implement a basic dyld symbol binding opcode interpreter.
Landon FullerLandon Fuller
d97f94582a1Checkpoint partial implementation of indirect symbol section iteration.
Landon FullerLandon Fuller
5ebce86ddb9Implement walking of indirect symbol table entries.
Landon FullerLandon Fuller
5acd0f27b39Save the indirect symbol table offset.
Landon FullerLandon Fuller
3e3308a07baIntegrate Mach-O parsing code from PLCrashReporter.
Landon FullerLandon Fuller
0aa138473edMigrate iOS test target to XCTest.
Landon FullerLandon Fuller
2c5f6049ef0Migrate the OS X tests to XCTest.
Landon FullerLandon Fuller
60eb90996bbInclude PLPatchMaster.h in the public headers.
Landon FullerLandon Fuller
8eae1dfcff3Fix bug in example.
Landon FullerLandon Fuller
ef3f1707745Minor README fix.
Landon FullerLandon Fuller
2022a2b193dAdd a link to PLBlockIMP.
Landon FullerLandon Fuller
4fb4a22f8e6Expand the README a bit.
Landon FullerLandon Fuller
1f93488f0f2Add ARM-32 stret support.ARM-32
Landon FullerLandon Fuller
39b284dacb4Switch to OCTest for <7.0 compatibility, and add a _stret test.
Landon FullerLandon Fuller
a2730adaf36Implement non-stret ARM support
Landon FullerLandon Fuller
80fa8316ca1Fix copy paste error in stret table config, and fix use of ObjC literal syntax with a set.
Landon FullerLandon Fuller
c8aef7d11ccFix an accidental register overwrite that was copied over from the non-stret version.
Landon FullerLandon Fuller
8a5145d4668Add ARM64 support.
Landon FullerLandon Fuller
8146d90f607Stub out (unimplemented) arm/arm64 support.
Landon FullerLandon Fuller
4ab9d5f4b90Update to 1.0-b6 with gentramp.sh included.
Landon FullerLandon Fuller
6d91d0f4657Update to 1.0-b5, which contains the (previously missing) trampoline_table.h header.
Landon FullerLandon Fuller
914ea52e47fMinor comment/doc cleanup.
Landon FullerLandon Fuller
f5f50f59d42Skip i386. If someone wants, we can revisit it, but stack-based argument passing makes it a little annoying.
Landon FullerLandon Fuller
c17869b90a4Working x86-64 implementation.
Landon FullerLandon Fuller
51c9bca024dImport the eXcode implementation.
Landon FullerLandon Fuller
e4e730f643dSkeleton project.