Skip to content

Instantly share code, notes, and snippets.

View PoomSmart's full-sized avatar
💻

Thatchapon Unprasert PoomSmart

💻
View GitHub Profile
@PoomSmart
PoomSmart / ReadEntitlements.x
Last active February 16, 2022 23:11
Read the entitlements of iOS application at run-time
#import <substrate.h>
#import <HBLog.h>
typedef struct __CFRuntimeBase {
uintptr_t _cfisa;
uint8_t _cfinfo[4];
#ifdef __LP64__
uint32_t _rc;
#endif
} CFRuntimeBase;
@PoomSmart
PoomSmart / PVC.x
Created December 22, 2021 13:24
iOS YouTube Logging
void (*YTPlayerLogPVC)(NSString *, ...);
%hookf(void, YTPlayerLogPVC, NSString *format, ...) {
va_list args;
va_start(args, format);
NSLogv(format, args);
va_end(args);
}
%ctor {
NSString *frameworkPath = [NSString stringWithFormat:@"%@/Frameworks/Module_Framework.framework/Module_Framework", NSBundle.mainBundle.bundlePath];
@PoomSmart
PoomSmart / RemoveDeviceChallenge.xm
Created August 21, 2022 12:10
Allow sideloaded iOS YouTube app to sign in by removing device_challenge_request from the sign in payload.
// Credit: https://github.com/qnblackcat/uYouPlus/pull/398
%hook SSOService
+ (id)fetcherWithRequest:(NSMutableURLRequest *)request configuration:(id)configuration {
if ([request isKindOfClass:[NSMutableURLRequest class]] && request.HTTPBody) {
NSError *error = nil;
NSMutableDictionary *body = [NSJSONSerialization JSONObjectWithData:request.HTTPBody options:NSJSONReadingMutableContainers error:&error];
if (!error && [body isKindOfClass:[NSMutableDictionary class]]) {
[body removeObjectForKey:@"device_challenge_request"];
@PoomSmart
PoomSmart / build-rootless.sh
Last active February 9, 2025 08:30
Shell script to build your tweaks compatible with rootless jailbreak.
#!/usr/bin/env bash
set -e
PROJECT="$1"
if [ -z "$PROJECT" ]; then
echo "Usage: $0 <project>"
exit 1
fi
@PoomSmart
PoomSmart / YouTubeDefaultVideoQuality.x
Last active December 8, 2024 09:11
Sets the default video quality for videos on iOS YouTube.
#import <YouTubeHeader/MLAVPlayer.h>
#import <YouTubeHeader/MLHAMPlayerItem.h>
#import <YouTubeHeader/MLQuickMenuVideoQualitySettingFormatConstraint.h>
int targetResolution = 1440;
int targetFPS = 60;
static NSString *getClosestQualityLabel(NSArray <MLFormat *> *formats) {
int minDiff = INT_MAX;
NSString *closestQualityLabel;
@PoomSmart
PoomSmart / yt_facts.txt
Last active April 9, 2025 13:36
iOS YouTube Facts
# Compatibility
Last supported iOS 11: 16.32.6 (removed in 16.33.3)
Last supported iOS 12: 17.39.4 (removed in 17.40.5)
Last supported iOS 13: 17.40.5 (removed in 17.41.2)
Last supported iOS 14: 19.20.2 (removed in 19.21.2)
Temporarilty dropped iOS 12/13 support: 17.36.3
# Features
- Added System volume HUD: 19.06.2 (`YTColdConfig.iosUseSystemVolumeControlInFullscreen`)