#development

1 messages · Page 162 of 1

torn oriole
#

Why my Mac no longer work skull_gone

#

Excellent

native orbit
#

fork bomb moment

#

i write arm64 asm daily

#

i do

torn oriole
#

Capt you don’t get to be calling cap when zefram probably doesn’t even exist troll

#

Ok prove it by dropping $(which zeframctl)’s binary in chat rn troll

native orbit
#

its real i have it

torn oriole
#

Smh what about me

#

Roleism

#

Then it’s cap

#

I require zefram

native orbit
torn oriole
#

Nooo I don’t want to fork bomb myself again

native orbit
#

its the zefram installer

#

trust me

torn oriole
#

I fork bombed a vpn

#

VPN?

#

Vm

#

Until I get zefram no way am I running capt code unsandboxed troll

native orbit
#

just make ur own zefram clone in asm

torn oriole
#

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

hasty ruin
indigo peak
#

isnt that a fork bomb or smth

hasty ruin
#

you did

#

.

tepid olive
#

@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)

faint stag
#

lol

timid furnace
#

^

tepid olive
#

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

timid furnace
#

isn't it drain

tepid olive
timid furnace
#

idk

tepid olive
#

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

faint stag
# tepid olive and then release releases it

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.
tepid olive
#

ah

#

Is there any opensource tweak that involves changing the color of the text in the statusbar

hexed knot
#

Try doing it yourself

#

Its very easy

tepid olive
#

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

tepid olive
#

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

acoustic imp
#

[UIColor grayColor]

#

replace "systemGray"

tepid olive
#

I'm assuming if I want a different color other than grayColor than use whatever is in this list

acoustic imp
#

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

tepid olive
#

Thank you

acoustic imp
#

np

primal perch
#

say gex

#

GEX

twilit jungle
primal perch
#

gm

native orbit
#

methhook

primal perch
#

fr

slender glade
#

@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?

faint stag
#

that would be xpc yeah

#

it's a daemon so it's best to just communicate through launchd

placid kraken
#

i’ve kinda done this before

#

and it’s also pretty basic, this is the easy part

#

the compiler is the hard part

placid kraken
#

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

slender glade
#

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

timid furnace
harsh junco
tepid olive
#

Photonshop

indigo peak
#

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;
}
visual meadow
#

anyone here want to try sshrd script on a ios 17 ipad

torn cloud
visual meadow
#

what macos version

#

or linux

torn cloud
visual meadow
#

show a screenshot of when it happens

torn cloud
visual meadow
#

that works too

torn cloud
# visual meadow 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
visual meadow
#

it cant decrypt the image

#

something with gaster, i dont have a ipad air 1 to try either

torn cloud
#

weird

#

i've restored to latest anyway

#

but it would've been nice if i could stay on 8.1.2

slender glade
#

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

tepid olive
#

Antoine’s pfp looks awfully familiar

slender glade
#

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

slender glade
#

Indeed

tepid olive
slender glade
#

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

restive ether
#

your mom is huge

slender glade
#

REAL...

#

I can't believe zefram is an actual thing and not just a joke

#

bye

sonic totem
torn cloud
#

fml

sonic totem
#

I know

#

Why

torn cloud
#

because sshrd script wouldn't work

torn cloud
sonic totem
#

Use the original SSHRD script

torn cloud
sonic totem
#

I can't find the original

#

It was like xerub or something

wooden yarrow
#

they made this

#

which is uhh

sonic totem
#

Yup that's it

wooden yarrow
#

not a full ramdisk

sonic totem
#

O

ashen birch
#

it just spawns an ssh server

#

you still need your own binpack

wooden yarrow
#

also apparently not even the original

#

it cites

placid kraken
#

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
wooden yarrow
#

that does not look familar

placid kraken
#

no lol

#

im writing my own language

wooden yarrow
#

oh

#

v cool

#

ohh that's why ast

#

makes sense

placid kraken
steady nest
#

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

placid kraken
#

LMAO yeah i realised

#

abstract syntax tree tree

hasty ruin
#

atm machine

placid kraken
#

real

wooden yarrow
#

smh my head

placid kraken
#

the issue is that

#

even though i have all the tokens

#

its really hard to actually parse them

slender glade
#

you have tokens?

placid kraken
#

sorry

tepid olive
#

Lmfao

wooden yarrow
tepid olive
#

@placid kraken make sure to add macros like rust has

#

Like rust-like macros

#

