#development
1 messages Β· Page 221 of 1
?
Something like this
@interface SBFLockScreenDateViewController : ViewController
%
@property(nonatomic, strong) NSTimer *sm_timer;
@end
I typed this on phone
IT WORKED
both
π₯
Btw, u can use iOS sim to test tweaks n stuff
i never got tweak injection working
Itβs a simple script ?
Git clone
./install.sh ?
can i ssh to a device using usb tethering?
not an apple device
its a watch running on android
π
answer π‘
not a yes :/
it crashed the sim
what macOS/ios v
16.5 on sonoma
is it a bad idea to name a tweak secTuah
it should work fine, try again. jus do that
sudo xcode-select -s /Applications/Xcode.app git clone https://github.com/akemin-dayo/simject.git cd simject/ make all
then ./install....
should work
nobody's stopping you lol
what would that do
lstimeseconds16 doesnt already do that or is urs more efficient?
idk i went ro its github
k
also wtf it thought objc didnt have switches () π‘
yea that tweak does a heck of a lot
wth
they do they just need breaks unlike swift
i used them in lock master for some reason
i need them in PopOutButtons.
was told this was best way smh
Lookin ahh
π
do u do this multiple times?
or is it just a one time thing here
One time thing
Itβs for no respring prefs
Without like value for keying etc etc
I think itβs more efficient and I kinda wanted to try it
An it works great
Itβs os
like this?
NSDictionary *sliderMapping = @{
@"volUpButtonYOffset": ^(CGFloat value) { volUpButtonYOffset = value; },
@"volUpButtonSizeOffset": ^(CGFloat value) { volUpButtonSizeOffset = value; },
@"volDownButtonYOffset": ^(CGFloat value) { volDownButtonYOffset = value; },
@"volDownButtonSizeOffset": ^(CGFloat value) { volDownButtonSizeOffset = value; },
@"lockButtonYOffset": ^(CGFloat value) { lockButtonYOffset = value; },
@"lockButtonSizeOffset": ^(CGFloat value) { lockButtonSizeOffset = value; },
@"volUpCurvedness": ^(CGFloat value) { volUpCurvedness = value; },
@"volDownCurvedness": ^(CGFloat value) { volDownCurvedness = value; },
@"lockButtonCurvedness": ^(CGFloat value) { lockButtonCurvedness = value; },
@"globalBorderWidth": ^(CGFloat value) { globalBorderWidth = value; }
};
no like the normal way to do prefs, call like updatePrefs() {
pref = prefbundle
BOOL bool = [pref valueForeKey:@"somePrefValue"]
}
mhm
working on figuring out to know when AOD is on
u said u didnt try anything yet right ?
what?
iv mostly got it figured out now just finding the best way to know
i meant if its active
ive found it uses states
wdym by states
ok then check if 2

what
thanks for that insight
what part are u stuck on then
im not stuck π
i love how ios has like three dif states for the like same thing, that all have dif nums...
thanks apple
thanks apple
you cant switch on anything but numbers in objc
oh.
why wasnt this recomened before 
ok ill dumb it down
no i got it now
i cen send u what ive found out
what are you trying to do
or il probly out this tweak on gh s0n
get seconds to work with AOD?
hide the seconds in AOD mdoe
or are you just gonna pull an apple and do
nah, jus gona hide them

12:42:--
chat im ripping my fart
disgusting
disgusting
Sorry
chat im ripping my fart
hooray
fucking peak congrats
thx π
Now animate the transition 
π
now fix aod being weird on aod 1hz mode thing (where it predicts the future)
might be possible (responding to hydrate)
If you can somehow defer the transition to 1hz when it's going AOD then
Should be doable
what typa transition
would a fade work 
like fade out, change, fade back in
or a fade change
idrk animation
anyone have and ios 16 dylid_shared_cache they wana send me 
Anything that makes it not just snap into returning to second-less time and vice versa
i got it off device
i do
how do i pull it 
π
i have one
send π
one? it's multipart
i have 16.0 dsc
dylid_sharde_cache ππ
thats proly fine
is 16.0 not multi

