Skip to content

Commit be1ea0e

Browse files
2.1
1 parent 7863a67 commit be1ea0e

37 files changed

+1851
-449
lines changed
32.3 KB
Binary file not shown.
33.5 KB
Binary file not shown.

RootHelper/CoreServices.h

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
@interface LSBundleProxy
2+
@property (nonatomic,readonly) NSString * bundleIdentifier;
3+
@property (nonatomic) NSURL* dataContainerURL;
4+
-(NSString*)localizedName;
5+
@end
6+
7+
@interface LSApplicationProxy : LSBundleProxy
8+
+ (instancetype)applicationProxyForIdentifier:(NSString*)identifier;
9+
@property NSURL* bundleURL;
10+
@property NSString* bundleType;
11+
@property NSString* canonicalExecutablePath;
12+
@property (nonatomic,readonly) NSDictionary* groupContainerURLs;
13+
@property (nonatomic,readonly) NSArray* plugInKitPlugins;
14+
@property (getter=isInstalled,nonatomic,readonly) BOOL installed;
15+
@property (getter=isPlaceholder,nonatomic,readonly) BOOL placeholder;
16+
@property (getter=isRestricted,nonatomic,readonly) BOOL restricted;
17+
@property (nonatomic,readonly) NSSet * claimedURLSchemes;
18+
@end
19+
20+
@interface LSApplicationWorkspace : NSObject
21+
+ (instancetype)defaultWorkspace;
22+
- (BOOL)registerApplicationDictionary:(NSDictionary*)dict;
23+
- (BOOL)unregisterApplication:(id)arg1;
24+
- (BOOL)_LSPrivateRebuildApplicationDatabasesForSystemApps:(BOOL)arg1 internal:(BOOL)arg2 user:(BOOL)arg3;
25+
- (BOOL)uninstallApplication:(NSString*)arg1 withOptions:(id)arg2;
26+
- (BOOL)openApplicationWithBundleID:(NSString *)arg1 ;
27+
- (void)enumerateApplicationsOfType:(NSUInteger)type block:(void (^)(LSApplicationProxy*))block;
28+
@end
29+
30+
@interface LSEnumerator : NSEnumerator
31+
@property (nonatomic,copy) NSPredicate * predicate;
32+
+ (instancetype)enumeratorForApplicationProxiesWithOptions:(NSUInteger)options;
33+
@end
34+
35+
@interface LSPlugInKitProxy : LSBundleProxy
36+
@property (nonatomic,readonly) NSString* pluginIdentifier;
37+
@property (nonatomic,readonly) NSDictionary * pluginKitDictionary;
38+
+ (instancetype)pluginKitProxyForIdentifier:(NSString*)arg1;
39+
@end
40+
41+
@interface MCMContainer : NSObject
42+
+ (id)containerWithIdentifier:(id)arg1 createIfNecessary:(BOOL)arg2 existed:(BOOL*)arg3 error:(id*)arg4;
43+
@property (nonatomic,readonly) NSURL * url;
44+
@end
45+
46+
@interface MCMDataContainer : MCMContainer
47+
48+
@end
49+
50+
@interface MCMAppDataContainer : MCMDataContainer
51+
52+
@end
53+
54+
@interface MCMAppContainer : MCMContainer
55+
@end
56+
57+
@interface MCMPluginKitPluginDataContainer : MCMDataContainer
58+
@end

RootHelper/RemoteLog.h

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#ifndef _REMOTE_LOG_H_
2+
#define _REMOTE_LOG_H_
3+
4+
#import <netinet/in.h>
5+
#import <sys/socket.h>
6+
#import <unistd.h>
7+
#import <arpa/inet.h>
8+
9+
// change this to match your destination (server) IP address
10+
#define RLOG_IP_ADDRESS "192.168.0.24"
11+
#define RLOG_PORT 11909
12+
13+
__attribute__((unused)) static void RLogv(NSString* format, va_list args)
14+
{
15+
NSString* str = [[NSString alloc] initWithFormat:format arguments:args];
16+
17+
int sd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
18+
if (sd <= 0)
19+
{
20+
NSLog(@"[RemoteLog] Error: Could not open socket");
21+
return;
22+
}
23+
24+
int broadcastEnable = 1;
25+
int ret = setsockopt(sd, SOL_SOCKET, SO_BROADCAST, &broadcastEnable, sizeof(broadcastEnable));
26+
if (ret)
27+
{
28+
NSLog(@"[RemoteLog] Error: Could not open set socket to broadcast mode");
29+
close(sd);
30+
return;
31+
}
32+
33+
struct sockaddr_in broadcastAddr;
34+
memset(&broadcastAddr, 0, sizeof broadcastAddr);
35+
broadcastAddr.sin_family = AF_INET;
36+
inet_pton(AF_INET, RLOG_IP_ADDRESS, &broadcastAddr.sin_addr);
37+
broadcastAddr.sin_port = htons(RLOG_PORT);
38+
39+
char* request = (char*)[str UTF8String];
40+
ret = sendto(sd, request, strlen(request), 0, (struct sockaddr*)&broadcastAddr, sizeof broadcastAddr);
41+
if (ret < 0)
42+
{
43+
NSLog(@"[RemoteLog] Error: Could not send broadcast");
44+
close(sd);
45+
return;
46+
}
47+
close(sd);
48+
}
49+
50+
__attribute__((unused)) static void RLog(NSString* format, ...)
51+
{
52+
va_list args;
53+
va_start(args, format);
54+
RLogv(format, args);
55+
va_end(args);
56+
}
57+
#endif