I’d use your language if you implemented that

wooden yarrow
slender glade
#

no you wouldn't

wooden yarrow
tepid olive
#

Rust’s macros are the only good thing about rust

wooden yarrow
tepid olive
placid kraken
#

this parser is already horror

#

preprocessor directives are gonna drive me insane to parse

tepid olive
#

Lol

wooden yarrow
#

but idk

placid kraken
#

this doesnt even recursively parse expressions yet

placid kraken
tepid olive
#

Or like not use rust for the compiler of a language

wooden yarrow
#

why not

tepid olive
#

I feel like

#

Idk

placid kraken
#

.

tepid olive
#

Not JS no

#

Like zig

wooden yarrow
#

why zig

placid kraken
#

no i have no idea how to use zig

tepid olive
torn cloud
#

my boss wanted me to update it to latest

ashen birch
#

@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 .

placid kraken
#

gonna make my language follow the swift syntax exactly

native orbit
steady nest
#

nuked ART

#

so yes

#

without restoring? prob not

acoustic imp
#

Is it jus me or does GH not work on lower iOS ?

reef trail
ashen birch
steady nest
#

just port blackbird

#

ez

ashen birch
#

might just do the same to a device on latest and mess around with a few ideas there

sonic totem
#

Hardbird would work though

placid kraken
#

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
placid kraken
#

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

indigo peak
#

i feel like there has to be another link from SBFLockScreenDateView to the exiWall

acoustic imp
#

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?

twilit jungle
#

Classic

cloud yacht
#

dev role transplant to me

#

(I've never hooked layoutsubviews)

acoustic imp
#

thats why i asked if it was bad????

#

what else should i do ?

twilit jungle
#

why do you think its better?

acoustic imp
#

bc its the only hook that u need to have?

#

wait

twilit jungle
#

Why does number of hooks impact performance?

hexed knot
#

Im going to end my life

acoustic imp
#

coudlnt u jus do valueforkey ?

#

likeUIView *view = [self.subview valueForKey:@"(but what goes here UIImageView ?)"]

hexed knot
#

As long as im in this server dont EVER send some shitty ui hooking like that

acoustic imp
#

ok 😭

placid kraken
#

should i continue?

hexed knot
#

No

#

Absolutely not

acoustic imp
#

@hexed knot then what do i do ?

#

theres a viewcontroller

#

for this view

#

i tried searvhing subviews in a viewDidLoad

visual meadow
#

i had to change line 17 from 0x0315 to 0x0314

#

Works too

#

anyone know what baud rate it runs at for serial

gentle grove
steady nest
#

bet 115200

visual meadow
tepid olive
young meteor
#

yes

#

they were sending that as a joke

tepid olive
#

I figured it was a joke

#

I was just curious as to why it was bad

#

and happened to come across that

radiant idol
#

hooking layoutSubviews should be done only when ABSOLUTELY necessary

#

otherwise steer away

primal perch
#

it’s a great method when you need to layout subviews

frail cedar
#

with a dcsd

#

so whatever that uses

visual meadow
#

thats what im using

frail cedar
#

by default

visual meadow
#

the baud rate is obviously different

frail cedar
#

i just termz /dev/cu.usbserial-whatever and it worked

visual meadow
#

you're probably using the older one

#

the older one for me works fine

frail cedar
#

oh yea I only have touchpads

#

i guess try all the possible common ones

timid furnace
frail cedar
#

hold on

timid furnace
#

is it interesting enough for me to bother

frail cedar
#

not really

acoustic imp
timid furnace
frail cedar
#

lemme go grab it

#

maybe its interesting i dont remember

frail cedar
#

but i dont remember much

acoustic imp
acoustic imp
frosty gale
acoustic imp
#

anyone know how to fix?

#

tried reinstalling open ssh

#

no dice

tepid olive
#

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

lime pivot
#

might be better to ask in the Theos server

tepid olive
#

yeah true

#

lemme go ask there

lime pivot
#

I'm not sure what's going on there and haven't been familiar with the Linux toolchains in a while

tepid olive
#

ah gotcha

acoustic imp
visual meadow
#

idk

#

are you sure thats your phones ip

acoustic imp
#

yes 100%

#

fixed

twilit jungle
radiant idol
#

Yeah…

queen ruin
#

Especially loading a UIHostingController that hosts a SwiftUI view inside layoutSubviews

twilit jungle
brazen timber
#

fr

sonic totem
untold drift
#

Hi guys. I wanna ask something about of flex. The flex doesnt show up when i tried to trigger it from sileo app

reef trail
#

Anyone know where the spotlight swipe down gesture recognizer can be found?

reef trail
#

found it, its the UIScrollViewPanGestureRecognizer on SBSearchScrollView

placid kraken
#

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

reef trail
#

looks like a non lisp treesitter output

placid kraken
#

lol not directly

#

but i see what you mean

acoustic imp
# sonic totem Mind explaining how?

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

sonic totem
#

Ah, okay

torn cloud
wooden yarrow
#

🔥

tepid olive
placid kraken
#

🔥

wooden yarrow
#

i mean it's just a parsing issue right

#

surely just conver to post or prefix notation

placid kraken
#

which means like

#

do + 3 5 and 3 5 + instead of 3 + 5?

wooden yarrow
#

soo

#

.

wooden yarrow
#

that way order of operations is always clear

#

there's no way to confuse

placid kraken
#

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

acoustic imp
#

ops

placid kraken
#

yes

tepid olive
placid kraken
#

lol yeah i know

wooden yarrow
#

stack based programming language

#

🔥

wooden yarrow
placid kraken
#

lisp

#

🔥

placid kraken
wooden yarrow
#

but

tepid olive
placid kraken
#

it’s not as easy as just applying some magical order of operations

#

it’s all recursive so it’s super confusing

tepid olive
#

Just copy paste from lua trol

placid kraken
#

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

tepid olive
#

Find it

#

Copy paste

tepid olive
#

Problem solved

placid kraken
#

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

wooden yarrow
placid kraken
#

yes

#

which is why bidmas is hard to implement

wooden yarrow
#

me when brackets have no priority

#

🔥

placid kraken
#

not rtl, ltr but close enough

wooden yarrow
#

oh, yeah

#

forgor

placid kraken
#

but the parser is soooo confusing

#

i think that’s only because it’s in rust

reef trail
#

bidmas is important

placid kraken
#

im sure i could be just fine if i wrote an ast in another language i know better like ts

placid kraken
wooden yarrow
placid kraken
wooden yarrow
#

if you are able to think about the steps logically it should be doable in rust

placid kraken
#

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

wooden yarrow
#

wym by link tho

#

isn't a box enough

placid kraken
placid kraken
# wooden yarrow wym by link tho

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

wooden yarrow
placid kraken
#

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

wooden yarrow
#

just have more enums for types of statements

placid kraken
#

lol i guess

wooden yarrow
#

then rust compiler will guarantee that only those can fit there

placid kraken
#

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

wooden yarrow
#

yeah ofc

#

i think rust's enums are actually pretty good for ensuring stuff like that

wooden yarrow
#

pray

placid kraken
#

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

wooden yarrow
#

using recursive calls in place of stacks would not be recommended for languages like python tho

#

that has a max depth of like 1000

placid kraken
#

makes sense however im writing this in rust

wooden yarrow
#

yeah so you can use recursion if you want

#

that was just a tangent

placid kraken
#

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

wooden yarrow
#

transpile to C code?

#

if u have language features that aren't in c

placid kraken
#

idk it sounds like a silly idea

wooden yarrow
#

u'll prob need to impl them

placid kraken
#

yeah i know

wooden yarrow
#

and maybe without the same guarantees if like references and stuff because llvm ir

#

💀

#

glhf tho

placid kraken
#

idk what else i can compile into tbh

wooden yarrow
#

uhh llvm ir

placid kraken
#

rust has llvm bindings

#

but that sounds like it’ll be sooo much effort

wooden yarrow
#

yeah it will be

indigo peak
placid kraken
#

real

indigo peak
#

sys.setrecursionlimit()

wooden yarrow
#

so I don't think u want to anyways

#

just use stacks

placid kraken
#

i have an even better idea

#

dont use python

wooden yarrow
#

so real

placid kraken
#

time to implement operator precedence i guess

#

i have some ideas for how this can work

wooden yarrow
#

glhf

frail cedar
tawdry trench
#

who sleepin on python

hasty ruin
#

y’all need to use C

native orbit
#

asm better 🤷‍♂️

placid kraken
native orbit
#

arm64 ofc

indigo peak
#

intel x86

native orbit
placid kraken
#

no like

#

you have fasm, nasm, gas

native orbit
#

^

indigo peak
#

^^

acoustic imp
#

test ?

placid kraken
#

lmfao

brazen timber
harsh junco
#

gcc

#

Why

native orbit
#

clang and llvm supremacy

soft ether
#

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

slim bramble
soft ether
#

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

tepid olive
#

Are there any good docs for wirting a preference bundle?

radiant idol
#

no, just look at other open source tweaks

tepid olive
#

exciting

queen ruin
#

but once you get them they are easy

acoustic imp
# tepid olive exciting

heres afew of the things i used to learn

tepid olive
#

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

acoustic imp
#

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

tepid olive
#

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

acoustic imp
tepid olive
acoustic imp
indigo peak
acoustic imp
tepid olive
#

I used it at one point and nothing showed up

acoustic imp
tepid olive
#

Tried it on my personal server and with github

indigo peak
acoustic imp
#

are you on rootless

tepid olive
#

Yeah

#

I thought I had it all figured out for rootless

acoustic imp
#

send ur link il look at it

tepid olive
#

Funny thing

#

I just rm -rf the repo like 10 minutes ago

sonic totem
acoustic imp
tepid olive
#

: D

#

Gimme like 5-10 minutes

acoustic imp
#

just fork -> git clone urs

#

add ur stuff and push

tepid olive
#

Currently in the works

tepid olive
acoustic imp
queen ruin
tepid olive
#

Thank you

#

@acoustic imp Yours shows stuff in Sileo

young meteor
tepid olive
#

Now it's a matter of pushing mine

acoustic imp
#

send ur repo linke @tepid olive

slim bramble
indigo peak
radiant idol
indigo peak
slim bramble
#

Was tough for me to understand

acoustic imp
indigo peak
#

gameseagull deb >

slim bramble
#

@radiant idol I think you are not ready for this

radiant idol
#

?

slim bramble
#

can't share it here cuz it's related to drm

acoustic imp
slim bramble
#

I'll dm it

queen ruin
#

sad

#

rip 16player mar22-24

placid kraken
young meteor
placid kraken
#

its soooo complicated why

acoustic imp
tepid olive
#

Got it

radiant idol
acoustic imp
queen ruin
slim bramble
queen ruin
#

oh

#

lol

#

i don't think it has been tho

tepid olive
acoustic imp
#

should i update this hm

radiant idol
#

no

placid kraken
tepid olive
#

Thanks for the help

acoustic imp
#

np

acoustic imp
#

i should

slim bramble
#

@placid kraken btw enmity makes me respring A LOT

#

like idk why

young meteor
#

malware.

slim bramble
#

Bro you are on a build that kills 10% per minutes of utilization

young meteor
#

can't kill your battery if you're in safe mode

#

lol

acoustic imp
young meteor
#

github commit history from your repo

acoustic imp
#

ah

slim bramble
#

This is the old branch

#

like the first one

#

with all the layoutSubviews hook

acoustic imp
#

yes it is terible

slim bramble
acoustic imp
slim bramble
acoustic imp
#

whent eta html/css auto layout

slim bramble
#

HTML contains disease

#

"coding" in html gives you diseases

placid kraken
slim bramble
#

I receive some kind of notifications from discord

#

and then respring

placid kraken
#

@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

radiant idol
#

too much effort to read

placid kraken
#

blehhhh

radiant idol
#

🤓

acoustic imp
faint stag
acoustic imp
#

yes but no

faint stag
#

also display: grid

placid kraken
acoustic imp
#

for the VC u get its view by soind [self view] it retunr the view

acoustic imp
hasty ruin
slim bramble
#

I would be surprised

faint stag
slim bramble
#

it's made by antoine

hasty ruin
#

and a notification tweak crashing when getting a notification kinda makes sense

slim bramble
#

@slender glade Hey, do you think Senri could cause this issue

hasty ruin
#

Do you have a log

slim bramble
#

it's just a respring

slender glade
#

Hello what’s happening

slim bramble
slender glade
#

Shouldn’t be caused by senri but try turning it off ig

slim bramble
#

Yeah it doesn't seem like it too

placid kraken
#

i dont think i need to access the view though

slim bramble
placid kraken
#

run </debug:1>

#

also do you have a theme with an image bg enabled

acoustic imp
placid kraken
#

oh right i forgot i need to access the view to get that method

#

sorry lol

slim bramble
#

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

placid kraken
#

the only thing i can think of is your really old ios version

placid kraken
#

nevermind * / being higher order than + -

#

im doing all of them

acoustic imp
#

ugly but idk wha to do

slim bramble
acoustic imp
#

what?

#

im not done

#

feturned packges is floating ik

#

his div doesnt have any padding yet

frail cedar
#

king website

acoustic imp
#

why is sileo logog get massiven 😭

frail cedar
#

i mistyped a number and left it because funny

acoustic imp
#

scale(30)

frail cedar
#

most are credited to rpwnage

tepid olive
#

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

sacred cosmos
#

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!

young meteor
#

@tepid olive you compiled cardculator right?

tepid olive
#

yes

#

im dming him

young meteor
#

this sounds like a job for super dleovl!

sacred cosmos
#

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

tepid olive
#

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

sacred cosmos
tepid olive
#

I don't really know what you are trying to do tho

sacred cosmos
#

I'm compiling cardculator

tepid olive
#

oh trying to build cardulator

#

Hmm

#

make clean maybe

sacred cosmos
tepid olive
#

Do you need both?

#

Actually ask in the theos discord server, this seems to be related to how you got your theos files

sacred cosmos
frosty iris
sacred cosmos
#

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

timid furnace
#

didn't we go over this already

sacred cosmos
#

I love it when shit decides to revert

twilit jungle
proud geyser
#

best swiftui charting library?

queen ruin
#

@indigo peak iirc I canceled Mooner

indigo peak
#

fym “iirc”

queen ruin
#

Idk

#

What does iirc even mean

#

I’ve seen people use it as “btw”

indigo peak
#

if I recall correctly

queen ruin
#

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

granite frigate
#

🔥

warped sparrow
#

would it be like complications?

queen ruin
granite frigate
#

nah

thorn hound
queen ruin
# warped sparrow would it be like complications?

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.

granite frigate
#

xen???

queen ruin
granite frigate
#

pog

queen ruin
#

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 🤢
queen ruin
#

Fr

#

It’s a unique idea (from Mooner dev!?!???? No way)!

granite frigate
#

fr

#

there's a tradeoff between performance (by hardcoding shit) and making things look nice

queen ruin
granite frigate
#

Real

queen ruin
#

You could never see me using the finicky designer controls on my phone, no way

ashen birch
#

yall suck only good dev is that guy that made pyimg4

queen ruin
ashen birch
#

no dude's a loser

#

but

granite frigate
ashen birch
#

pyimg4 is the best code i have ever seen

native orbit
#

if it so good where is pyimg5 🤓

faint stag
kind herald
#

pyimg4.1

granite frigate
#

wait wrong channel

primal perch
#

gex

lyric heron
#

gay sex yes

sonic totem
#

@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

slender glade
sonic totem
slender glade
#

No like

sonic totem
#

So will just do extension

slender glade
#

The impl

#

oh

sonic totem
#

Oh

#

Yeah ZStack I think

#

Oh I didn’t think about that

queen ruin
#

@lime pivot we can talk about you-know-what in dms if you want, @slim bramble told me about it

placid kraken
#

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

queen ruin
placid kraken
#

elle

#

you can follow my progress if you like because its oss as always

wooden yarrow
#

yep

#

not quite

#

unfortunately

placid kraken
#

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

wooden yarrow
#

i think

#

at the very least seems to assume addition has a higher precedence than multiplication

placid kraken
#

im gonna assume i can break it if i just switch around the order of the symbols

placid kraken
#

fuck

#

ok yeah lemme rethink all of this completely i dont think this will work

wooden yarrow
#

oh

#

💀

placid kraken
#

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

tepid olive
#

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

serene hawk
#

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

tepid olive
#

Adding the sysroot worked

harsh junco
#

LinusHenzeLovesRune

young meteor
#

linus henze loves nexus (actually)

torn cloud
#

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)
faint timber
#

you need sudo to install

#

What is that cmake package you are building

torn cloud
faint timber
#

What you talkin bout

torn cloud
#

anyway it works now thanks

faint timber
#

Don’t

#

dev is old

torn cloud
faint timber
#

cryptex is the new dev

torn cloud
#

oh

faint timber
#

Also you don’t need to install anything you can download the dep bundle

torn cloud
#

@slim bramble do you plan on fixing 16player on ios 14? none of the buttons work when artwork is expanded.

slim bramble
lyric heron
torn cloud
#

@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
tepid olive
#

I switched to iOS 14 to make it work for one of my testers

slim bramble
lyric heron
slim bramble
lyric heron
#

ask the reo dev if you dont believe me

young meteor
#

this is true

#

i codeveloped it

faint stag
torn cloud
faint stag
#

no it said 20 errors were generated

#

they all got printed

torn cloud
#

oh

#

well i just went out

#

so I’ll send the full log tmrw maybe

slim bramble
warped sky
slim bramble
warped sky
slim bramble
#

What about the truth

warped sky
#

Its the truth

primal perch
bright lance
#

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

slim bramble
bright lance
#

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

steady nest
#

brother dropping da chatgpt

slim bramble
bright lance
#

if im honest

steady nest
#

just a little bit

#

not 99.9%

bright lance
#

a teensy

faint stag
#

pretty sure igamegod works fine
skill issue somewhere along the line

crisp frost
#

ChatGPT:

bright lance
#

the app doesnt work for ios16.6.1 on iphone 11 for me

faint stag
#

what happens when you try to use it?

bright lance
faint stag
lyric heron
#

stop being jealous me and @warped sky developed a superior tweak

#

☹️

torn cloud
#

i just saw that

warped sky
#

He wrote 99% of the code

lyric heron
#

that's why it's so good

#

and works on all versions is supposed to

young meteor
#

fr

torn cloud
#

you still got the Below you can find the corresponding code

brazen timber
#

common ffmpeg w

primal perch
#

common

#

C enjoyers 🦀

brazen timber
primal perch
#

based

#

im convinced at&t syntax alone is a big reason people hate x86

native orbit
#

at&t stay on top with being the worse fr

primal perch
#

astagfirullah

placid kraken
brazen timber
placid kraken
#

i-

kind herald
#

FFmpreg

placid kraken
#

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

tepid olive
#

then why are you using rust fr

placid kraken
primal perch
#

🤝

native orbit
#

borrow checker? nah.. give me that undefined behavior 💯

primal perch
#

💯💯

native orbit
#

we dont borrow pointers we steal them