it is
oh right
dylid_shart_cache ππ
could i just steal the sims ?
what bin do you need from it
its too big to zip and send
go for it
now rewrite it in swiftui
id rather die
how big is it
kinda personal ngl
i hate this server
3.31 gb unzipped
π₯
There is no off topic channel. idiot
π
yeah ik but how much did it get compressed
Itβs called general.
i was talking about the theos server you IDIOT
it is not what it used to be.
good
What the fuck
yeah since alexa and tim left it's a bit more sane
stupid cat
sadly
get it .04 gb smaller
π
send π
i could also just split the zip file
yeah true
if you get it under 1gb you can use this https://litterbox.catbox.moe/
Unlimited temporary file hosting.
cat:
why would tesla be there
nope
fr
@acoustic imp where do you live, ill stop by and airdrop it to you
balls
π
okay now i'm sure this could never be ono
idk..
whatr
Unfortunate
idk icraze hates me or sm
@acoustic imp did you write an application
i can say slurs can i get in ono
yea like 2
are you an orange name
im not
that doesn't really matter anymore
i know how to orange name but i haven't made any ios tweaks thingies
well
fr
@indigo peak https://1drv.ms/f/s!AnnRDIbpAvsPjflHx5iuXhO4ILaZ3g?e=bz7msX send it here
dm pass
can i have pass ?
69420
u get 3 gusses
tesla_man
no
icraze
icrazeballs
:/
he said three gusses not three guesses
its simples asf

it's 3 gusses
no
is it ono

is it balls
its ono
no
hi π π¨
its bibi
is it secTuah
its aaron
is it sectuah
@reef trail somehow the 1.04gb file works on litterbox
π π¬οΈ
what are you talking about
ilovethefrenchbecauseismell
oh nice
no.
what
nothing
what are we guessing
balls
password
no
its your name
of what?
no
its gir
y would i give that to firoe
its 16p
is it rjb
its 16player
its rjailbreak
no
its discord
its not this complicated...
is it password
its no
you guys are thinking way too clearly, introduce a few spelling mistakes and see if that's the password
its 123
close but no
its ppsawrod
no
its 1243
69420
its 124
1234
Thanks. DOwnloading now and hackleing your device.
i alr said no
if anyone needs to download iOS 16.0 dyld_shared_cache for the next 1 hour
this is so slow wtf
slow az website
it's free
is it orange
wtf screenshot
is it development
is it 1
no
π
wana hint
yes
night said the first part at some point
oh
123?
lets goo
it's 1234567890
lmfao
gota sign into upload tho :/
please
ill even buy u premium
flex
yes
?
is it 100% fine
that's actually peak ngl
ikr
@acoustic imp Project Idea: Use openai api to remake grammarly
(grammarly is fucking ass)
iOS 15+ they started splitting the dsc up
(i think 15)
Yea
i wana see how a method works
Is there a way to extract usable libraries from the shared cache
if you have ida 9 you can just open the dsc and choose what framework to load
Specifically for earlier versions
k i do 
or you can just go to my headers site and look for the bin and then open in ida
how much "earlier"
Prior to ios 11
And when I mean "usable" I mean files that can actually be used on-device
I know it was done before with siriport back during the iOS 5/6 days
is there a like way to know what this memory is?
i think i kinds understand but idfk
is that ida?
ye
thx
the bins on my headers dont have that
oh
@torn oriole
hows this, CC @indigo peak, btw how do i do pref in the sim?
i think it looks good
π₯
@visual meadow u use seconds right? would u use this ?
also need a test device
Yeah but i dont use aod
oh ok
I can later
On my iphone x
I dont really feel like getting rid of it on my 14 pro
@acoustic imp
wanted to RE it then got flashbacks to this #jailbreak message
never reading RE'd teslaman code again
@sturdy hare
what π
dont you remember?
ye
good
ohhhh i rememer
What should I look out for?
malware
uhh it just ads seconds to the time and should hide when in AOD mode
%hook SBBacklightController
- (BOOL)shouldTurnOnScreenForBacklightSource:(NSInteger)arg0 {
if (arg0 != 3) {
return %orig;
}
showSeconds = true;
// [redacted...]
return %orig;
}
- (void)_notifyObserversWillAnimateToFactor:(float)factor source:(NSInteger)source {
%orig;
if (source != 3) {
return;
}
if (factor == 1) {
showSeconds = true;
} else {
showSeconds = false;
}
// [redacted...]
}
%end
ur right
no balls
i wont
Will it interfere with jellyfish r?
we will find out shortly
Oh ok
bro i dont remember the codebase for jfr
the seconds were hacked tg on the last build
@indigo peak @radiant idol ^
i feel there should be a different animation for jellyfish tho
no make the seconds fade out properly
this looks doo doo
do better
π
i cant rly
send the code
can u animate UILabel changes easy ?
oh no
nah bc of how jellyfish works
I can rootless patch it
no its broken
Oh
idk i spelled somthing wring
LMAOOOOO
LOL
this is right right? make package FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=rootless
why am I not surprised
i think *
oh so i just sent the wrong file
stupid
unsurprising smh...
im a chariz kinda guy
pp

Uh yeah I think it interferes
@radiant idol if our art skills are separated the same as our coding skills, you're in for a long night of critiquing π
can u jus disable it rq
Jellyfish?
please no
not again
what happened
nothing :)
fiore show him the stuff i had to critique
β
remember the old calculatorhistory icon
cant be that bad
AAAAA
and then i just randomly thought of the new one
it was awful.
Workles
leme see
i helped you fix it
you amnesiac
:yawn:
what π
how the fuck do u have battery eta on 16.x
Tweak
im gonna start tweak ing
@radiant idol @acoustic imp
Wish I could use jellyfish with sectuah
horrible
show him the new one
best circle ever
I could make a better design my ocpd can take over for me
eh, ai isnt rly good at icon i dont think
it is
@acoustic imp
?
my icons are so much better
if it can do realism it can do good logos too
i just cooked it up randomly one day
not bad
I hate people who donβt put time into icons. It just makes me think itβs lazily developed and poorly put together.
alright
if you think that
make me one?
not all of us are artistic
u fr?
All of my tweaks didn't have icons for quite a while due to my lack of skill
Even noe they have shit icons
if you can't pattern match in your language then if/elseif is the same to a compiler, i.e. a smart compiler can optimize to a binary tree or lookup table, EVEN if you write a if/elseif chain when a switch would be appropriate
don't prematurely optimize by writing your own table implementation or something until you know its worth it (by measuring such as benchmarking or profiling)
what tweaks are those?
many developers see an if elseif chain and immediately say you write terrible code but they don't know what they're talking about
ok, thanks for this π
π
me when I reverse engineer the compiled binary and see horrors beyond my imagination
fun fact: AI is just a bunch of if statements
fun fact: that's... not true
How so
AI uses high-dimensional vectors to represent tokens and predicts the likelihood of the next token that way
It does not think or anything
Falseβ¦
It's just a mathematical model to predict tokens
becauseβ¦ it isβ¦.
thats just
over simplified
idk how to say it
i think you know what i mean
I do not
well, yes, the human body is just a bunch of atoms
so is ai, a bunch of if statements
but the atoms have to be something
they cant just
be atoms and do nothing
The point is
An LLM interpreter (?) certainly contains some if statements but that's not what makes it an interpreter
It's not the thing giving it its functionality
that was already posted
false
how do i hook onto the status bar time?
it seems like all status bar labels are part of the same class
_UIStatusBarStringView and setText:(NSString) or setOriginalText:(NSString)
but that also changes the battery
check if string contains : then set if true
u could set obj class
i cant rly help tho atm
still didnt work
All of the ones on my repo (https://repo.shorty.systems)
neither of these seem to do anything
try hooking setText
are you trying to add seconds ?
if not
try hooking this
_UIStatusBarDataStringEntry
i will later
hol up
so setting alternate text works
but then every minute it reverts for like 10 seconds
it calls weirdly
it sets the text property and ignores originalText unless setting alternate text
but setting showAlternateText doesnt seem to force it to work
i mean you could just replace the UILabel
like remove it from superview, then subclass it and overwrite setText method
might work
@wind ravinethis works ```objc
%hook _UIStatusBarDataStringEntry
- (id)stringValue{
NSString *orig = %orig;
if([orig containsString:@":"]){
return @"text";
}
return orig;
}
%end```
i can try some other stuff so ur not doing stry comparisons
this works aswell, and i would use this instead
@interface _UIStatusBarDataStringEntry : NSObject
@property (nonatomic, assign) BOOL isTimeEntry;
@end
%hook _UIStatusBarDataStringEntry
%property (nonatomic, assign) BOOL isTimeEntry;
- (id)stringValue{
if(self.isTimeEntry == YES){
return @"hh";
}
return %orig;
}
%end
%hook _UIStatusBarData
-(void)setShortTimeEntry:(_UIStatusBarDataStringEntry*)arg0{
%orig;
arg0.isTimeEntry = YES;
}
%end```
@wind ravine ^(mb for double ping)
@radiant idol , containsString or this ^
doesnt work on se
how would it be any dif π
try this ^
idk it just doesnt
when i look in flex it uses ui string value
uhh
Thereβs a way to check if itβs a time thing
bruh
I donβt remember what it is off the top of my head
oh wait
ok ill figure it out tmrow
does it flip back and forth?
no
ye it keeps doing that
it shouldv been hh
that didnt change
Donβt remember that exactly
yea i did, we wana replace text
i thought thats old
ye i wanna repace text
r u saying replace the text view with a subclassed one?
i recomened that
i mea it could work
@wind ravine fixed it all ```objc
@interface _UIStatusBarData : NSObject
@property (copy, nonatomic) _UIStatusBarDataStringEntry *timeEntry;
@property (copy, nonatomic) _UIStatusBarDataStringEntry *shortTimeEntry;
@end
@interface _UIStatusBarDataStringEntry : NSObject
@property (nonatomic, assign) BOOL isTimeEntry;
@property (nonatomic, copy, readwrite) NSString *stringValue;
@end
%hook _UIStatusBarDataStringEntry
%property (nonatomic, assign) BOOL isTimeEntry;
- (id)stringValue{
if(self.isTimeEntry == YES){
return @"hh";
}
return %orig;
}
%end
%hook _UIStatusBarData
-(void)setShortTimeEntry:(_UIStatusBarDataStringEntry*)arg0{
arg0.isTimeEntry = YES;
%orig;
}
-(void)setTimeEntry:(_UIStatusBarDataStringEntry*)arg0{
arg0.isTimeEntry = YES;
%orig;
}
-(void)_applyUpdate:(_UIStatusBarData*)arg0 keys:(id)arg1{
self.timeEntry.isTimeEntry = YES;
self.shortTimeEntry.isTimeEntry = YES;
%orig;
}
%end```
ok i going to bed
@radiant idol https://discord.com/channels/771865917294379030/793484694024355850 "replace time text in status bar" 
teslaman you are one of the only people that I have seen that uses %property this much π
i β€οΈ %property
also is that a bad thing ? 
@grave sparrow I need an opinion, is using %property a lot bad ?
Ok thx π
Iβm proly trying to jus get around oop principles
Dyldex for iOS 18
Note: this doesn't only support iOS 18. This extends dyldex's support from iOS 13-16 to iOS 13-18
pip3 install git+https://github.com/donato-fiore/DyldExtractor.git- ???
- Profit

does it work for older as well? or just iOS 18
it should be 16-18?
nice
not sure what dyldex could do
just wondered to what versions it would extend dyldex to
it should extend dyldex to iOS 17 and 18
Do I have to use hopper for this?
No, thereβs a python cli tool
So I run setup.py build then install?
capstone 4.x could not be found
I am sure I have it
What's the issue
probably a python env issue
create a virtualenv for the project with python3.7+. Use the venvβs pip to install requirements.txt
After I'll resolve it all I need to do is run main.py?
What are you trying to do
the analysis backend is hosted on a public api, thatβd probably be easier for you to use if youβre just trying to see hook details
this script is a reference for using the api with a local binary
yea this works
nvm it randomly returns to normal
Probably
Ugh, there like a few other functions that can be called to edit data, hook them and set the isTime book thing to yes
it seems to only revert on the home screen
Odd I donβt have a test device other than the sim, it seamed to work for me
Want me to write it rq?
@wind ravine oh well, heres it applying in some of the other funcs, make sure to add the new method to headers and prefix it```objc
%hook _UIStatusBarData
-(void)setShortTimeEntry:(_UIStatusBarDataStringEntry*)arg0{
[self applyIsTimeEntryToTimesEntries];
%orig;
}
-(void)setTimeEntry:(_UIStatusBarDataStringEntry*)arg0{
[self applyIsTimeEntryToTimesEntries];
%orig;
}
-(void)_applyUpdate:(_UIStatusBarData*)arg0 keys:(id)arg1{
%orig;
[self applyIsTimeEntryToTimesEntries];
}
-(id)updateFromData:(id)arg0{
[self applyIsTimeEntryToTimesEntries];
return %orig;
}
-(void)applyUpdate:(id)arg0{
%orig;
[self applyIsTimeEntryToTimesEntries];
}
-(id)dataByApplyingUpdate:(id)arg0 keys:(id)arg1{
[self applyIsTimeEntryToTimesEntries];
return %orig;
}
-(void)makeUpdateFromData:(id)arg0{
%orig;
[self applyIsTimeEntryToTimesEntries];
}
%new
- (void)applyIsTimeEntryToTimesEntries{
self.timeEntry.isTimeEntry = YES;
self.shortTimeEntry.isTimeEntry = YES;
}
%end```
i wouldve, i jus dk ur tweak
its on github
oh ok, link ?
if its OS/released would u mind jus saying i helped or wtv
its fine if not
also you might want to change sm_timer
sm is justa prefix, you should change it to liek "litt" or somthing
also
think about adding a .h file
i mean id do it?
il make a pr or sm
im on 16.1.1
i copied and pasted ur code lol
i saw lol, il fix it
u can add in a pr i didnt know ur github
TeslaMan3092
could u jus add me as colaborator or sm
ye
also its not exactly 1 second, its more like 1.2 seconds for lightning time
idk the exact update speed
also for some reason #define doesnt work on theos
does this
its 1 second? you could make it less
i made it 0.6 but didnt commit
this is 0.6
btw
oh.
il mess with it later, gtg rn
il push before i go, jus can u fix perms
should be
ik i added to gitignore but it wont delete
thx
ill clean up some prefixes too
@wind ravinefound better way to to status bar, works on home button and not
no silly little glitches
new hook?
yea
%hook _UIStatusBarTimeItem
- (void)_create_timeView{
%orig;
self.timeView.litt_isTimeString = YES;
}
- (void)_create_shortTimeView{
%orig;
self.shortTimeView.litt_isTimeString = YES;
}
- (void)_create_pillTimeView{
%orig;
self.pillTimeView.litt_isTimeString = YES;
}
%end
%hook _UIStatusBarStringView
%property (nonatomic, assign) BOOL litt_isTimeString;
- (void)setText:(NSString *)text{
if(self.litt_isTimeString){
%orig(getFormatted(false));
return;
}
%orig;
}
%end```
%property !!!!!!, CC @radiant idol
also, u were importing unnecessary thing
removed thoes
so many properties
whats it do
@acoustic imp so how did you setup simject again?
he's following my new writeup
"The state of simject in 2024"
hang on
where is this
thanks just got it
@indigo peak how do u get FLEX for simject
oh
FINALLY
teslaman basically took over my project lmao
I used the older one, Mac OS 15.1.1 and 18.1 donβt need it
fiore sent it
ah
Latest Mac OS :/
Idk why they did all the shit for resim jus alias it in zshrc
Thatβs what I did
Works great
@radiant idol btw if u have multiple open ur do βresim allβ to do it
Also I can send my script if u want
By gpt ofc
ty
for what
Grabs dylib and plist drops in opt⦠resims all
Gime a min bc not at mac
It always was π
I used it on my mac vm a couple of times
skill issue tbh
true
worked first try for me
u proly didnt have python 3.9 lol
setup:: clean all package
@echo "Copying files to simulator..."
sudo cp .theos/_/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).dylib /opt/simject/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).dylib
sudo cp .theos/_/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).plist /opt/simject/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).plist
@echo "Respringing simulator..."
resim
make setup
script in all its AI glory```
#!/bin/bash
Make
Find all .plist files in the current directory
for plist_file in *.plist; do
# Ensure we actually found a .plist file
if [[ -f "$plist_file" ]]; then
# Extract the base name without the extension
base_name="${plist_file%.plist}"
# Define the source and destination paths
dylib_path=".theos/obj/iphone_simulator/debug/arm64/${base_name}.dylib"
simject_dest="/opt/simject/${base_name}.dylib"
plist_dest="/opt/simject/${plist_file}"
# Check if the dylib exists before copying
if [[ -f "$dylib_path" ]]; then
echo "Copying $dylib_path to $simject_dest"
cp -f "$dylib_path" "$simject_dest"
else
echo "Dylib $dylib_path does not exist. Skipping."
fi
# Copy the plist file
echo "Copying $plist_file to $plist_dest"
cp -f "$plist_file" "$plist_dest"
else
echo "No .plist files found in the current directory."
exit 1
fi
done
Execute the specified command
resim all > /dev/null 2>&1 &
echo "Operation completed."
oh.

and like 19034848 times shorter
it jus uses $(TWEAK_NAME) i didn't know u could
is it bash script ?
TWEAK_NAME = Tweak
PREFS_NAME = TweakPrefs
deploy:: clean all package
@echo "Copying files to simulator..."
sudo cp .theos/_/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).dylib /opt/simject/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).dylib
sudo cp .theos/_/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).plist /opt/simject/Library/MobileSubstrate/DynamicLibraries/$(TWEAK_NAME).plist
sudo cp -r .theos/_/Library/PreferenceBundles/$(TweakPrefs).bundle /opt/simject/Library/PreferenceBundles/$(TweakPrefs).bundle
sudo cp .theos/_/Library/PreferenceLoader/Preferences/$(TweakPrefs).plist /opt/simject/Library/PreferenceLoader/Preferences/$(TweakPrefs).plist
@echo "Respringing simulator..."
resim
boom
pref support
oh.
no goes at the bottom of makefile
oh
someone could maybe make a Theos PR
u went way too hard on a tweak nobody is probably gonna use
from like 2021
mines jus
term: compMvToSim
in any tweak so
i like mine
i know, i was borded tbh
i just gotta do
make deploy
what the hell does that mean
computer move to simulator
what
same, thats why i did this
deploy ?


i type comp, tab, tab, enter and im good
ah
cool
@radiant idol also have fun with color picker
unless u do ur own 
im not really gonna be making big tweaks on this
oh.
it was more so as a poc
and also checking stuff with FLEX because iOS 18
also
does urs do status bar ?
mine does not 
i made a tweak that shows it after SB load
no i just use the zoom gesture
how do i do it
i literally told you
option and hold screen
@acoustic imp
i tried π
knowing you you probably did it wrong
i'll check it later im tired
i did π
did u not see it at the begining
works for night
im on track pad ?
well like normal mouse
i need to learn siminject stuff
i have an old one
not much to it
gime back my statusbar gesture 
i did all my testing by airdropping my debs to my jailbroken phone
I did this for the first 3000 debs of OneSettings before I got fed up and started using ssh
wheres that one message
π
me to tho
cant lie
i get mad bc i have to type the pascode
the thing dont work for me
fricking dopamine ssh doesnt know what plaent its on
and uses the wrong keys file thing
idfk
ksy
im only getting fed up with sileo's constant crashing
and having to reairdrop again because of that
use make do THEOS_DEVICE_IP=(your jb devices ip, u need root ssh enabled to btw)
@acoustic imp @radiant idol when yous get the chance
(updated)
what is this π
THEOS_DEVICE_USER=mobile or something π
WHAT
theos template for sim
ah
bros gonna go insane
R U SERIOUSE I SPENT A WHOLE DAY TRYING TO FIGURE OUT WHY IT WOUDLNT WORK
i needed rootful enbaled
it is a thing and I did use it in the past
my device doesnt have wifi