RootHelper/TSUtil.h

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
@import Foundation;
2+
#import "CoreServices.h"
3+
4+
#define TrollStoreErrorDomain @"TrollStoreErrorDomain"
5+
6+
extern void chineseWifiFixup(void);
7+
extern void loadMCMFramework(void);
8+
extern NSString* safe_getExecutablePath();
9+
extern NSString* rootHelperPath(void);
10+
extern NSString* getNSStringFromFile(int fd);
11+
extern void printMultilineNSString(NSString* stringToPrint);
12+
extern int spawnRoot(NSString* path, NSArray* args, NSString** stdOut, NSString** stdErr);
13+
extern void killall(NSString* processName);
14+
extern void respring(void);
15+
extern void fetchLatestTrollStoreVersion(void (^completionHandler)(NSString* latestVersion));
16+
17+
extern NSArray* trollStoreInstalledAppBundlePaths();
18+
extern NSArray* trollStoreInstalledAppContainerPaths();
19+
extern NSString* trollStorePath();
20+
extern NSString* trollStoreAppPath();
21+
22+
#import <UIKit/UIAlertController.h>
23+
24+
@interface UIAlertController (Private)
25+
@property (setter=_setAttributedTitle:,getter=_attributedTitle,nonatomic,copy) NSAttributedString* attributedTitle;
26+
@property (setter=_setAttributedMessage:,getter=_attributedMessage,nonatomic,copy) NSAttributedString* attributedMessage;
27+
@property (nonatomic,retain) UIImage* image;
28+
@end
29+
30+
typedef enum
31+
{
32+
PERSISTENCE_HELPER_TYPE_USER = 1 << 0,
33+
PERSISTENCE_HELPER_TYPE_SYSTEM = 1 << 1,
34+
PERSISTENCE_HELPER_TYPE_ALL = PERSISTENCE_HELPER_TYPE_USER | PERSISTENCE_HELPER_TYPE_SYSTEM
35+
} PERSISTENCE_HELPER_TYPE;
36+
37+
extern LSApplicationProxy* findPersistenceHelperApp(PERSISTENCE_HELPER_TYPE allowedTypes);
38+
39+
typedef struct __SecCode const *SecStaticCodeRef;
40+
41+
typedef CF_OPTIONS(uint32_t, SecCSFlags) {
42+
kSecCSDefaultFlags = 0
43+
};
44+
#define kSecCSRequirementInformation 1 << 2
45+
#define kSecCSSigningInformation 1 << 1
46+
47+
OSStatus SecStaticCodeCreateWithPathAndAttributes(CFURLRef path, SecCSFlags flags, CFDictionaryRef attributes, SecStaticCodeRef *staticCode);
48+
OSStatus SecCodeCopySigningInformation(SecStaticCodeRef code, SecCSFlags flags, CFDictionaryRef *information);
49+
CFDataRef SecCertificateCopyExtensionValue(SecCertificateRef certificate, CFTypeRef extensionOID, bool *isCritical);
50+
void SecPolicySetOptionsValue(SecPolicyRef policy, CFStringRef key, CFTypeRef value);
51+
52+
extern CFStringRef kSecCodeInfoEntitlementsDict;
53+
extern CFStringRef kSecCodeInfoCertificates;
54+
extern CFStringRef kSecPolicyAppleiPhoneApplicationSigning;
55+
extern CFStringRef kSecPolicyAppleiPhoneProfileApplicationSigning;
56+
extern CFStringRef kSecPolicyLeafMarkerOid;
57+
58+
extern SecStaticCodeRef getStaticCodeRef(NSString *binaryPath);
59+
extern NSDictionary* dumpEntitlements(SecStaticCodeRef codeRef);
60+
extern NSDictionary* dumpEntitlementsFromBinaryAtPath(NSString *binaryPath);
61+
extern NSDictionary* dumpEntitlementsFromBinaryData(NSData* binaryData);

0 commit comments

Comments
 (0)