Comments (4)
This is by design. Itβs not recommended to use MSFindSymbol() or dlsym() with NULL passed as the image argument, as looking up a symbol across the entire set of images loaded in the processes is slow. Unfortunately the initial design of %hookf encouraged this. Instead, define it yourself by passing the pointer into %init
:
%hookf(void, afunction) {
// β¦
}
%ctor {
void *myLib = dlopen("/System/Library/PrivateFrameworks/Awesome.framework/Awesome", RTLD_NOLOAD);
void *myFunc = dlsym(myLib, "afunction");
%init(afunction = myFunc);
}
from logos.
Thanks @NSExceptional .
What about adding an optional:
%hooklib "/System/Library/PrivateFrameworks/Awesome.framework/Awesome"
%hookf ....
%end
Best of both world?
@kirb I write most of my tweaks without logos, but I love to have logos when I need to do a quick and dirty proof of concept or a throw away analysis tweak. Having to write the constructor defeats the purpose of %hookf as I may as well call MSHookFunction by hand at this point.
from logos.
@kirb I actually got the OK from @uroboro to revert this regression when I have time
from logos.
An idea that floated around when I originally introduced this feature was to specify the library along with the function name:
%hookf(void, "/System/Library/PrivateFrameworks/Awesome.framework/Awesome:aFunction") {
}
from logos.
Related Issues (20)
- Nullability specifiers not supported in %subclass methods
- Cannot find module ' ./logo.svg' or its corresponding type declarations. HOT 2
- Logos failes to hook NSBundle.bundleIdentifier on iOS 16 HOT 2
- Mixing `}` with `'` results in a false positive missing closure [Beeper] HOT 1
- Request: dot in class name support for %c HOT 4
- `super` in %subclass is dodgy HOT 1
- Nullability specifiers not supported in %property HOT 3
- Add [super ...] calls
- Logos compilation error if multiline comment has //
- Issue when using %property to add NSMutableArray with specified item type HOT 2
- %property crashes when no parameters set HOT 8
- Line comments are incorrectly handled within block comments HOT 2
- Logos produces bad output without newline after imports HOT 1
- %config(generator=Internal) does not work but using `internal` does HOT 1
- [logos] preprocess could not handle comment outed braces correctly. HOT 2
- [Bug]: space/newline in %init causes issues HOT 1
- iOSOpenDev compiles with logos.pl in Xcode 14.1 RC2 with numerous deprecation warnings HOT 2
- Logos fails to parse code with curly braces inside of character literals
- Logos ignores end of block comment if line contains a `//` before block comment terminator HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from logos.