diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2019-06-17 23:51:56 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2019-06-17 23:52:07 +0300 |
commit | 7398de21ae4f749c7ecc731f546c02837cb4b57b (patch) | |
tree | eff9faefffb66cbf7d020422093d820970c8528c | |
parent | d3c5951bb4552185b5a0766a38cc30ffbf857036 (diff) |
spoof isValid and numberOfDaysLeftInTrialMode
-rw-r--r-- | sketchtrial.m | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/sketchtrial.m b/sketchtrial.m index 26875d6..78868ec 100644 --- a/sketchtrial.m +++ b/sketchtrial.m @@ -9,20 +9,57 @@ @interface BCRegularLicensePatched : NSObject - (bool)isExpired; +- (bool)isValid; +@end + +@interface BCLicenseManagerPatched : NSObject +- (long long)numberOfDaysLeftInTrialMode; @end @implementation BCRegularLicensePatched -+(void)load { -Class origClass = NSClassFromString(@"BCRegularLicense"); - Method origMethod = class_getInstanceMethod(origClass, @selector(isExpired)); - Method replMethod = class_getInstanceMethod(NSClassFromString(@"BCRegularLicensePatched"), @selector(isExpired)); ++ (void)load { + Class origClass = NSClassFromString(@"BCRegularLicense"); - method_exchangeImplementations(origMethod, replMethod); + method_exchangeImplementations( + class_getInstanceMethod(origClass, @selector(isExpired)), + class_getInstanceMethod(NSClassFromString(@"BCRegularLicensePatched"), @selector(isExpired)) + ); + + method_exchangeImplementations( + class_getInstanceMethod(origClass, @selector(isValid)), + class_getInstanceMethod(NSClassFromString(@"BCRegularLicensePatched"), @selector(isValid)) + ); } --(bool)isExpired { +- (bool)isExpired { return false; } +- (bool)isValid { + return true; +} + +@end + + +// +// BCLicenseManager +// + +@implementation BCLicenseManagerPatched + ++ (void)load { + Class origClass = NSClassFromString(@"BCLicenseManager"); + + method_exchangeImplementations( + class_getInstanceMethod(origClass, @selector(numberOfDaysLeftInTrialMode)), + class_getInstanceMethod(NSClassFromString(@"BCLicenseManagerPatched"), @selector(numberOfDaysLeftInTrialMode)) + ); +} + +- (long long)numberOfDaysLeftInTrialMode { + return 9000; +} + @end |