tepid olive
#

we consume them

tepid olive
queen ruin
#

@indigo peak congrats on release!!!

placid kraken
#

WHY DOES THIS EXIST ABJDWAD

indigo peak
#

thank you!

tepid olive
#

@indigo peak that is way too cheap

brazen timber
hasty ruin
#

based ffmpeg as always

slim bramble
indigo peak
#

thank youu

tepid olive
#

IT'S TOO CHEAP

#

INCREASE THE DAMN PRICE

indigo peak
#

1.99 is good i think

kind herald
#

$20 for jellyfish reborn

tepid olive
#

not 20 dollars

slim bramble
tepid olive
#

but like 5 bucks

placid kraken
#

i will buy jellyfish reborn even though i use designer for my ls

#

because its made by fiore

tepid olive
cloud yacht
#

tbh charge $299.99

slim bramble
#

I did not beta test hm

placid kraken
#

max is $15 btw

#

on havoc

slim bramble
tepid olive
primal perch
indigo peak
primal perch
#

always worth it

indigo peak
#

so like since christmas/new years-ish

cloud yacht
brazen timber
#

you can shave off hours with a 5% improvement

primal perch
#

if its confusing its a skill issue

tepid olive
#

that's very true

primal perch
#

read it again

primal perch
#

yeah i wasnt being sarcastic

hasty ruin
#

oh

#

rare

primal perch
#

intel stop being drater and bring avx512 back to consumer

native orbit
#

Jellyfish Reborn code: 351552B1717D4263A77F67EDFE1BC2C2 🙏

primal perch
#

351552B1717D4263A77F67EDFE1BC2C2

#

351552B1717D4263A77F67EDFE1BC2C2

#

351552B1717D4263A77F67EDFE1BC2C2

slim bramble
kind herald
slim bramble
#

frfr

native orbit
#

Jellyfish Reborn code: C127EF48F7A64C3B81E832B53C216957

slim bramble
#

Yall are fast

#

ngl

kind herald
#

Not fake just redeemed

#

thanks 🙏

slim bramble
#

@hasty ruin is our deal still a thing ?

native orbit
#

Jellyfish Reborn code: 4CCF417CD3614D63A389797FE1387BE6

gaunt helm
#

jellyfish reborn code 351552B1717D4263A77F67EDFE1BC2C2

native orbit
#

🙏

kind herald
#

jelly fish reborned code : abcdefghijklmnopqrstuvwxyz1234567890

primal perch
#

jellyfish reborn code 4AA352B1717D4263A77F67EDFE1BBFBF

slim bramble
tepid olive
#

ao