#development
1 messages · Page 162 of 1
Capt you don’t get to be calling cap when zefram probably doesn’t even exist 
Ok prove it by dropping $(which zeframctl)’s binary in chat rn 
its real i have it
right here #development message
Nooo I don’t want to fork bomb myself again
I fork bombed a vpn
VPN?
Vm
Until I get zefram no way am I running capt code unsandboxed 
just make ur own zefram clone in asm
I’d rather jump out of a plane without a parachute straight into Tim cooks office
No I like assembly
I don’t like the idea of the amount of effort it would take

Three years old and still no github.com/captinc/zefram/releases

@faint stag you know a bunch about objc memory management right
[string "objc.src"]:0: over-releasing
wtf is it talking about
(calling NSAutoReleasePool release from lua)
object is getting more release messages than retains
lol
^
tf
how is that even happening
I thought after calling new on nsautoreleasepool that it does automatic counting for you
and then release releases it
isn't it drain
idk
yeah lol
might just have to stick to manual reference counting for now
which is kinda a pain
actually wait
I think the library I'm using implements it with lua's garbage collector
me when stupid
[string "weatherhandler"]:0: attempt to compare table with number
wait I'm not even sure where that's happening
you should use drain in the case of autoreleasepools though
- drain
In a reference-counted environment, releases and pops the receiver; in a garbage-collected environment, triggers garbage collection if the memory allocated since the last collection is greater than the current threshold.
ah
Is there any opensource tweak that involves changing the color of the text in the statusbar
I planned on doing it myself
Not exactly sure where to start
textColor is a property of UIColor
That's about as far as I've gotten
I made some progress
-(void)setTextColor:(UIColor *)arg1 {
if([text containsString:@":"] ) {
%orig(systemGray);
} else {
%orig;
}
}```
The issue is finding out how to set the color
systemGray is undeclared
I'm assuming if I want a different color other than grayColor than use whatever is in this list
yes
u can also do
(one sec)
[UIColor colorWithRed:0.039f green:0.518f blue:1.0f alpha:1.0f]```
the values are self explanitory
0 - 1
Thank you
np

methhook
fr
@grave sparrow Pinging because you probably know, but what's the standard way now to communicate from a daemon to SB? in my case, I'm hooking a daemon and want to send a message to my hook in SB
what's the standard way to do this now? XPC?
that would be xpc yeah
it's a daemon so it's best to just communicate through launchd
i’ve kinda done this before
and it’s also pretty basic, this is the easy part
the compiler is the hard part
I see, cool
the parser also only works for require statements, which means i need to make validation for everything else like conditionals, variable declaration, loops, selections, etc
👀
is it possible to have multiple XPC Services on the same daemon?
my situation is that im already hooking into a daemon, but i wanna send my own messages to SB

Photonshop
just gon dump this here bc you never know, i rewrote ch0ma's macho_enumerate_symbols function so it doesn't require any ch0ma wrapper functions:
int macho_enumerate_symbols(const char *filePath, void (^enumeratorBlock)(const char *name, uint8_t type, uint64_t vmaddr, bool *stop)) {
int fd = open(filePath, O_RDONLY | O_CLOEXEC);
if (fd < 0) return -1;
off_t len = lseek(fd, 0, SEEK_END);
lseek(fd, 0, SEEK_SET);
void* map = mmap(nil, len, PROT_READ, MAP_SHARED, fd, 0);
struct mach_header_64* header = map;
struct load_command* load_command = map + sizeof(struct mach_header_64);
for (uint32_t i = 0; i < header->ncmds; i++) {
if (load_command->cmd == LC_SYMTAB) {
struct symtab_command* symtabCommand = (struct symtab_command*)load_command;
char* strtab = map + symtabCommand->stroff;
struct nlist_64* nlist = map + symtabCommand->symoff;
for (uint32_t j = 0; j < symtabCommand->nsyms; j++) {
if (nlist[j].n_un.n_strx >= symtabCommand->strsize || nlist[j].n_un.n_strx == 0) continue;
const char* symbolName = &strtab[nlist[j].n_un.n_strx];
if (symbolName[0] == 0) continue;
bool stopSym = false;
enumeratorBlock(symbolName, nlist[j].n_type, nlist[j].n_value, &stopSym);
if (stopSym) {
break;
}
}
}
load_command = ((void *)load_command) + load_command->cmdsize;
}
munmap(map, len);
close(fd);
return 0;
}
anyone here want to try sshrd script on a ios 17 ipad
unrelated but do you know what causes [-] An error occurred when using SSHRD script with a ipad air 1st gen on 8.1.2?
12.7.3
show a screenshot of when it happens
should i just send you the terminal log
that works too
download succeeded
usb_timeout: 5
usb_abort_timeout_min: 0
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID: 0x8960
Found the USB handle.
Now you can boot untrusted images.
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
Found the USB handle.
[-] An error occurred
it cant decrypt the image
something with gaster, i dont have a ipad air 1 to try either
weird
i've restored to latest anyway
but it would've been nice if i could stay on 8.1.2
I did not write my own daemon, I'm hooking inside another. Can I just create a service on-the-fly?
oh
Yikes
I didn't want to resort to distributed notifs
but I guess that may do
Well sure but the other option is to edit launchd.plist
dictionary of info
Antoine’s pfp looks awfully familiar
a simple notif with no underlying info unfortunately won't do, I have to send a notification from daemon being hooked -> SB
No just one way
Shin Megami Tensei I (Herione)
Indeed
I don’t even know what that is wtf
Indeed however I heard it's quite expensive
Yes
well i'm not sending notifs every second or frame
so it'll do
completely imo, I do wonder what the perf hit actually is considering Apple says in the docs "it's expensive" but it's fine for my case
Not backboardd in particular but that does sound similar to what is happening here
I was considering bootstrap_check_in but I think that's a bit too much
I was implementing this, but halfway I thought, this is too much effort and could fail
LOL what
what variable is it
CS_DEBUGGED setter bypass ⁉️
lame
IPC sure is fascinating in Darwin lol
for curiosity sake, what others are there?
bet
is __xpc_is_being_debugged a struct?
oop
your mom is huge

because sshrd script wouldn't work
wdym
they made this
which is uhh
Yup that's it
not a full ramdisk
O
i made progress !!
this ```ts
require elle:io;
require elle:int@{toString};
expose op test(Int arg1, String arg2) -> String {
ret arg2 + toString(arg1);
}
op main() {
io:print("Hello World from Elle!");
}
now creates the following ast tree
wait is this even typescript
that does not look familar
😭 why would anyone do this
mate just use latest for the ramdisk, version doesn't matter
you just lost a perfectly valuable iPad on an old iOS version, and I'm gonna bet you didn't even save onboard blobs
ast tree
atm machine
real
smh my head
the issue is that
even though i have all the tokens
its really hard to actually parse them
you have tokens?
i dont hack discord accounts i hack my mac into the gay spinner of death
sorry
Lmfao
why
@placid kraken make sure to add macros like rust has
Like rust-like macros
I’d use your language if you implemented that
just use rust
no you wouldn't

Rust’s macros are the only good thing about rust
real
Fair enough
this parser is already horror
preprocessor directives are gonna drive me insane to parse
Lol
i feel like you should probably turn some of the code into it's own functions
but idk
this doesnt even recursively parse expressions yet
yeah ofc im just doing the logical part first
Or like not use rust for the compiler of a language
why not
.
why zig
no i have no idea how to use zig
Fair enough
Rust 🔥🔥
wasn't my ipad anyway
my boss wanted me to update it to latest

@steady nest i have a hypothetical for you
do you think it’s possible to fix a 7.1.2 5s’s OS that has a completely nuked partition table w/o restoring
bootchain fully intact
where’s the shut up capt gif
what syscall is that
Nvm .
gonna make my language follow the swift syntax exactly

i have a phone in basically the same position
nuked ART
so yes
without restoring? prob not
Is it jus me or does GH not work on lower iOS ?
the app should work no?
unfortunate
might just do the same to a device on latest and mess around with a few ideas there
can someone help
im rewriting the parser in a more logical format to make it more extensible
use crate::lexer::enums::Token;
#[derive(Debug)]
pub enum AstNode {
DeclareStatement {
name: String,
r#type: String,
value: Box<AstNode>,
},
FunctionCall {
name: String,
parameters: Vec<AstNode>,
},
ArithmeticOperation {
left: Box<AstNode>,
right: Box<AstNode>,
operator: Token,
},
IfStatement {
condition: Box<AstNode>,
trueBody: Box<AstNode>,
falseBody: Box<AstNode>,
},
ForStatement {
iterator: Token,
enumerator: Box<AstNode>,
body: Box<AstNode>,
},
WhileStatement {
condition: Box<AstNode>,
body: Box<AstNode>,
},
MatchStatement {
identifier: Box<AstNode>,
cases: Vec<Case>,
},
}
#[derive(Debug)]
pub struct Case {
condition: Vec<AstNode>,
body: Box<AstNode>,
}
``` in a way, i want these all to be AstNodes, however i dont think you should be able to put a ForStatement as a parameter to a function call, as an example
traits maybe?
in this case i just have a reallllllly big long vector of tokens
so traits wouldnt work here i dont think
actually i think i see what you mean
i feel like there has to be another link from SBFLockScreenDateView to the exiWall
i look thru properties and couldn't find any
but i mean this only runs like 4-5 times after respring, its better than looking thru subviews right?
Classic
why do you think its better?
Why does number of hooks impact performance?
Im going to end my life
coudlnt u jus do valueforkey ?
likeUIView *view = [self.subview valueForKey:@"(but what goes here UIImageView ?)"]
As long as im in this server dont EVER send some shitty ui hooking like that
ok 😭
%hook UIView
- (void)layoutSubviews {
should i continue?
@hexed knot then what do i do ?
theres a viewcontroller
for this view
i tried searvhing subviews in a viewDidLoad
https://gist.github.com/marcnewlin/bbdecb8c01746f267cdd187ff6ce36c1
this worked on my apple tv remote lol
i had to change line 17 from 0x0315 to 0x0314
Works too
anyone know what baud rate it runs at for serial
try and find out 
bet 115200
https://github.com/NightwindDev/Tweak-Tutorial/blob/main/no_layoutsubviews.md
Is this why this hook is bad?
I figured it was a joke
I was just curious as to why it was bad
and happened to come across that
hooking layoutSubviews should be done only when ABSOLUTELY necessary
otherwise steer away
it’s a great method when you need to layout subviews
the apple tv remote you can view over serial
with a dcsd
so whatever that uses
thats what im using
by default
the baud rate is obviously different
i just termz /dev/cu.usbserial-whatever and it worked
LOL
what do you see when you do that
is it interesting enough for me to bother
not really
@frosty gale Added this for exiwall I can send u a test build of you want
sad ok
I will glady test (:
but i dont remember much
and no capt, fiore, christian i do not hook addSubview with this
ok, do you mind joining my discord server ?
sure, send the link via dm
hey @lime pivot tryna build on linux, any idea what this is about? ```warning: direct reference to protected function $sSJ12isWhitespaceSbvg' in /home/sora/theos/toolchain/linux/host/bin/../lib/swift/linux/libswiftCore.so' may break pointer equality
this as well
the tweak itself works, but not the swift preferences
but they work fine if I compile on macos
what the
might be better to ask in the Theos server
I'm not sure what's going on there and haven't been familiar with the Linux toolchains in a while
ah gotcha
@visual meadow any idea?
That should actually be true about any method. But most people don't care about writing good software.

Yeah…
Hooking layoutSubviews in a swift tweak with Orion brings me great joy 😊
Especially loading a UIHostingController that hosts a SwiftUI view inside layoutSubviews

fr
Mind explaining how?
Hi guys. I wanna ask something about of flex. The flex doesnt show up when i tried to trigger it from sileo app
Anyone know where the spotlight swipe down gesture recognizer can be found?
found it, its the UIScrollViewPanGestureRecognizer on SBSearchScrollView
HOLY SHIT IT WORKS
ret "Hello World!" + 5 - a;
parses to
ReturnStatement {
value: ArithmeticOperation {
left: LiteralStatement {
kind: StringLiteral,
value: String(
"Hello World!",
),
},
right: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
5,
),
},
right: LiteralStatement {
kind: Identifier,
value: String(
"a",
),
},
operator: '-',
},
operator: '+',
},
}
😍
i am not doing order of operations in this lmao
is that treesitter inspired?
looks like a non lisp treesitter output
I had renamed my /var/jb/etc/ssh folder and it made a new one which didn’t have a config. So ig it didn’t like it so i just made it use the old one
Ah, okay

I thought that said push notification for a second lmao
🔥
i mean it's just a parsing issue right
surely just conver to post or prefix notation
i mean uhh push notations stack and polish notation also utilizes stacks to parse
soo
.
yeah
that way order of operations is always clear
there's no way to confuse
yeah but that’s kinda cheating imo
at that point i could turn the operations into physical ops like add(3,5) and make it even easier
ops
yes
Do not make your language unreadable
lol yeah i know
Forth:
stack based programming language
🔥
surely just do bedmas
yes but
but

https://github.com/acquitelol/elle/blob/master/src/parser/statement.rs#L179-L211 this is the function to parse arithmetic
it’s not as easy as just applying some magical order of operations
it’s all recursive so it’s super confusing
Just copy paste from lua 
essentially how it works is, if you have an arithmetic operator token, it gets every token to the left and every token to the right and parses them recursively
Find it
Copy paste
yeah binary tree
Problem solved
so for example if you do 5 + 5 + 3
it gets 5 to the left and parses it as a literal
it gets 5 + 3 to the right, and parses it as a new operation, so then you get 5 which is parsed as a literal and 3 which is parsed as a literal
so in the end you get an operation with the left being 5 and the right being an operation with the left being 5 and the right being 3
yeah a binary tree
wait but wouldn't that just means it parses rtl with no regard for bedmas
not rtl, ltr but close enough
im gonna implement this ofc
but the parser is soooo confusing
i think that’s only because it’s in rust
bidmas is important
im sure i could be just fine if i wrote an ast in another language i know better like ts
lol yeah i know
uhh is it
lua’s parser is probably completely different
if you are able to think about the steps logically it should be doable in rust
yeah you would think so
but rust wants recursive nodes to be in a Box<> and you can’t create links between different nodes as easily
i’ll figure out order of operations eventually i guess
i mean yeah otherwise it would end up in a infinite loop and you would need infinite space to store a node
wym by link tho
isn't a box enough
lol yeah i know why it’s just another thing to think about
i mean like, if statements and function calls are all astnodes, which means that currently the parser won’t scream at you if you put like, an if statement or a while statement as a parameter to a function because it passes the check
can't you use a enum for that
the only way i can “link” them is to manually match the node that’s about to be put into the parameters vector and make sure it’s one that can actually be there
lol i guess
then rust compiler will guarantee that only those can fit there
that’s what i did for the primitives
like, use statements and operation declarations
you don’t wanna import a function inside of a while loop or whatever
yeah ofc
i think rust's enums are actually pretty good for ensuring stuff like that
In computer science, an operator precedence parser is a bottom-up parser that interprets an operator-precedence grammar. For example, most calculators use operator precedence parsers to convert from the human-readable infix notation relying on order of operations to a format that is optimized for evaluation such as Reverse Polish notation (RPN)....
pray
The idea is that we can left associate the arithmetic operations as long as we find operators with the same precedence, but we have to save a temporary result to evaluate higher precedence operators. The algorithm that is presented here does not need an explicit stack; instead, it uses recursive calls to implement the stack.
that’s genius
my reaction everytime i see a solution to a algorithm problem
using recursive calls in place of stacks would not be recommended for languages like python tho
that has a max depth of like 1000
makes sense however im writing this in rust
based on the simplicity im aiming for, i might see if it’s possible to transpile to c code after parsing and then compile into a binary
idk it sounds like a silly idea
u'll prob need to impl them
yeah i know
and maybe without the same guarantees if like references and stuff because llvm ir
💀
glhf tho
idk what else i can compile into tbh
yeah it will be
just remove the max recursive length
sys.setrecursionlimit()
python stack frames are big tho
so I don't think u want to anyways
just use stacks

so real
time to implement operator precedence i guess
i have some ideas for how this can work
glhf
who sleepin on python
y’all need to use C
asm better 🤷♂️
which asm
arm64 ofc
intel x86
kicked from dev role
^
^^
test ?
lmfao
BASED
clang and llvm supremacy
unsure if this is the correct channel but trying to reverse engineer a game, there's a bunch of NSLog calls yet i'm unable to view them for some reason
tried viewing logs via apple configurator 2 and got nothing so far
i remember it working well over a year ago but not anymore for some reason
Have you tried console.app ?
yeah
no nslogs
i remember the game just showing me a bunch of logs once and now that i'm diving into the executable i found that nslog call, yet when i went to check i see nothing
actually, i remember when i tried it before it was an ios 9 device
the one i'm trying it on now is an ios 10 device
Are there any good docs for wirting a preference bundle?
no, just look at other open source tweaks
exciting
sadly not, prefs are hard at first
but once you get them they are easy
heres afew of the things i used to learn
- https://github.com/NightwindDev/SearchDots/tree/main/searchdotsprefs
- https://github.com/acquitelol/flora/tree/main/Preferences
- https://iphonedev.wiki/Preferences_specifier_plist
- https://github.com/NightwindDev/Preference-Bundle-Example
- https://github.com/NightwindDev/BoldersReborn/tree/main/BoldersRebornPrefs
- also before asking here do a google search(stackoverflow...), prefs aren't just for tweaks (sorta), regular apps use them, like trollstore for example (sorta)
I was searching around and found some stuff, but I figured I should ask here to see if there was anything I wasn't able to find
Thank you
i mean for like when your making them(prefs) and have a like specific question
google it first
dont be like me and not google first
also the theos server is a gret place to et help aswell
I'm in it, but I forgot it existed
Side quest here
I'm trying to self host a repository to make things easier for managing stuff and it just shows up empty in sileo
how are u doing it, did u fork that one repo
lack of fiore tweaks
What is that one repo?
fiore tweaks arent in my autocomplete for "prefs" 

I used it at one point and nothing showed up
heres mine if u want https://github.com/TeslaMan3092/repo
Tried it on my personal server and with github
are you on rootless
send ur link il look at it
mal + ware

What all do I need to do to support rootless
I actually have it
@tepid olive you can aso see https://github.com/nowisdev/nowisdev.github.io
but do you have calculator history 
Now it's a matter of pushing mine
send ur repo linke @tepid olive
@radiant idol can relate
0 tweaks tho
he demolished my nerves
i promise i will be uploading it again soon
I can understand
Was tough for me to understand
gamesegul TS >
gameseagull deb >
@radiant idol I think you are not ready for this
?
can't share it here cuz it's related to drm
what if spinlock 
I'll dm it
16player cracked?
sad
rip 16player mar22-24
i couldnt figure it out 😭
compile it yourself smh
its soooo complicated why
ok well u jus forked mine so it will show what i have, but first pleas remove my debs/tweaks, then run the update.sh file
Got it
make more tweaks instead of a whole language

yay
Aaron told me 48hours
So remove your debs -> add my own -> update.sh and all should be well?
yes
should i update this 
no
maybe,,,
np
steal enmity's https://enmity-mod.github.io/repo
fuck
LMFAOO
Bro you are on a build that kills 10% per minutes of utilization
fr
where did u get this lol
github commit history from your repo
ah
it doesn't matter
This is the old branch
like the first one
with all the layoutSubviews hook
yes it is terible

it isnt even that advanced lol

whent eta html/css auto layout
its literally a sandboxed app, if it causes you to respring your device is a little silly
only happens on discord
I receive some kind of notifications from discord
and then respring
@radiant idol whats a better way to do this
%hook UILayoutContainerView
- (void)layoutSubviews {
%orig;
if (!preferences) {
init_preferences();
}
if ([preferences boolForKey:@"enabled"]) {
// It doesn't matter what color this is because it'll be overriden in the hook anyway
[self setInteractionTintColor:[UIColor clearColor]];
}
}
- (void)setInteractionTintColor:(UIColor *)color {
if (!preferences) {
init_preferences();
}
if (![preferences boolForKey:@"enabled"]) return %orig;
if ([[preferences objectForKey:@"mode"] isEqualToString:@"Simple"]) {
%orig([Utilities simpleColorWithIndex:0 preferences:preferences originalColor:[self interactionTintColor]]);
return;
}
NSString *originalColorHex = [Utilities hexStringFromColor:[self interactionTintColor]];
NSString *colorFromDefaults = [preferences objectForKey:@"musicTintColor"] ?: originalColorHex;
%orig([Utilities colorFromHexString:colorFromDefaults]);
}
%end
``` the color doesnt apply unless i set the interaction color manually
so i did it in layoutSubviews
is there a better place to do it
too much effort to read
blehhhh
🤓
do it in the VCs view did load
display: flex
yes but no
hmm alright
for the VC u get its view by soind [self view] it retunr the view
me no understand
Prob your notif logger
yea but there's tools for grid layouts
it's made by antoine
well it isn’t enmity itself crashing 
and a notification tweak crashing when getting a notification kinda makes sense
@slender glade Hey, do you think Senri could cause this issue
Do you have a log
it's just a respring
Hello what’s happening
Sometimes I get notifications which makes my device resprings (it crashes discord notifications handler)
Shouldn’t be caused by senri but try turning it off ig
i know how a vc works lmao
i dont think i need to access the view though
but dont u gota call the set tint color once ?
no themes
Debug Info:
Enmity: d423735
Tweak: 2.2.6 (Regular)
Discord: 218.0 (Build 55532)
Hermes: for RN 0.72.3
Bytecode: 94
Device: iPhone13,2
System: 14.6
the only thing i can think of is your really old ios version
I want my jb

you broke something as always
what?
im not done
feturned packges is floating ik
his div doesnt have any padding yet
why is sileo logog get massiven 😭
i mistyped a number and left it because funny
scale(30)
most are credited to rpwnage
I'm looking at changing the flashlight button on the lockscreen, but it looks like I'm looking in the wrong place maybe. These methods don't really seem to tell it to turn on the flashlight unless I'm misunderstanding something
Hey y'all. I'm trying to compile cardculator from source, and have so far been successful with the rootful build. However, whenever I try to build with rootless, it claims I don't have the comet module installed. Is there a special rootless directory for Frameworks and prefs in theos? Thanks!
@tepid olive you compiled cardculator right?
this sounds like a job for super dleovl!
Dleovl helped me thx pooks
So fucking close lmao
==> Linking tweak Cardculator (arm64e)…
ld: warning: -multiply_defined is obsolete
ld: warning: ignoring duplicate libraries: '-lc++'
ld: building for 'iOS', but linking in dylib (/Users/clyxos/theos/vendor/lib/iphone/rootless/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for 'iOS-simulator'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:52: /Users/clyxos/cardculator/.theos/obj/arm64e/Cardculator.dylib] Error 1
make[2]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:52: /Users/clyxos/cardculator/.theos/obj/arm64e/Cardculator.dylib] Error 2
make[1]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:37: internal-library-all_] Error 2
make: *** [/Users/clyxos/theos/makefiles/master/rules.mk:152: Cardculator.all.tweak.variables] Error 2
Doesn't wanna link for some fucking reason
prob an issue with how files are built 
Nah but its prob due to it using incorect theos files
It says its being built for iOS and being linked against stuff that were previously built for iOS-simulator
That might've been comet for some reason
I don't really know what you are trying to do tho
I'm compiling cardculator
Comet or Cardculator?
Do you need both?
Actually ask in the theos discord server, this seems to be related to how you got your theos files
Same issue after clean building
Sure
Your rootfull works though?
yeah
thats what's silly
i uh might've mkdir -p the $theos/vendor/lib/iphone/rootless, as it didn't exist
probably the problem
But im gonna go to the theos discord
update theos
didn't we go over this already
I did try to do that again
I love it when shit decides to revert
Thats the correct class for the UI of the buttons on lockscreen (maybe the right instance as well, don't remember if flash light used type of 1). The actual button actions are implemented in what holds reference to those buttons.
best swiftui charting library?
@indigo peak iirc I canceled Mooner
fym “iirc”
if I recall correctly
Oh
🤦♂️
I can’t keep up with these acronyms I’ll be honest
I feel stupid now
😂
Anyhow yeah I cancelled Mooner, I didn’t like it
My motto is also to only make tweaks that are good enough in quality that I myself would use them, and Mooner just didn't feel right, yknow?
I want the UX, UI, performance, battery drain, etc. to all be perfect.
So I’m going to reuse it’s source to make Gizmo, a widget-oriented lockscreen tweak cuz that’s what I want
Gizmo will be a lot better than Mooner would ever be
🔥
Ooh W
would it be like complications?
Fire from hrtowii means a lot 🔥
nah
Now-ն դեռ ծրագրավորող է https://cdn.discordapp.com/emojis/703756498467291207.png?size=48&quality=lossless
Not that kind of widget oriented, it’ll be like each view (date, time, etc) is it’s own view and you can move it around really easily. It will be compatible with iOS 16 widgets also, and Complications(tweak) hopefully. Will also have straightforward but powerful customization, my favorite.
xen???
In a way yeah, but more controlled and less battery draining
pog
Might include custom widget support, so people can make their own widgets and publish, but we’ll see
My issues with xen and designer are 2 things:
- Complicated and time consuming to make look it good
- Battery drain 🤢
Ahh i see
Thats cool asf
their strength is the unlimited customisability
fr
there's a tradeoff between performance (by hardcoding shit) and making things look nice
Yeah, and if people want that then that’s what they need to get, but I know that I personally need more than what things like jellyfish have but not as much as designer.
Real
You could never see me using the finicky designer controls on my phone, no way
yall suck only good dev is that guy that made pyimg4
Is he famous

pyimg4 is the best code i have ever seen
if it so good where is pyimg5 🤓
we're waiting on apple to fuck up the format again
pyimg4.1
wait wrong channel
gex
gay sex yes
@slender glade how can I create something similar to .alert in SwiftUI but with a custom view?
Add an extension to View?
Actually ignore me, I know how to do it
ZStack?
I want to do something similar to .alert
No like
So will just do extension
@lime pivot we can talk about you-know-what in dms if you want, @slim bramble told me about it
i think i got operator precedence working
pub op main() {
1 + 2 * 3 + 4 * 5;
}
generates
[src/parser/parser.rs:122] &self.tree = [
Operation {
name: "main",
public: true,
arguments: [],
return: "Nil",
body: [
ArithmeticOperation {
left: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
1,
),
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
2,
),
},
operator: Add,
},
right: ArithmeticOperation {
left: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
3,
),
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
4,
),
},
operator: Add,
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
5,
),
},
operator: Multiply,
},
operator: Multiply,
},
],
},
]
nope not quite
What’s your lang gonna be called
elle
you can follow my progress if you like because its oss as always
i know why though
i kinda threw the existing algorithms in the bin
the way i do it is, assuming you have some expression, it finds the operator with highest precedence in the expression, returns the position of it, then splits the vector of tokens at that index and parses the left and right in the binary tree
which, if you look is that it does
1 + 2 * 3 + 4 * 5
it finds 1 + 2 and 3 + 4 * 5 which is correct so far
as the second * is not greater precedence than the first its split at the first *
so then it parses 1 + 2 correctly, then it parses 3 + 4 * 5, it finds that the * is the highest precedence in that expression
and splits into 3 + 4 and 5, which is incorrect
so i need to kinda rethink all of this completely
or just implement an algorithm that is known to work and been developed by people smarter than me ~ :3
i wonder
ok so it works
op main() {
1 + 2 * 3 + 4 * 5;
}
parses to
[src/parser/parser.rs:122] &self.tree = [
Operation {
name: "main",
public: false,
arguments: [],
return: "Nil",
body: [
ArithmeticOperation {
left: ArithmeticOperation {
left: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
1,
),
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
2,
),
},
operator: Add,
},
right: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
3,
),
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
4,
),
},
operator: Add,
},
operator: Multiply,
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
5,
),
},
operator: Multiply,
},
],
},
]
the change i made is quite simple, i literally just made it so this has >= instead of >
if token.kind.precedence() >= precedence {
precedence_index = index;
precedence = token.kind.precedence();
}
that way it starts at the end
this tree isn't correct for precedence tho
i think
at the very least seems to assume addition has a higher precedence than multiplication
im gonna assume i can break it if i just switch around the order of the symbols
oh wait right yeah
fuck
ok yeah lemme rethink all of this completely i dont think this will work
perhaps?
ArithmeticOperation {
left: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
1,
),
},
right: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
2,
),
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
3,
),
},
operator: Multiply,
},
operator: Add,
},
right: ArithmeticOperation {
left: LiteralStatement {
kind: IntegerLiteral,
value: Number(
4,
),
},
right: LiteralStatement {
kind: IntegerLiteral,
value: Number(
5,
),
},
operator: Multiply,
},
operator: Add,
}
holy shit that seems to work
real
the reason why seemingly addition had higher precedence was because i had them reversed
i should be parsing by the lowest precedence not the highest
to be honest thats like kinda what the algorithms do too
they just parse it a bit differently
but they start at the lowest and go up from there
great
I'm trying to run make package for the preference bundle and I'm getting an error saying that the framework Preferences is not found. I updated the sdk that I'm using from https://github.com/theos/sdks, but still getting the error. Did I miss something?
include $(THEOS)/makefiles/common.mk
BUNDLE_NAME = StatusBarDatePrefs
StatusBarDatePrefs_FILES = EXMRootListController.m
StatusBarDatePrefs_FRAMEWORKS = UIKit
StatusBarDatePrefs_PRIVATE_FRAMEWORKS = Preferences
StatusBarDatePrefs_INSTALL_PATH = /Library/PreferenceBundles
StatusBarDatePrefs_CFLAGS = -fobjc-arc
include $(THEOS_MAKE_PATH)/bundle.mk
Makefile^
I'm also staring at the framework in finder
hmm that could be caused by several things
try adding SYSROOT = $(THEOS)/sdks/iPhoneOS16.5.sdk/ or just change your target to 16.5:15.0 instead of latest:15.0
Adding the sysroot worked
LinusHenzeLovesRune
linus henze loves nexus (actually)
is img4tool and libimg4tool the same thing? because after running make install i get this:
Making install in img4tool
mkdir -p '/usr/local/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c libimg4tool.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libimg4tool.0.dylib /usr/local/lib/libimg4tool.0.dylib
libtool: install: (cd /usr/local/lib && { ln -s -f libimg4tool.0.dylib libimg4tool.dylib || { rm -f libimg4tool.dylib && ln -s libimg4tool.0.dylib libimg4tool.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libimg4tool.lai /usr/local/lib/libimg4tool.la
libtool: install: /usr/bin/install -c .libs/libimg4tool.a /usr/local/lib/libimg4tool.a
libtool: install: chmod 644 /usr/local/lib/libimg4tool.a
libtool: install: ranlib /usr/local/lib/libimg4tool.a
mkdir -p '/usr/local/bin'
/bin/sh ../libtool --mode=install /usr/bin/install -c img4tool '/usr/local/bin'
libtool: install: /usr/bin/install -c .libs/img4tool /usr/local/bin/img4tool
make[2]: Nothing to be done for `install-data-am'.
Making install in include
make[2]: Nothing to be done for `install-exec-am'.
mkdir -p '/usr/local/include'
mkdir -p '/usr/local/include/img4tool'
/usr/bin/install -c -m 644 img4tool/img4tool.hpp img4tool/ASN1DERElement.hpp '/usr/local/include/img4tool'
install: /usr/local/include/img4tool/img4tool.hpp: Permission denied
make[2]: *** [install-nobase_dist_includeHEADERS] Error 71
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1
also cmake still says i don't have img4tool installed:
CMake Error at /usr/local/Cellar/cmake/3.29.0/share/cmake/Modules/FindPkgConfig.cmake:619 (message):
The following required packages were not found:
- libimg4tool
- libinsn
- liboffsetfinder64
- libipatcher
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.29.0/share/cmake/Modules/FindPkgConfig.cmake:847 (_pkg_check_modules_internal)
src/CMakeLists.txt:12 (pkg_check_modules)
i'm trying to build dev branch
What you talkin bout
i'm trying to build futurerestore dev branch
anyway it works now thanks
i think i need to for mineek's guide
cryptex is the new dev
oh
Also you don’t need to install anything you can download the dep bundle
@slim bramble do you plan on fixing 16player on ios 14? none of the buttons work when artwork is expanded.
Hi we know and we also know why we are looking into making a fix ASAP
tweaks been so long in production and y’all couldn’t fix something that simple smh
@faint timber sorry for ping but i'm getting this when i run make with liboffsetfinder64:
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/offsetfinder64.dir/src/patchfinder64.cpp.o] Error 1
make[1]: *** [CMakeFiles/offsetfinder64.dir/all] Error 2
make: *** [all] Error 2
I switched to iOS 14 to make it work for one of my testers
i've installed libinsn
How do you know it’s that simple 💀
because i developed reo
💀
ask the reo dev if you dont believe me
why are you sending the end of the output instead of the actual errors lol
that isn’t the actual error?
@warped sky fact check please
They developed it and im salesman
😭

What about the truth
Its the truth
idk what im doing
but basically my igg
Doesnt work
So i tried to make my own but uhh
heres an over view if there are any errors
tell me and help me keep in mind i dont know what im doing and have little coding experience so
Fr
this isnt the direct code this is all the code together and shown where it goes
dont judge off bad placement i jsut didnt wanna send multiple files
brother dropping da chatgpt
Fr
a teensy
pretty sure igamegod works fine
skill issue somewhere along the line
ChatGPT:
the app doesnt work for ios16.6.1 on iphone 11 for me
what happens when you try to use it?
well i got my phone taken away
So i cant test it thats why i sent it to this server for help
idrk what help it is but idc

@torn cloud
see
stop being jealous me and @warped sky developed a superior tweak
☹️

He wrote 99% of the code
fr
if you’re gonna use ai at least don’t make it that obvious 
you still got the Below you can find the corresponding code
If we don't keep raising awareness of low-level programming skills, the skillset will disppear forever under a sea of SDKs, binary blobs and proprietary chips.
C programming matters, assembly language matters.
【QRT of FFmpeg (@FFmpeg):】
'Yes, we post a lot about programming languages and it gets people very excited and o…
💖 7.47K 🔁 989
common ffmpeg w
😎
at&t stay on top with being the worse fr
astagfirullah
yes, c and assembly matter, which is why im gonna continue programming in typescript and rust and hope someone smarter than me decides to write more in c and assembly
this indirectly calls rust programmers dumb, i agree with this propaganda
i-
FFmpreg
idk about dumb but if i want to return a value or nothing from a function i need to return an option and match handle every case at the call site
like why not just let me return null and if no value then do whatever 😭
go back to c and return ints smh
then why are you using rust 
🤝
the borrow checker is good
🤝
borrow checker? nah.. give me that undefined behavior 💯
💯💯
we dont borrow pointers we steal them
we consume them
LMAO
@indigo peak congrats on release!!!
WHY DOES THIS EXIST ABJDWAD
thank you!
IDK LMAO
@indigo peak that is way too cheap
they just keep cooking
based ffmpeg as always
Congrats ;)
thank youu
1.99 is good i think
$20 for jellyfish reborn
not 20 dollars
How much time did you spent on it ?
but like 5 bucks
i will buy jellyfish reborn even though i use designer for my ls
because its made by fiore
they've been working on it for months afaik
tbh charge $299.99
I did not beta test 
New 16Player's price leaked

trading a ton of maintainability for 2% faster 🔥
since winter break i think
always worth it
so like since christmas/new years-ish
release it as 20 packages that don't work unless all the others are installed
i mean for ffmpeg it makes sense lmao
you can shave off hours with a 5% improvement
if its confusing its a skill issue
that's very true
read it again
Fr
yeah i wasnt being sarcastic
Jellyfish Reborn code: 351552B1717D4263A77F67EDFE1BC2C2 🙏
351552B1717D4263A77F67EDFE1BC2C2
351552B1717D4263A77F67EDFE1BC2C2
351552B1717D4263A77F67EDFE1BC2C2
send another please
Fake already redeemed
frfr
Jellyfish Reborn code: C127EF48F7A64C3B81E832B53C216957
@hasty ruin is our deal still a thing ?
Jellyfish Reborn code: 4CCF417CD3614D63A389797FE1387BE6
jellyfish reborn code 351552B1717D4263A77F67EDFE1BC2C2
Thanks ;)
🙏
jelly fish reborned code : abcdefghijklmnopqrstuvwxyz1234567890
jellyfish reborn code 4AA352B1717D4263A77F67EDFE1BBFBF
havoc code
chariz code
ao




