Skip to content

Instantly share code, notes, and snippets.

@kevinpiac
Last active September 2, 2017 08:01
Show Gist options
  • Save kevinpiac/2470b677477994be7bf6c0d2353617e8 to your computer and use it in GitHub Desktop.
Save kevinpiac/2470b677477994be7bf6c0d2353617e8 to your computer and use it in GitHub Desktop.
#import <UIKit/UIKit.h>
#import <objc/runtime.h>
@interface logTool: NSObject
+ (void)logDataFromNSString: (NSString *)logContent;
@end
@implementation logTool
+ (void)logDataFromNSString: (NSString *)logContent
{
NSFileHandle *file;
NSData *data;
file = [NSFileHandle fileHandleForUpdatingAtPath: @"/tmp/filelog.txt"];
[file seekToEndOfFile];
[file writeData: data];
logContent = [logContent stringByAppendingString:@"\n------------\n"];
data = [logContent dataUsingEncoding:NSUTF8StringEncoding];
[file writeData: data];
[file closeFile];
}
@end
%hook SCAPIClient
+ (void)requestFinished:(id)arg1 withResponse:(id)arg2 path:(id)arg3 startTime:(double)arg4 success:(_Bool)arg5 requestSize:(double)arg6 responseSize:(double)arg7 hitCache:(_Bool)arg8 statusCode:(long long)arg9 startReachability:(int)arg10 endReachability:(int)arg11 responseDictionary:(id)arg12 userInfo:(id)arg13 trackingInfo:(id)arg14 countOfBytesSent:(long long)arg15 countOfBytesReceived:(long long)arg16 error:(id)arg17 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient requestFinished]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient requestFinished]"]; }
+ (void)requestFinished:(id)arg1 withResponse:(id)arg2 path:(id)arg3 startTime:(double)arg4 success:(_Bool)arg5 requestSize:(double)arg6 responseSize:(double)arg7 hitCache:(_Bool)arg8 statusCode:(long long)arg9 startReachability:(int)arg10 endReachability:(int)arg11 responseDictionary:(id)arg12 userInfo:(id)arg13 error:(id)arg14 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient requestFinished]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient requestFinished]"]; }
+ (void)logURLRequestStart:(id)arg1 name:(id)arg2 requestInfo:(id)arg3 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient logURLRequestStart]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient logURLRequestStart]"]; }
+ (void)logURLRequestStart:(id)arg1 name:(id)arg2 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient logURLRequestStart]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient logURLRequestStart]"]; }
+ (void)logURLRequestCompletion:(id)arg1 requestSize:(unsigned long long)arg2 reachabilityStart:(id)arg3 timeInMillis:(long long)arg4 timeToFirstByteInMillis:(long long)arg5 timeToFirstBytesSent:(long long)arg6 response:(id)arg7 countOfBytesSent:(long long)arg8 countOfBytesReceived:(long long)arg9 requestKey:(id)arg10 reachabilityDurations:(id)arg11 networkRTTInMS:(id)arg12 parameters:(id)arg13 error:(id)arg14 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient logURLRequestCompletion]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient logURLRequestCompletion]"]; }
+ (id)getConnectionType {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient getConnectionType]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient getConnectionType]"];return ret; }
+ (id)getCarrierMNC {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient getCarrierMNC]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient getCarrierMNC]"];return ret; }
+ (id)getCarrierMCC {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient getCarrierMCC]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient getCarrierMCC]"];return ret; }
+ (id)getCarrierName {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient getCarrierName]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient getCarrierName]"];return ret; }
+ (_Bool)isDevSnapchat {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient isDevSnapchat]"];_Bool ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %u", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient isDevSnapchat]"];return ret; }
+ (id)defaultUrl {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient defaultUrl]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient defaultUrl]"];return ret; }
+ (id)updateSharedClientWithUrl:(id)arg1 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient updateSharedClientWithUrl]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient updateSharedClientWithUrl]"];return ret; }
+ (id)sharedClient {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient sharedClient]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient sharedClient]"];return ret; }
+ (id)encodingVariantFromURL:(id)arg1 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient encodingVariantFromURL]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient encodingVariantFromURL]"];return ret; }
+ (_Bool)shouldLogMediaDownloadEventWithPath:(id)arg1 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient shouldLogMediaDownloadEventWithPath]"];_Bool ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %u", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient shouldLogMediaDownloadEventWithPath]"];return ret; }
+ (void)logMediaDownloadEventWithRequest:(id)arg1 response:(id)arg2 parameters:(id)arg3 rulefileLoadingManager:(id)arg4 logger:(id)arg5 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient logMediaDownloadEventWithRequest]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient logMediaDownloadEventWithRequest]"]; }
+ (void)logMediaDownloadEventWithRequest:(id)arg1 response:(id)arg2 parameters:(id)arg3 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient logMediaDownloadEventWithRequest]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient logMediaDownloadEventWithRequest]"]; }
- (void)observeValueForKeyPath:(id)arg1 ofObject:(id)arg2 change:(id)arg3 context:(void *)arg4 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient observeValueForKeyPath]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient observeValueForKeyPath]"]; }
- (void)enqueueHTTPRequestOperation:(id)arg1 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient enqueueHTTPRequestOperation]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient enqueueHTTPRequestOperation]"]; }
- (id)requestWithMethod:(id)arg1 path:(id)arg2 parameters:(id)arg3 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient requestWithMethod]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient requestWithMethod]"];return ret; }
- (id)multipartFormRequestWithMethod:(id)arg1 path:(id)arg2 parameters:(id)arg3 constructingBodyWithBlock:(id)arg4 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient multipartFormRequestWithMethod]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient multipartFormRequestWithMethod]"];return ret; }
- (int)getCurrentNetworkReachabilityStatus {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient getCurrentNetworkReachabilityStatus]"];int ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %d", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient getCurrentNetworkReachabilityStatus]"];return ret; }
- (void)authenticateRequest:(id)arg1 path:(id)arg2 parameters:(id)arg3 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient authenticateRequest]"];%orig;[logTool logDataFromNSString:@"<<<< END - [SCAPIClient authenticateRequest]"]; }
- (id)requestWithMethod:(id)arg1 url:(id)arg2 parameters:(id)arg3 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient requestWithMethod]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient requestWithMethod]"];return ret; }
- (id)initWithBaseURL:(id)arg1 {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient initWithBaseURL]"];id ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %@", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient initWithBaseURL]"];return ret; }
- (_Bool)isCustomEndpoint {[logTool logDataFromNSString:@">>>> BEGIN - [SCAPIClient isCustomEndpoint]"];_Bool ret = %orig;[logTool logDataFromNSString:[NSString stringWithFormat:@"ret value: %u", ret]];[logTool logDataFromNSString:@"<<<< END - [SCAPIClient isCustomEndpoint]"];return ret; }
%end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment