#development

1 messages · Page 119 of 1

acoustic imp
#

atully tap back. where does it put u form there

visual meadow
#

_UIBatteryView

acoustic imp
#

go back another

visual meadow
#

View Hierarchy Tree

acoustic imp
#

or i think u can just hook _UIBatteryView

visual meadow
#

but like

#

how would i call setOpacity

acoustic imp
#

but

#

theres probly a bunch of _UIBatteryView's on SB

visual meadow
#

yes

#

thats why

#

i want to call only for bodyLayer

#

how

acoustic imp
#

so you want to hook sm higher in the Hierarchy Tree and self.view.view down or sm

radiant idol
#

There’s only one

acoustic imp
#

well if u have widgets

radiant idol
#

Those aren’t _UIBatteryView

acoustic imp
#

oh

radiant idol
#

What

acoustic imp
#

@visual meadow jus search for UIBattery views, see how many come up

acoustic imp
visual meadow
#

i give up lol

acoustic imp
#

ok

#

can u help me

#

this is crashing SB or watchdog or what ever

#

   numtosubspaceonsupview = spacing*2 + self.remainingTimeLabel.frame.size.width + self.elapsedTimeLabel.frame.size.width;
#

why

#

@radiant idol ?

#

spacing = 0 btw

#

does it no like that?

radiant idol
#

Idk

#

@hasty ruin 😭

acoustic imp
#

oh no

radiant idol
#

Ay nah

#

I saw that

acoustic imp
#

see what

radiant idol
#

I’m gonna send it to him in DMs

acoustic imp
#

noooooooo

#

not CGRect oop again 🙈

#

CGFloats did not work

#

can var names be to long?

hexed knot
#

Realistically no

tepid olive
#

does anyone know if fork() will retain kfd in the child process?

cloud yacht
#

evil eliza be like

tough shadow
#

What do I do?

torn oriole
#

not the name

#

e.g you want 17 for iphone/tweak

slender glade
#

is there a way to set the number of lines for a PSTableCell

slender glade
#

nvm i just made a custom cellClass

hasty ruin
faint stag
left lantern
#

yoo, without any springboard injection, its not possible to shift the dynamic island down? maybe I guess a tweak could do it in specific applications, but currently stuck with mine halfway through the XS Max's notch lmao

left lantern
#

LMAO , true

#

any tweaks you know that exist to shift the island though?

faint stag
#

it's not an app so

topaz yew
acoustic imp
#

(The bounce is ArtFull issue)

radiant idol
#

skill issue

acoustic imp
slender glade
#

has anyone here ever used _UISheetPresentationController on iOS 14 or before?

left lantern
acoustic imp
radiant idol
#

so

acoustic imp
# acoustic imp 🥲

maybe somone know? (this method gets called when ever layoutsubview is called)

-(void)setlabelsandsizing{
        CGRect eltempframe = self.elapsedTimeLabel.frame;
        CGRect remtempframe = self.remainingTimeLabel.frame;
        CGRect elapsedTrackOrigFrame = self.elapsedTrack.frame;
        CGRect remainingTrackOrigFrame = self.remainingTrack.frame;
        CGRect selfframetemp = self.frame;
        if (isSmallDeviceSB()) {
            issmallsbnum = 4;
        } else {
            issmallsbnum = 5;
        }

        CGFloat inbet = eltempframe.size.width + remtempframe.size.width + 20;
        selfframetemp.origin.x = eltempframe.size.width + 10;//fillscubbar;
        //selfframetemp.origin.y = controlsviewhight - 79 - playeradjwhenLARGO;
        CGFloat superviewWidth = self.superview.bounds.size.width;
        selfframetemp.size.width = superviewWidth - inbet;//(fillscubbar*2);
        self.frame = selfframetemp;

        eltempframe.origin.y = (elapsedTrackOrigFrame.size.height+issmallsbnum - self.elapsedTimeLabel.frame.size.height)/2 + elapsedTrackOrigFrame.origin.y;//(self.frame.size.height - self.elapsedTimeLabel.frame.size.height)/2;
        //eltempframe.origin.x = -(eltempframe.size.width + 10);
        self.elapsedTimeLabel.frame = eltempframe;
        remtempframe.origin.y = (remainingTrackOrigFrame.size.height+issmallsbnum - self.remainingTimeLabel.frame.size.height)/2 + remainingTrackOrigFrame.origin.y;
        //remtempframe.origin.x = self.frame.size.width + 10;
        
        self.remainingTimeLabel.frame = remtempframe;
    }```
#

should i just put this in layout subview method?

faint stag
#

now that's an aggressive comment

left lantern
#

kwk true

burnt perch
#

Guys, which is the command to see the installed packages and more info ?

#

Like it shows allso the apple logo printed in the term

tepid olive
#

neofetch

faint stag
faint stag
# slender glade

i mean well i see that in uikit in the 14 headers
but it seems like it's an interface for UIPresentationController

slender glade
burnt perch
#

Guys, can someone help me with this simple error ? Please.

It’s a memory error. I want to know a way to fix it. I’m using 18.16 nodejs and im on iOS

#

Idk if the terminal is limited to not use so much memory. But my script is very simple

#

And i want to know how to unlock the term to use more memory

#

CocoaTop says that i have 150-200mb free

tepid olive
#

you have to disable jetsam

#

in the process

#

jailbrakd of dopamine does this

slender glade
#

<@&355177983398641674> How do I remove the nsfw filter from ChatGPT im tryna see some AI cooch

hasty ruin
tepid olive
#

LMAO

#

look for some chatGPT jailbreak prompt idfk

olive peak
#

Step 1: dont use chatgpt

#

Step 2: use mistral with an uncensored model

slender glade
#

https://chariz.com/buy/kiyoharu/ yo this looks kinda cool..

Chariz

Kiyoharu No more manually replaying the favorite part of your Song! With Kiyoharu, you can specify your favorite part of the now-playing Song to repeat manually, and Kiyoharu will automatically repea…

hasty ruin
#

expected music loop, got bootloop :(

#

TheosGhost by captinc

blazing warren
slender glade
#

nvm hayden made that joke

hasty ruin
burnt perch
tepid olive
#

told ya, take a looksie at dopamine's jailbreakd

burnt perch
#

Okay thanks

#

So. Sudo chmod +x jailbreakd (in /jb/basbin) and then ./jailbreakd —help ???

#

Idk how to do it

#

Is there something like samjet for dopamine?

hasty ruin
#

I didn’t write the guide

acoustic imp
#

oh

#

But the bar doesn’t instantly resize

radiant idol
#

nice ig

acoustic imp
#

Is there sm worng with it ?

#

It looks like iOS 16 (minus artfull)

pearl sail
acoustic imp
#

@radiant idol how can i like have to dif hooks and like be able to call a method from one to the other? or do i need to do the like postn otifaction thing and listener?

radiant idol
#

huh

acoustic imp
# radiant idol huh

How could I like call a method on one of the above views from the now playing view, without sowing self.superview a billion times

radiant idol
#

you'd get a reference to the view somehow and then call the method using that

acoustic imp
#

how would i get a referance?

#

like can i put the referance in a like variable? (idk)

#

like UIView *someview; then %hook thatview
self = someview; ?

radiant idol
#

@hasty ruin 😭

acoustic imp
#

omg

hasty ruin
acoustic imp
#

k, il look

#

well all im trying to do is add a UIImageView to the hooked view then when you close the player it just sets the alpha of the image to 0, then when you make the player big again, set the alpha to 1

#

i mean self.superview.superview and so on would work, its just is that a bad idea?

acoustic imp
#

@radiant idol is it a bad idea to like just leav a UIImageView like active VS removing when your done ?

#

like would it decrease memory usage?

radiant idol
#

im gonna go insane with all these pings

#

what the hell do you mean 😭

acoustic imp
#

nvm

placid kraken
#

this is probably pointless to ask here but

#

does anyone know if theres a addon for the casio fx-cg50 for symbolic derivatives like partial derivatives

#

CAS addons can only solve numerical derivatives and indefinite integrals

#

but when it comes to symbolic ones i cant find any addon online or heck even any information online at all, noone is asking if it exists

#

it, of course, would be hell to write my own, because i would either have to write my own CAS in c or extend the CAS from the addon

#

so

tough shadow
#

Why does visual studio recognize plain text instead of .x

hasty ruin
#

.x is only for tweaks

#

get a Logos extension

tough shadow
hasty ruin
tough shadow
#

Rate my new tweak icon

radiant idol
#

it's certainly something

tough shadow
#

Heres the new one I forgot to fill the corner

radiant idol
#

@hasty ruin rate fr

hasty ruin
#

at least it's not stolen from some production company or something

tough shadow
indigo peak
#
static const char needle[] = { 0x08, 0x4E, 0xA8, 0x52, 0x00, 0x01, 0x27, 0x1E };
const char *path = [[NSBundle mainBundle] executablePath].UTF8String;
int fd = open(path, O_RDONLY | O_CLOEXEC);
off_t length = lseek(fd, 0, SEEK_END);
lseek(fd, 0, SEEK_SET);
void *map = mmap(nil, length, PROT_READ, MAP_SHARED, fd, 0);
void *result = memmem(map, length, needle, sizeof(needle));
NSLog(@"[gameseagull] result: %p", result);
#

uhhh what am i doin wrong

#

in terms of like

#

aslr addresses

#
MessagesExtension    [gameseagull] result: 0x106842d60
MessagesExtension    [gameseagull] result: 0x109042d60
MessagesExtension    [gameseagull] result: 0x10496ad60
#

got different values all different times

#

alr

radiant idol
indigo peak
#

idk exactly what im doing

placid kraken
radiant idol
#

true

placid kraken
#

looks like quartzo or something

radiant idol
#

this one makes me uncomfortable

placid kraken
#

consider piximisa

radiant idol
#

i dont have that one

placid kraken
#

or contax

#

ah

timid furnace
radiant idol
#

anyway asking me to design something is not a good idea

indigo peak
#

still getting different values

#

hm

timid furnace
#

ok well capt

#

that is wrong

tough shadow
placid kraken
timid furnace
#

when you pass an array to a function it is passed as a pointer to the first element of the array

timid furnace
#

so there is effectively no difference between array and &array unless if you're doing some very specific type shenanigans

placid kraken
radiant idol
#

oh my

#

uuuuuuhhhhh

#

yea ig thats nice

#

pastel mud

#

wow

placid kraken
#

looks like shit now 😭

turbid fjord
#

Capt is shit

tough shadow
native dune
#

ShitSplasher

radiant idol
turbid fjord
#

Use AI troll

hasty ruin
#

ai generates great music @turbid fjord

turbid fjord
hasty ruin
#

just thought I’d let you know

turbid fjord
hasty ruin
placid kraken
# radiant idol thats so specific

also its very specific because usually you can gauge how much the saturation needs to change and when you do you subtract 20 and use that as lightness lol

#

its a guideline i go by

radiant idol
#

low key @placid kraken

placid kraken
#

is that radial?

radiant idol
#

yea

native dune
#

🤓

placid kraken
#

looks great

turbid fjord
#

Ban icraze for rule 1

radiant idol
#

thats the issue

hasty ruin
#

It’s fine

radiant idol
#

LOL

turbid fjord
#

Zefram sucks then

placid kraken
hasty ruin
radiant idol
#

like this?

placid kraken
#

yep

radiant idol
#

still not that recognizable from afar

#

but better ig

placid kraken
#

tbf you made that very small

#

if you put that icon into a pref it would be a bit bigger

radiant idol
#

true true but tweak icons are smol

#

ok true

hasty ruin
radiant idol
#

icrase

#

no

placid kraken
#

soadjbajd

radiant idol
#

yes

#

i do

hasty ruin
radiant idol
#

my computer keyboard is big smh

#

duh

#

thats what i meant

placid kraken
#

i would say this is about as big as a tweak pref would be

#

actually

radiant idol
#

i like how we just forgot about the "splasher" part

#

MudSplasher

#

nah

#

just

#

Mud

placid kraken
radiant idol
#

rosie

#

you should make an icon too

#

lets compare

#

tbf all of them will look like a pile of poo

#

so

tough shadow
placid kraken
radiant idol
placid kraken
#

ok let me make a real icon

radiant idol
#

it looks bad as a tweak icon

tough shadow
radiant idol
tough shadow
#

Mud for short

radiant idol
#

tweak icons have to be simple, descriptive, recognizable, and (normally) without text

placid kraken
#

i will make one of my tweak icons the declaration of independence

gentle grove
#

22nm lithography

tough shadow
#

jk

radiant idol
#

.

turbid fjord
#

@gritty crystal wake up dead fuck

tough shadow
#

Chat is dead

#

for now

hasty ruin
#

where the fuck

#

is rune

hasty ruin
#

technically 3 if you include bolders

tough shadow
#

Just need a logo

indigo peak
#

@grave sparrow if you couldnt tell, im adding a patchfinder to gameseagull so hopefully i dont need to update the next time gamepigeon updates

#

or at least

#

im trying to add a patchfinder

radiant idol
hasty ruin
#

@torn oriole snipe

torn oriole
hasty ruin
#

why is rune up your butt

#

do you like it that much?

torn oriole
#

Icrazeware

#

Bro deleted it

hasty ruin
#

💀

#

ban him for deleting a moderator's message!

torn oriole
#

So true

radiant idol
#

actually that is a GIR message

#

not a hydrate message

hasty ruin
#

gir is a moderator

torn oriole
#

☝️🤓Erm ackshually

radiant idol
#

GIR never works = GIR cant moderate = GIR is not a mod

hasty ruin
#

theyre still admins

timid furnace
#

moderators are held to higher standards

hasty ruin
timid furnace
#

it is the truth tho

radiant idol
timid furnace
#

otherwise hydrate would be mod abusing more

radiant idol
#

im talking about you idiot

hasty ruin
timid furnace
hasty ruin
#

luz

timid furnace
#

why no luz emote

hasty ruin
#

💡

#

luz

timid furnace
#

luz

#

wait

#

its just the twitter emote

#

lmfaooooo

hasty ruin
#

SwipeSelection 2.0 just dropped chat

#

icraze repo 🔥

#

dear nightwind

topaz yew
#

@radiant idol i wouldnt take that

radiant idol
#

take what

hasty ruin
#

smh he deleted the gif too

placid kraken
#

i dont like the gradient on the 2 things

hasty ruin
#

when you try to search in FLEX but the keyboard doesnt open trolldisappointed

indigo peak
#

does anyone know how to make memmem start looking for the needle starting at a custom location
like instead of searching the whole file map, start looking example, the second half

radiant idol
#

mmmm bad contrast here

radiant idol
placid kraken
#

yea true

indigo peak
#

chat gpt gave me this
but idk if its safe

#
void *custom_memmem(const void *haystack, size_t haystack_len, const void *needle, size_t needle_len, const void *start) {
    const char *haystack_ptr = (const char *)haystack;
    const char *needle_ptr = (const char *)needle;
    const char *haystack_end = haystack_ptr + haystack_len;
    const char *start_ptr = (const char *)start;
    const char *p;

    // Ensure start pointer is within bounds
    if (start_ptr < haystack_ptr || start_ptr >= haystack_end)
        return NULL;

    while ((p = memchr(start_ptr, *needle_ptr, haystack_end - start_ptr)) != NULL) {
        // Check if remaining haystack length is smaller than needle length
        if (haystack_end - p < (ptrdiff_t)needle_len)
            return NULL;

        // Check if the substring matches the needle
        if (memcmp(p, needle_ptr, needle_len) == 0)
            return (void *)p;

        // Move start pointer to the next position
        start_ptr = p + 1;
    }

    return NULL;
}
tough shadow
radiant idol
#

@native orbit i feel like you'd know

#

he has something like this in str_patcher

indigo peak
#

ok i got a dum idea

cloud yacht
radiant idol
#

what does it look like

#

also ETA WEN LOGS

cloud yacht
#

No way I remembered that path from memory

radiant idol
#

well um

#

its certainly

#

an icon

cloud yacht
#

It looks better smaller

#

Listen I spent like 3 hours on this

radiant idol
#

make the black contour white

#

and fix corner radius

cloud yacht
#

I tired didn't know how

radiant idol
#

skill issue

cloud yacht
#

Yeah

#

I probably have the source file sonewhere

#

But I'm busy rn

radiant idol
#

nerd

cloud yacht
#

Yeah that's why I'm not good at design

cloud yacht
#

I took some cool photos earlier today

#

But idk if I have the equipment to get them off the camera rn

indigo peak
native orbit
#

faster algorithm

indigo peak
#

ok but still i need it to start at a certain location

native orbit
#

do you know a start addr?

#

or just looking for the value somewhere in mem?

indigo peak
#

so im looking for a certain instruction and i know where it can at least be

#

its inside a specific method

#

and i know where the method is

tough shadow
#

Which one do I recommend

radiant idol
#

?

tough shadow
ashen birch
#

pf64
mid

tough shadow
#

Rate my repo Icon

#

@native dune Should I revamp it?

native dune
#

very

tough shadow
ashen birch
tough shadow
native dune
#

How did you manage to make it worse

tough shadow
#

Yo wtf

#

My message is pinned

faint stag
visual meadow
#

@tepid olive could you maybe dm?

tough shadow
#

I will just use my pfp

#

Am going to test my tweak if it works I guess

acoustic imp
#
==> Notice: Build may be slow as Theos isn’t using all available CPU cores on this computer. Consider upgrading GNU Make: https://theos.dev/docs/parallel-building
==> Warning: Building for iOS 9.0, but the current toolchain can’t produce arm64e binaries for iOS earlier than 14.0. More information: https://theos.dev/docs/arm64e-deployment
> Making all for tweak 16player…
==> Preprocessing Tweak.xm…
==> Compiling Tweak.xm (arm64)…
In file included from Tweak.xm:1:
/Users/tesla3092/tweaks/16player/Tweak.h:184:20: error: unknown type name 'SBUIBackgroundView'
@property (strong) SBUIBackgroundView *backgroundView;
                   ^
/Users/tesla3092/tweaks/16player/Tweak.h:184:1: error: property with 'retain (or strong)' attribute must be of object type
@property (strong) SBUIBackgroundView *backgroundView;
^
2 errors generated.```
my .h file
```objc
@interface CSCoverSheetView : UIView
@property (strong) SBUIBackgroundView *backgroundView;
@end

@interface SBUIBackgroundView : UIView
-(void)hidetheBGimgview:(CGFloat)arg0;
-(void)inittheplayerbgimage;
@end```
#
    CSCoverSheetView *coversheetview = (CSCoverSheetView *)self.superview.superview.superview.superview.superview.superview.superview.superview.superview.superview.superview.superview.superview;
    SBUIBackgroundView *backgroundView = MSHookIvar<SBUIBackgroundView *>(coversheetview, "backgroundView");
    [backgroundView inittheplayerbgimage];
    [backgroundView hidetheBGimgview:1];```
#

could somone help me fix this error, idk what it means really

#

i tried getting the SBUIBackgroundView.h and importing it but it didnt really work

indigo peak
#

@grave sparrow i request help

#

(void *)[%c(PoolScene) instanceMethodForSelector:@selector(mMove)] doesnt return the address displayed in ida

#

do i need some slide or something

radiant idol
indigo peak
#

is it like _dyld_get_image_header or something

acoustic imp
indigo peak
#

so should i cast both instanceMeth and _dyld as what

#

void *

#

if its uintptr_t do i still gotta do sizeof(void)

jade sail
#

Anyone around here familiar with the setuid fix used by palera1n/dopamine and other modern jaibreaks? I'm hoping to add support for setuid to definitlynotajailbreak

indigo peak
#

yeah that did not work 💀

tough shadow
#

MudSplashed - A new tweak I made to change your status bar

visual meadow
#

anyone here know how to programatically send an imessage in cli on an iphone

native dune
#

pypush

indigo peak
#

why would you give nathan the permissions to text people automatically

visual meadow
native dune
#

good point

visual meadow
#

on an iphone

#

like

jade sail
native dune
#

Reverse the messages binary

#

I don’t think the functionality you want exists stock

indigo peak
#

@grave sparrow ```
[gameseagull] result = 0x105ec6d60
[gameseagull] slide = 0x1059d4000
[gameseagull] method = 0x104fc85b8
[gameseagull] offset = 10533448


```objc
void *method = (void *)[%c(PoolScene) instanceMethodForSelector:@selector(mMove)];
void *slide = (void *)_dyld_get_image_header(0);

NSLog(@"[gameseagull] slide = %p", slide);
NSLog(@"[gameseagull] method = %p", method);
NSLog(@"[gameseagull] offset = %ld", slide - method);
native orbit
#

thats the base not slide

indigo peak
#

capt lied

visual meadow
native orbit
#

_dyld_get_image_vmaddr_slide(0) is for slide

visual meadow
#

cause i like keeping app store apps lol

#

if theres an update i can just update it

indigo peak
#

bc instead of having 5 trollstore apps hed rather have 10 apps called "__patcher"

indigo peak
native dune
visual meadow
#

no

indigo peak
visual meadow
#

ok

#

ill do it for myself tho

indigo peak
#

nope

#

will sue

hasty ruin
visual meadow
#

what if you dont know i do it for myself

indigo peak
#

no ill know

#

bc youll either do 1 of 2 things

#

dm me asking for support bc smething isnt working

#

or youll post you got it working stock in every channel here

visual meadow
#

what if i dont do 1 of 2 things mentioned

#

what if i stay silent

hasty ruin
#

we all know that’s not possible

visual meadow
#

what if it is possible

indigo peak
#

then idk ask what happened to the real nathan bc thats not possible

native orbit
indigo peak
visual meadow
#

well i will do it once you figure out pool hacks without jit

native orbit
#

you know you can set teamid now when signing and can just injecting into appstore apps

indigo peak
#

what youre still gonna need jit

visual meadow
#

bruh

indigo peak
#

what tf did you think this was

visual meadow
#

thats what ive been doing

native orbit
#

oh

visual meadow
#

thats how my ytpatcher app works

native orbit
#

i thought u was still decrypting, signing, installing

#

lol

indigo peak
#
uintptr_t method = (uintptr_t)[%c(PoolScene) instanceMethodForSelector:@selector(mMove)];
uintptr_t slide = (uintptr_t)_dyld_get_image_vmaddr_slide(0);

NSLog(@"[gameseagull] slide = %lu", slide);
NSLog(@"[gameseagull] method = %lu", method);
NSLog(@"[gameseagull] offset = %ld", method - slide);
#

yeah so uhh

#

that didnt work

native orbit
#

print in hex

#

and log _dyld_get_image_header(0) as well

tough shadow
#

Can someone test my deb file?

indigo peak
#

right

#

dawg that was a negative number

next wadi
#

yall mfs thought i was a graphic designer 😭

#

its the twitter emoji on top of a gradient

indigo peak
#

@native orbit

[gameseagull] slide = 0x101340000
[gameseagull] method = 0x1009345b8
[gameseagull] offset = 0xffffffffff5f45b8
[gameseagull] header = 0x101340000
native orbit
#

header - method should be fine

primal perch
#

@hasty ruin

hasty ruin
#

@primal perch

primal perch
#

gm

#

gaycraze

hasty ruin
tough shadow
#

Yo

#

What if I make a repo?

hasty ruin
#

Oh no

tough shadow
indigo peak
#

wtf

hasty ruin
indigo peak
tough shadow
indigo peak
#

0x1000E45B8

tough shadow
native orbit
indigo peak
#

offset = 0xb07a48

#
uintptr_t method = (uintptr_t)[%c(PoolScene) instanceMethodForSelector:@selector(mMove)];
uintptr_t header = (uintptr_t)_dyld_get_image_header(0);```
#

offset = header - method

indigo peak
#

like no hate

native orbit
#

i think you need to use class_getInstanceMethod or class_getClassMethod to get the method addr @indigo peak

#

oh you is using instanceMethodForSelector lol

indigo peak
#

@tough shadow like again no hate, but this was one of my first ever icons

acoustic imp
#

was it for a calculator

indigo peak
#

calculatorhistory

indigo peak
native orbit
#

pretty sure it the exact same

indigo peak
#

yeah i was gon say

#

i got the exact same thing lol

native orbit
#

class* ones are just objc runtime ones

indigo peak
#

offset = 0x3ac720

#

that was with class_getInstance

native orbit
#

what are u trying to do btw

indigo peak
#

make a patchfinder for gameseagull

#

so i dont have to manually update the offsets for extended lines

native orbit
#

you do memory patching and shit then? not just hooking

indigo peak
#

yeah

#

wdym

desert jackal
native orbit
#

are you trying to patch something in that method?

indigo peak
#

yeah

#

so basically

#

here

#

in gamepigeon

#
mov w8, #0x42700000

and thats just 60.0
and thats inside -[PoolScene mMove]
and just gotta overwrite the mov instruction with a large number instead of 60.0
like

mov w8, #0x4e6e0000
#

so im just tryna just patchfind the mov w8, #0x42700000 instruction to replace it later with MSHookMemory

native orbit
#

just memmem for 0x52a84e08 (that mov inst) starting at the method addr

indigo peak
#

thats what ive been trying to do

native orbit
#

did you endian flip the inst

indigo peak
#

no

native orbit
#
uint8_t needle[4] = {
    0x08, 0x4e, 0xa8, 0x52
};
indigo peak
#
mov w8, #0x42700000
fmov s0, w8
084EA852
0001271E```
```C
static const char needle[] = { 0x08, 0x4E, 0xA8, 0x52, 0x00, 0x01, 0x27, 0x1E };
native orbit
#

try that

indigo peak
#

@native orbit

struct stat status = {};

uint8_t needle[4] = { 0x08, 0x4e, 0xa8, 0x52 };
const char *path = [[NSBundle mainBundle] executablePath].UTF8String;

int fd = open(path, O_RDONLY);
fstat(fd, &status);
size_t length = (size_t)(status.st_size);

void *map = mmap(NULL, length, PROT_READ, MAP_SHARED, fd, 0);
void *result = boyermoore_horspool_memmem(map, length, needle, sizeof(needle));
NSLog(@"result = %p", result);

result = 0x104842d60

native orbit
#

do a *(uint32_t *)result and check if its the right inst

indigo peak
#

hm

#

*(uint32_t *)result = 0x52a84e08

#

apparently it is

native orbit
#

patch that addr and you should be good intjpray

tough shadow
indigo peak
#

i was trying to make it

#

compat wth my old hooking function

#

but ig not Sadge

native orbit
#

did it take an addr? or what

indigo peak
#

nah

#
int (*__LHPatchMemory)(const struct LHMemoryPatch *patches, int count);
int PatchMemory(const struct LHMemoryPatch *patches, int count) {
    static dispatch_once_t onceToken;
    dispatch_once (&onceToken, ^{
        void* lhImage = dlopen((ROOT_PATH("/usr/lib/libhooker.dylib")), RTLD_NOW);
        if(lhImage) {
            __LHPatchMemory = (void*)dlsym(lhImage, "LHPatchMemory");
        }
    });

    if(__LHPatchMemory) {
        return __LHPatchMemory(patches, count);
    } else {
        for(int i = 0; i < count; i++)
        {
            struct LHMemoryPatch patch = patches[i];
            MSHookMemory(patch.destination, patch.data, patch.size);
        }
        return 0;
    }
}

void HookMemory(Class class, SEL selector, uint64_t offset, uint32_t data) {
    void *final_offset = (void *)[class instanceMethodForSelector:selector] + offset;
    struct LHMemoryPatch patch;
    patch.destination = final_offset;
    patch.data = &data;
    patch.size = sizeof(data);
    patch.options = NULL;

    PatchMemory(&patch, 1);
}```
#

well kinda

#

i mean, i can rewrite it im just lazy lmao

native orbit
#

is the offset the number bytes from the method addr?

indigo peak
#

uhhh

#

number of bytes??
no idea

#

offset is

#

for example

#
__text:00000001000E4E18                 MOV             W8, #0x4E6E0000
__text:00000001000E45B8 ; void __cdecl -[PoolScene mMove](PoolScene *self, SEL)

1000E4E18 - 1000E45B8

#

assuming thats bytes but yeah

native orbit
#

just HookMemory(<cls>, <sel>, <result - method>, data)

indigo peak
#

alr lets see if that works

native orbit
#

result addr - method addr should be the offset for that

indigo peak
#

what should i be casting result and method as

acoustic imp
#

@solemn cloak would you be so kind as to tell me the method for when the music player goes away off the LS or how musicbackground knows to hide the artwork background?

native orbit
#

do uintptr_t or uint64_t

indigo peak
#

did not work lmao

native orbit
#

what was the offset?

#

(if u logged it)

indigo peak
#
default    21:13:45.305522-0500    MessagesExtension    1090a2d60
default    21:13:45.305594-0500    MessagesExtension    104b185b8
default    21:13:45.305627-0500    MessagesExtension    458a7a8
#

it goes

#

result, method, offset

#

thats the order

native orbit
#

0x1090a2d60 is WAY to far away from 104b185b8

#

hmm

indigo peak
#

well that was uint64_t result = (uint64_t)boyermoore_horspool_memmem(map, length, needle, sizeof(needle));

native orbit
#

need the start to be the method addr

#

and end the func end

indigo peak
#

ok but how do i do that

native orbit
#

read each inst at the method addr until you hit a ret or retab

indigo peak
#

wdym

#

cant i just eddit the boyermoore func

native orbit
#

yea

indigo peak
#

ok but how :intjpray:

#

or couldnt i like

#

while result is less than method recalc result?

native orbit
#
uint64_t bh_memmem(const uint8_t* haystack, size_t hlen, const uint8_t* needle, size_t nlen) {
    size_t last, scan = 0;
    size_t bad_char_skip[UCHAR_MAX + 1];
    if (nlen <= 0 || !haystack || !needle) return 0;
    for (scan = 0; scan <= UCHAR_MAX; scan = scan + 1) bad_char_skip[scan] = nlen;
    
    last = nlen - 1;
    for (scan = 0; scan < last; scan = scan + 1)
        bad_char_skip[needle[scan]] = last - scan;

    while (hlen >= nlen) {
        for (scan = last; haystack[scan] == needle[scan]; scan = scan - 1) {
            if (scan == 0) return (uint64_t)haystack;
            if (*(uint32_t *)haystack == 0xd65f03c0) return 0; // reached ret
            if (*(uint32_t *)haystack == 0xd65f0fff) return 0; // reached retab
        }
        
        hlen -= bad_char_skip[haystack[last]];
        haystack += bad_char_skip[haystack[last]];
    }
    return 0;
}
#

@indigo peak

indigo peak
#
void *map = mmap(NULL, length, PROT_READ, MAP_SHARED, fd, 0);
uint64_t method = (uint64_t)[%c(PoolScene) instanceMethodForSelector:@selector(mMove)];
uint64_t result = bh_memmem(map, length, needle, 4);

?

native orbit
#

bh_memmem((const uint8_t*)method, length, needle, 4);

indigo peak
#

hooray

#

it works

native orbit
indigo peak
#
uint64_t method = (uint64_t)[%c(PoolScene) instanceMethodForSelector:@selector(mMove)];
uint64_t result = bh_memmem((const uint8_t*)method, length, needle, 4);
close(fd);

HookMemory(%c(PoolScene), @selector(mMove), (result - method), patch);
#

:intjpray:

#

tytytyty

native orbit
#

patchfinder lowkey smart af for that

#

dont they update it a lot?

indigo peak
#

no not really

native orbit
#

oh

#

still

#

less effort in future trol

indigo peak
#

yessir

#

there was 2 updates in 2 years LOL

#

and the 2 updates didnt change the instructions

native orbit
#

💀

hasty ruin
indigo peak
#

@native orbit is there any way to get the end of the method

#

or like

#

not need the lenght of the file

#

for the bh_memmem

radiant idol
#

frcoal

radiant idol
#

for real

native orbit
indigo peak
#

@native orbit W

if (extendLines) {
    uint32_t patch = 0x52a9cdc8;
    uint8_t needle[4] = { 0x08, 0x4e, 0xa8, 0x52 };
    for (NSString *class in @[@"PoolScene", @"PoolScene2", @"PoolScene3"]) {
        uint64_t method = (uint64_t)[NSClassFromString(class) instanceMethodForSelector:@selector(mMove)];
        uint64_t result = bh_memmem((const uint8_t*)method, 0x1000, needle, 4);

        HookMemory(NSClassFromString(class), @selector(mMove), (result - method), patch);
    }
}
#

@radiant idol legit for the first time ever i see class as a objc keyword

#

funny that you mentioned that earlier today

visual meadow
indigo peak
#

im updating pool hacks

visual meadow
#

oh

indigo peak
#

to work on future versions

#

patch finder

visual meadow
#

why change then

#

ahh

indigo peak
#

idk amy said to make a patchfinder like

#

3 years ago

#

but i didnt know how they worked back then

#

i think it was amy

#

heyyyyyy

#

i made an offset finder for gamepigeon

#

👍

native orbit
#

just like 500 days later lmao

indigo peak
#

(i meaning it was my idea but saturnz helped a decent bit)

indigo peak
#

@native orbit where was bh_memmem from

visual meadow
#

yeah this is closest i got to sending a message programatically:

#
    BOOL success = [[CTMessageCenter sharedMessageCenter] sendSMSWithText:@"test" serviceCenter:nil toAddress:@"1234"];
    NSLog (@"Sending the message was %@", success ? @"successful" : @"unsuccessful");
}
native orbit
visual meadow
#

its not imessage though

indigo peak
visual meadow
#

so

native orbit
#

idc

indigo peak
native orbit
#

nah it fine

indigo peak
#

okk

#

ty

indigo peak
#

@radiant idol

#

icon or no icon

radiant idol
indigo peak
#

thats just cephei

#

not me

radiant idol
#

Cringe

native orbit
#

build 388

#

i feel the pain

indigo peak
#

oh trust me

#

there was more builds 😭

#

i deleted my packages dir

#

AND

#

this is also a rewrite

#

theres more

radiant idol
#

Jade has ~5600 builds

#

Rookie numbers

indigo peak
#

@radiant idol @native orbit in 2022 i said: "i have 1,324 builds for gameseagull"

radiant idol
#

Rookie

#

Numbers

indigo peak
#

bro wtf is this

#
NSDictionary *getPreferences() {
    static NSDictionary *preferences;
    if (!preferences) {
        CFArrayRef keyList = CFPreferencesCopyKeyList(CFSTR("com.fiore.gameseagullprefs"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost);

        if (keyList) {
            preferences = (__bridge NSDictionary *)CFPreferencesCopyMultiple(keyList, CFSTR("com.fiore.gameseagullprefs"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
            CFRelease(keyList);
        }

        if (!preferences) {
            preferences = [[NSDictionary alloc] initWithContentsOfFile:ROOT_PATH_NS(@"/var/mobile/Library/Preferences/com.fiore.gameseagullprefs.plist")];

        }
    }

    return preferences;
}
#

where did i steal this from

#

@primal perch did i take this from you

primal perch
#

Probably

indigo peak
#

real

primal perch
#

That looks like something scoob wrote

indigo peak
#

oh wait

#

i remember

primal perch
#

Not that I care

indigo peak
#

i remember

#

basically

#

when cephei wasnt updated

#

for rootless

primal perch
#

That has all my conventions tho it's ours

indigo peak
#

i yoinked a tweak that i knew worked

primal perch
#

I would always name it getPreferences and use that static dict

indigo peak
#

but i think cephei is fully updated now

#

(i hope it is 😭 )

visual meadow
indigo peak
#

@radiant idol

#

lines or no lines

radiant idol
#

Lines

indigo peak
radiant idol
#

Lines

indigo peak
#

bet

#

thanks

acoustic imp
#

lines porfavor

acoustic imp
#

i fg what thoes things are called

indigo peak
#

placeholder

acoustic imp
#

yes

#

idk, i jus think it would make it a little more intuitive idk

indigo peak
#

@radiant idol

#

so after reading docs

#

the icon is for the condensed mode

#

which is that

acoustic imp
#

404

indigo peak
#

@radiant idol @acoustic imp which banner

acoustic imp
#

right one (no icon)

indigo peak
#

n also, should it be GameSeagull or gameseagull

acoustic imp
#

make it consistant across everything

#

so the deb/package name

#

settings cells etc

indigo peak
#

so GameSeagull

#

got it

indigo peak
#

alr ty

tough shadow
#

I fixed a bug in my tweak where it crashes your apps

#

Turns out it was a plist file

indigo peak
#

@radiant idol what should placeholder text be for winspoofer

#

"..."?

#

Bc I feel like anything is too repetitive yk

tough shadow
#

Its fixed

#

I tested it

#

Now it doesn't crash your app

#

thanks to derootifier

#

for converting to the supported version

#

should I release it?

timid furnace
#

hello Swift question

#
var abc: Bool {
   // blah blah blah
}

is this evaluated every time i use the variable, or only once?

#

welp

#

ok

#

yea you're right

#

simple solution though

#
var abc = {
   // blah blah blah
}()
#

just evaluate the closure

#

ez

#

i declare a closure but immediately evaluate it, and set the variable to the result

indigo peak
#

i cant get placeholder to work in PSEditableTableCell

timid furnace
#

because i dont need to check for rootless every 0.1 seconds

indigo peak
#

why do prefs neber work for me

timid furnace
#

there is no init

#

well i could probably add an init but idk swift

#

wait

#

i dont even need a computed property

#

bruh im stupid

#
#if os(iOS)
let rootless = FileManager.default.fileExists(atPath: "/var/jb")
#endif
``` ez
#

ok problem solved

acoustic imp
timid furnace
timid furnace
indigo peak
#

apparently setPlaceholderText doesnt exit when it does in the header

#

💀

hexed knot
#

This would not help

timid furnace
#

yes

#
#if os(iOS)
let rootless = FileManager.default.fileExists(atPath: "/var/jb")
#endif```
#

same shit

indigo peak
#

basically im updating gameseagull and making the winspoofer prefs display the actual number of wins in the placeholder

timid furnace
#

yes i already posted this mf

indigo peak
#

oh whoops

timid furnace
#

anyways problem solved

#

ez

indigo peak
#

well anyways

#

i have access to the wins stored in a nsstring

#

but i cant figure out the placeholder text

#

like in the plist if i do <key>placeholder</key> that works

#

but nothing inside the .m works

timid furnace
#

look at line 54

hexed knot
#

What are you making

timid furnace
#

me?

hexed knot
#

Yeah

timid furnace
#

ellekit 1.1.1 update

hexed knot
#

Type shit

timid furnace
#

need to stop unconditional 2GB log file generation

#

because the line for checking the marker file to enabling logging got removed

#

so it was unconditionally logging

#

in a bunch of places

hexed knot
#

I havent seen evelyn in a while

timid furnace
#

she's active on twitter

#

but no longer on discord

indigo peak
#

wait i might be return

timid furnace
#

@indigo peak how are you constructing PSEditableTableCell

#

oh

tough shadow
#

Mud - Mud is life

timid furnace
#

when all else fails just look at github results for PSEditableTableCell

indigo peak
#

GOT IT

#

ok so the theos definition for pseditcell thingy doesnt have set placeholder

#

so i had to add

@interface PSEditableTableCell ()
- (void)setPlaceholderText:(id)arg1;
@end
#

and then, for some reason
NSString *wins = [dictionaryContents objectForKey:
was a __NSCFNumber and not a NSString

#

so it was crashing when i called setPlaceholderText

#

bc it was trying to call -[__NSCFNumber length]

tough shadow
#

Yooooo

#

I am making a tweak

#

Called Mud

radiant idol
#

what is it gonna do

indigo peak
#

@grave sparrow

#

:D

#

gonna text align to the right

#

@radiant idol

#

left or right align

tough shadow
radiant idol
radiant idol
#

that'll cause issues

#

Theos handles it for you

indigo peak
tough shadow
#

okay

indigo peak
#

^

radiant idol
#

what's your tweak gon do?

indigo peak
#

THEOS_PACKAGE_SCHEME=rootless

tough shadow
radiant idol
#

ok but actually

#

im curious

tough shadow
radiant idol
#

what 😭

#

ok lol

tough shadow
radiant idol
#

what

tough shadow
tough shadow
radiant idol
#

you dont have to ping for every message :)

tough shadow
indigo peak
indigo peak
tough shadow
radiant idol
#

piss off fiore

indigo peak
#

@radiant idol sorry

#

ok ill stop now

radiant idol
#

you son of a

tough shadow
radiant idol
#

debugging ios 17

#

.

tepid olive
#

ios

radiant idol
#

also what is that font oh my goodness

tepid olive
#

iOhS

tough shadow
radiant idol
#

you

#

dont

#

have

#

t

#

o

#

ping

#

every

#

message

tough shadow
#

I wont disturb

#

Will be working on mud

#

See yall

radiant idol
#

amazing

#

show us progress updates

tough shadow
tepid olive
#

fuck kfd

slender glade
tepid olive
#

kernel file descriptor?

#

more like kernel fucker descriptor

tough shadow
indigo peak
#

whats the rule for piracy in tweaks
like if theres a method for example -[Class hasPaidItem] and hook to always be true thats piracy
but what if -[Class hasPaidItem] sets a bool in the apps preferences called userHasPaidItem and then instead of actually calling the method to do that, i just write the file myself. is that piracy?

tepid olive
#

pircay

timid furnace
indigo peak
#

no bc i remember at one point cam told me there was a difference

timid furnace
#

¯_(ツ)_/¯

indigo peak
#

ok i trust capt more than nightwind

timid furnace
#

cam would have the best response then

#

i agree with right as well

#

left doesnt make sense

indigo peak
#

but it was like 3 years ago

#

so i dont remember exactly what was said

#

all i know is i was walking into school while he told me

tough shadow
indigo peak
#

true trollstore gameseagull is legit just reuploaded gamepigeon

#

troll

timid furnace
radiant idol
indigo peak
radiant idol
#

why would you trust CAPT

indigo peak
#

ok its 3 to 1 tho

#

3 said right

#

and 1 said left

#

and you were the 1

radiant idol
#

it looks bad in terms of iOS standards smh

indigo peak
#

this is my first time actually typing on my actual keyboard in so long

timid furnace
indigo peak
#

ive been on my mac for the past week

radiant idol
timid furnace
#

how does a giant gap on the right look good

radiant idol
#

how does a giant gap in the middle look good

timid furnace
#

because it looks aligned??

radiant idol
#

no

#

we will agree to disagree

timid furnace
#

ok

#

🤝

#

i think we can agree on

radiant idol
#

yessir

#

swift sucks ball

#

s

indigo peak
#

ok fuck yall

#

im centering it

radiant idol
#

WHY

kind herald
#

no swift

timid furnace
#

threads need icons fr

radiant idol
#

for real for real

tepid olive
#

swift is so weirdly like rust

#

A rust enthusiast told me they have a long history of stealing features from each other

#

¯_(ツ)_/¯

cloud yacht
#

You can use uri schemes to call them

fluid lintel
#

Good morning Guys but has palera1n become compatible with arm64e? Don't exploit checkm8 which was solved by A12+?

indigo peak
#

@grave sparrow @radiant idol do you fw the icons or nah

slender glade
#

i fw them

drifting heron
#

same

lime pivot
#

I definitely firmware them

#

looks nice

lime pivot
harsh junco
#

Kirb > fw

lime pivot
#

program says you must pay to have these features
you didn't pay but you have these features
what is that called if not piracy?

#

it being a poor implementation doesn't mean you aren't still bypassing it

placid kraken
granite frigate
#

if there is a paid option and you're using the tweak to allow these options without paying then yeah it is

indigo peak
#

are all of them good?

#

like are there any I should change

turbid fjord
#

The others are good

indigo peak
#

I couldn’t think of anything else

turbid fjord
#

It looks like light mode dark mode symbol

#

So I can see it getting a little confusing

acoustic imp
#

how can i see if the LS media player is still showing/visbile ?

#

musicbackground has a way but ETHN doesnt want to respond

faint stag
#

lol

indigo peak
acoustic imp
#

i mean im thinking if a few ways of telling

#

seeing if the pllayer is hidden or theres sm bool on sm view that says, or theres a method that gets called when it hidden

#

i just need to find it

#

just need to figure out how to figure that out

serene hawk
# acoustic imp just need to figure out how to figure that out

basically MRMediaRemoteGetNowPlayingInfo( dispatch_get_main_queue(), ^(CFDictionaryRef result) { if (result) { NSDictionary *resultDict = (__bridge NSDictionary *)result; NSData *artworkData = [result objectForKey:@"kMRMediaRemoteNowPlayingInfoArtworkData"]; UIImage *artworkImage = [UIImage imageWithData:artworkData]; } });

timid furnace
#

oh man

#

i remember this api

timid furnace
#

it's on macOS as well

serene hawk
#

is it that bad xD?

timid furnace
#

it's garbage

#

the times don't update properly

#

sometimes one field will update, sometimes another field will

serene hawk
#

you mean like the elapsed / remaining times?

timid furnace
#

yup

#

but it's not elapsed/remaining

#

it's like

#

lemme check

serene hawk
timid furnace
#

you get elapsed time & timestamp

serene hawk
#

why is this: "kMRMediaRemoteNowPlayingInfoTitle" returning the title with a bullet point like if you try to get the artist via kMRMediaRemoteNowPlayingInfoArtist it returns nil iirc

serene hawk
timid furnace
#
kMRMediaRemoteNowPlayingInfoTimestamp = "2024-01-28 17:34:30 +0000";
kMRMediaRemoteNowPlayingInfoElapsedTime = "1.553";
kMRMediaRemoteNowPlayingInfoDuration = "174.853";
serene hawk
timid furnace
#

so you basically have to manually calculate it

radiant idol
hasty ruin
radiant idol
serene hawk
timid furnace
#

seconds

serene hawk
#

ahh alright i thought this was like 174 thousand secodns lol

timid furnace
#

lol nah

torn cloud
#

feel free to contribute to this pile of garbage

#

thanks

radiant idol
#

someone make an alternative media API so i dont have to use mediaremote ever again pretty please thank you very much

#

ofc it delays the swipe by one frame as well

acoustic imp
torn cloud
acoustic imp
indigo peak
#

@faint stag

#

that good?

radiant idol
#

no protection when in hard mode ✅