#development

1 messages Ā· Page 163 of 1

tepid olive
#

I need to finish my tweak but arm64e issues

#

luajit doesn't work on arm64e

#

so I wasted a fuck ton of time

slim bramble
#

😭

#

WAIT I HAVE MY 6S

tepid olive
tepid olive
#

gonna have to rewrite it in luau

cloud yacht
#

rewrite it in objc

tepid olive
#

cuz luau is the fastest of the luas other than luajit

#

luajit is the fastest non-native language

tepid olive
hasty ruin
#

sacrificing all that performance for drm

tepid olive
#

not really

#

it's not too much of a performance loss

cloud yacht
#

just no DRM

#

Blazingly fast šŸ”„

brazen timber
#

based

primal perch
#

good for the environment to write efficient code too

hasty ruin
#

denied for french

primal perch
#

liberals will say they care about environment then write apps in electron/react

#

making everyones phone and computer pull another watt 24/7

kind herald
tepid olive
#

see it ain't that bad

cloud yacht
#

tbh I don't get why drm is so hard just do

if (isPirated) {
  [tweak dontWork];
}```
primal perch
#

fr

native orbit
tepid olive
#

well I also just don't like objc

hasty ruin
cloud yacht
#

tbh lua is a kinda fun language

tepid olive
#

yeah

#

much more fun to write than objc

#

objc is a nightmare

cloud yacht
tepid olive
#

and then safe mode

hasty ruin
#

Malware

cloud yacht
#

skill issue

slim bramble
#

L

slim bramble
primal perch
#

crazeware

cloud yacht
#
if (isPirated) {
  [tweak storeEarthImageInSpringBoardDefaults];
}```
placid kraken
placid kraken
#

probably because rune has a bit more of an advanced drm than just pirated ? dontWork() : work()

cloud yacht
#

I'm sure rune's DRM is bypassable but just not easily

kind herald
#

prove it

cloud yacht
#

Don't own rune

kind herald
primal perch
#

it’s certainly doable but nobody wants to bother for a 2$ tweak

#

unless you really hate icraze

cloud yacht
#

does rune and nexus use the same DRM?

primal perch
#

probably

#

he claims to generate the udid with as little imports as possible

#

so it’s not just the usual mgcopyanswer troll

cloud yacht
#

tbh I've never tried cracking DRM

placid kraken
#

lets see what #development is doing today

scheming about pirating rune

cloud yacht
#

its not pirating if I own it

brazen timber
primal perch
#

🦦

kind herald
placid kraken
#

whats stopping tweaks from seeing the repo that the tweak was installed from

#

if the tweak wasnt installed from havoc then halt operation

serene hawk
#

how would you know?

cloud yacht
#

uhhh I don't know if dpkg or apt stores that

placid kraken
#

its not like pirates can spoof the source that a tweak was downloaded from very easily theyd have to do like dynamic injection into tweaks at install time

cloud yacht
#

how do you get where its from?

placid kraken
#

i dont know lol

#

i meant theoretically

tepid olive
#

bro wtf

#

none of the luas on procursus have an arm64e slice

hasty ruin
placid kraken
#

the solution is to use a real language like brainfuck

hasty ruin
#

Bc if they spoof a udid you can just ban it

placid kraken
#

whats another way to cause a bootloop

brazen timber
#

delete var

primal perch
#

install nexus

native orbit
#

if pirated just edit a bunch of mobilegestalt keys

placid kraken
hexed knot
#

Alhamdulilah

primal perch
#

alhamdulillah

tepid olive
#

https://luau-lang.org why does this have to be the fastest version of the lua interpreter

hexed knot
#

Subhanallah

tepid olive
#

(I mean by itself lua is the fastest interpreted language but)

slim bramble
hexed knot
#

Who the fuck uses lua

#

This isnt gmod

placid kraken
brazen timber
#

1984

brazen timber
placid kraken
cloud yacht
#

that reminds me of the one time i won a giveaway for minecraft android and they just sent me the ipa

placid kraken
cloud yacht
#

or apk

#

whatever

primal perch
#

lol

cloud yacht
#

what if I just took rune and replaced the files with nexus

kind herald
#

then you have nexus

#

crazy to think about

cloud yacht
torn cloud
#

bismillah

#

ahamdulliah

#

allahuakbar

#

subhanallah

cloud yacht
#

suphanallah

torn cloud
torn cloud
#

tabarakallah

#

astagfirullah

tepid olive
#

this looks promising

torn cloud
#

it looks good tbf

indigo peak
#

Yessuh

timid furnace
#

i wouldn't be using it if it wasnt

torn cloud
#

W

#

@indigo peak do you plan on adding iOS 14/15 support or do we have to stick to legacy jellyfish

primal perch
#

subhanallah

#

astaghfirullah

torn cloud
acoustic imp
pine holly
#

@indigo peak did you just remake that shit 😭

#

Did you help dev the original or just said fuck it and made a reborn

hasty ruin
#

Remade

indigo peak
#

the latter

hasty ruin
timid furnace
#

yo

acoustic imp
timid furnace
#

cant actually see the file name in that gif

#

sad

hasty ruin
#

i can

#

it’s rune v1.0

kind herald
primal perch
#

wen eta capt leaves

proud geyser
#

how do fix this assets file showing as editable text file

hasty ruin
#

didn’t you wipe your messages to remove this stuff capt

primal perch
#

fr

acoustic imp
#

@indigo peak

proud geyser
#

šŸ’€šŸ’€

#

though luck

visual meadow
#

ykw fuck it

proud geyser
#

ipad should have macos atp frr

acoustic imp
#

- apple

proud geyser
#

ipad are computers -also apple

acoustic imp
#

yes they can do most thing some one would need a computer for

shut stag
acoustic imp
#

Not sure how the notifications thing works, but is this all I need to like intercept it and get the data it holds ?

indigo peak
tepid olive
#

I might have to use swift

#

I don’t like objc

lean ermine
#

or is this ios 15

tepid olive
#

But at least swift is somewhat usable

indigo peak
lean ermine
indigo peak
#

idk

lean ermine
#

fiore gib jellyfish beta coloroing plox

acoustic imp
queen ruin
tepid olive
#

First I’ll see if I can get luajit working on arm64e

#

If not then swift it is

queen ruin
#

It will be a little difficult to setup swift but after that it’s fine

proud geyser
worthy mulch
#

what's the general consensus here about the xintra iOS reversing course? I have somebody willing to fund me, but I don't want to waste my time taking it if the course is just bs

frail cedar
#

What

granite frigate
#

Never heard of xintra :o

primal perch
#

john xina

worthy mulch
#

it's a course that seems to teach the basics of iOS security research

sterile field
#

@queen ruin lol any fix for this?

reef trail
slim bramble
reef trail
#

lmao

queen ruin
#

Maybe fixed in Mooner as well but it’ll be after Gizmo releases

queen ruin
slim bramble
queen ruin
slim bramble
#

Revoking your subscription rn

queen ruin
#

😭

slim bramble
queen ruin
#

😫

placid kraken
#

ive made progress

use elle:io@{print};
use elle:random@{randint};

pub op main() {
    print(doStuff());
}

op doStuff() -> Int {
    let lowest: Int = 5;
    let highest: Int = 10;
    ret randint(lowest, highest) + 5 * 2;
}
placid kraken
#

operation

#

function

reef trail
#

why be special

placid kraken
#

why not

reef trail
#

everyone knows what a func is no one knows what op is

hasty ruin
#

operand

tawdry trench
#

opcode

reef trail
#

operator

#

like + - etc

queen ruin
#

oppenheimer

granite frigate
#

nop

tepid olive
#

Apparently luajit is faster than C trol

#

(In some cases)

#

Oh wait

#

So nelua is faster than C

#

Nelua is a variant of lua

#

(It’s prolly only faster because static types)

#

As you can embed C into it

#

Although I think I looked into it and it isn’t compatible with arm64

placid kraken
brazen timber
tepid olive
#

luajit doesn't have static types, nelua does

placid kraken
tepid olive
#

idk

#

lol

primal perch
#

based

fluid lintel
#

but if I wanted to make a tweak that when unlocking the screen it takes a picture should I do it on the springboard ? because I tried to do it from a binary listening to events but it is not possbilie to access the camera from background app

cloud yacht
#

Thought you all would dislike this https://www.swift.org/blog/adwaita-swift/

young meteor
#

swift and gnome, how could you make it worse

native orbit
snow python
#

everyonce and a while I come to this channel to see if anything has changed and its refreshing to see that its literally the exact same memes being reused for 5 years

placid kraken
#

@indigo peak real

cloud yacht
#

fake

indigo peak
#

i cant accept this monjey

#

its been tainted

merry dew
indigo peak
#

$1.99 USD

merry dew
#

okay ty

#

might give that one away too

#

well see

hasty ruin
indigo peak
tepid olive
#

@wind ravine do you have any plans to bring cowabunga lite to Linux

wind ravine
#

its being rewritten in python

tepid olive
#

ok

wind ravine
#

bc the python library is a lot better and is way easier for cross compatibility

tepid olive
#

Yeah my tweak does a lot of stuff recursively especially at springboard startup, which y’know kinda needs it to be pretty fast

queen ruin
#

@indigo peak add top offset to jellyfish reborn

tepid olive
#

And recursive stuff is the only time the speed difference between luajit and C would ever be noticeable

queen ruin
#

please

#

Thanks!

radiant idol
queen ruin
tepid olive
#

Isn’t luaJIT also known to be the best jit implementation ever?

#

Yeah I wouldn’t write batch processing software in lua 😭

#

But then tbf python is slower than luajit yet a lot of face recognition models are in python

placid kraken
placid kraken
tepid olive
placid kraken
#

python is known as the data analysis language

tepid olive
#

Normal lua is so slow that’s why I’m trying to avoid using it

#

Funny thing btw, vanilla lua is still the fastest interpreted langauge

placid kraken
tepid olive
#

No lmao

placid kraken
#

ok i was gonna say

tepid olive
#

It’s a long recursive loop

#

Also luajit is faster nowadays, that article is from 2011

#

🤣

#

This is a good write up

#

For some reason there’s a write up there

#

@placid kraken you know a bunch of weird languages, what is oberon

placid kraken
#

erlang isn’t a weird language if that’s what you mean

tepid olive
#

I had never heard of it

placid kraken
#

i have no idea what oberon is lol

tepid olive
#

Oh

#

It’s in Apple’s autocorrect weirdly

placid kraken
tepid olive
#

Oh I see

placid kraken
#

primarily whatsapp uses it for their telecommunications because it has self resuming threads and stuff

#

that’s how their infra is so powerful with such little employees

tepid olive
#

Ah makes sense

placid kraken
#

it’s an industry standard but yeah

tepid olive
#

There was another langauge I used with good multi threading once

#

I forgot what it was

tepid olive
#

ok y'all

#

I need some help lol

#

so for some reason

#

my tweak ain't loading on arm64e

#

it doesn't give any error message

#

nor message at all

#

and because of this I can't figure out why

#

I wonder if the issue is that I'm using a luajit commit before this

#

although apparently it would cause a crash

#

which isn't happening

tepid olive
#

idk maybe it is and it's just being suppressed

placid kraken
#

i added constants

#
pub const someInteger: Int = 5;
const test: String = "test";
const someChar: Char = 'c';
[src/parser/parser.rs:132] &self.tree = [
    Constant {
        name: "someInteger",
        public: true,
        type: "Int",
        value: Number(
            5,
        ),
    },
    Constant {
        name: "test",
        public: false,
        type: "String",
        value: String(
            "test",
        ),
    },
    Constant {
        name: "someChar",
        public: false,
        type: "Char",
        value: Character(
            'c',
        ),
    },
]
``` nothing new
#

except if i try to

pub const someIdentifier: String = someFunction(); // this fails because constants can only be literals
thread 'main' panicked at src/parser/constant.rs:35:13:
Constants can only be literal expressions.
radiant idol
#

I can't imagine trying to make a language

#

sounds painful

#

and a waste of time

placid kraken
#

its fun

radiant idol
#

so true

placid kraken
#

im not trying to make c

#

im trying to learn

#

This language is not designed to be used by any developer, it is intended simply as an experiment to better understand the internals of modern languages and how they work

cloud yacht
#

Just write an interpreter for C

cloud yacht
#

randomly output assembly

#

theres a chance it outputs the most optimal version of your progran

placid kraken
#
while not sorted(deck):
    shuffle(deck)
#

love

hexed knot
#

Not that different from making any other program

placid kraken
#

^^^

hexed knot
#

You research how smth works, then you implement it

#

And it is fun

placid kraken
#

lexer, parser, compiler

#

parse characters into tokens, parse the tokens into an ast, then compile the tree into something

#

at least for a compiled language

cloud yacht
#

just regex find and replace until your langugae becomes c

placid kraken
#

lmfao

placid kraken
#

imagine programming in qbe IL normally lmao

#
# Define the string constant.
data $str = { b "hello world", b 0 }

export function w $main() {
@start
        # Call the puts function with $str as argument.
        %r =w call $puts(l $str)
        ret 0
}
placid kraken
#

guys i need some pointers

#

whats a better way to parse function nesting

fn parse_function(&mut self) -> AstNode {
    let name = self.get_identifier();

    self.advance();
    self.expect_token(TokenKind::LeftParenthesis);
    self.advance();

    let mut parameters = vec![];

    while self.current_token().kind != TokenKind::RightParenthesis && !self.is_eof() {
        let mut tokens = vec![];
        let mut nesting = 0;

        loop {
            if self.current_token().kind == TokenKind::Identifier
                && self
                    .next_token()
                    .is_some_and(|x| x.kind == TokenKind::LeftParenthesis)
            {
                nesting += 1;
            }

            tokens.push(self.current_token());
            self.advance();

            if self.current_token().kind == TokenKind::Comma {
                self.advance();
                break;
            }

            if self.current_token().kind == TokenKind::RightParenthesis {
                match nesting > 0 {
                    true => {
                        nesting -= 1;
                    }
                    false => {
                        break;
                    }
                }
            }

            if self.is_eof() {
                break;
            }
        }

        parameters.push(Statement::new(tokens, 0).parse().0);
    }

    self.expect_token(TokenKind::RightParenthesis);
    self.advance();

    AstNode::FunctionCall { name, parameters }
}
#

before if you did test(test()) it died completely because it regarded the inner test's right parenthesis as the closing parenthesis for the outer function and everything exploded

#

with this, it works with infinitely nested functions

#

but it feels hacky

#

i essentially store the level of nesting as a variable now, every time theres an identifier and left paren it thinks "hmm thats a new function call in this parameter, a new level of nesting" and then this works fine with arithmetic operations because the level of nesting is decreased whenever it meets the closing parenthesis

#

if its 0, then we can say that the parameter's expression has reached the end and we can continue to the next parameter

radiant idol
#

rust syntax never fails to surprise e

native orbit
#

better then swift

radiant idol
#

is it really though

placid kraken
# placid kraken if its 0, then we can say that the parameter's expression has reached the end an...

essentially if you have a(b(c(d()) + c(e()))) then it parses it where a is the outer function, then nesting is 0. it meets the b(), nesting is now 1, it meets the c(), nesting is now 2, then meets d(), nesting is now 3. however, now the d() is closed, so nesting is back to 2, then the c() is closed, so nesting is back to 1, and then it meets a +, thats fine just add it to the token vector to be parsed, then it meets another c, nesting is now 2 again, then meets e(), nesting is now 3, then e() closes, back to 2, then c() closes, back to 1, then b() closes, back to 0, then a() closes and finally we can parse the inner expression recursively and return the function call expression

#

its hard to explain via text but it makes sense in my head

sonic totem
#

(Cursed)

placid kraken
placid kraken
# placid kraken essentially if you have `a(b(c(d()) + c(e())))` then it parses it where a is the...

and as you can see

[src/parser/parser.rs:132] &self.tree = [
    Operation {
        name: "main",
        public: false,
        arguments: [],
        return: "Nil",
        body: [
            FunctionCall {
                name: "a",
                parameters: [
                    FunctionCall {
                        name: "b",
                        parameters: [
                            ArithmeticOperation {
                                left: FunctionCall {
                                    name: "c",
                                    parameters: [
                                        FunctionCall {
                                            name: "d",
                                            parameters: [],
                                        },
                                    ],
                                },
                                right: FunctionCall {
                                    name: "c",
                                    parameters: [
                                        FunctionCall {
                                            name: "e",
                                            parameters: [],
                                        },
                                    ],
                                },
                                operator: Add,
                            },
                        ],
                    },
                ],
            },
        ],
    },
]
#

given the source

op main() {
    a(b(c(d()) + c(e())));
}
#

fun algorithm problem

#

basically

#

idk i was bored

cloud yacht
#

oh I have a silly regex that helps with this

radiant idol
cloud yacht
#

I actually do

#

well

#

it needs some code

#

its job is to find the inner brackets

radiant idol
#

you need help no one actually likes writing regex

cloud yacht
#

then code can loop and remove to get outer brackets

hasty ruin
#

wilson not use regex for a day challenge

cloud yacht
#

there was that one day when I played video games all day

hasty ruin
#

i use it all the time for vscode search/replace

cloud yacht
#

actually that too

#

I guess I use regex more than I thought

#

grep too

radiant idol
#

I like that

#

but he does weird stuff

placid kraken
radiant idol
#

for example

placid kraken
#

like what do you mean


const wacAnswers = props.markup
                .replace(/<[^>]+>/g, '')
                .replace(/^\$|\$$/g, '');
#

if i didn’t add this comment i would have no clue what that regex did today

// Get rid of <step></step> markup and '$' operator

#

what the fuck

#

is this a coping mechanism

#

we’re here to help

#

if you need support we’re here for you

cloud yacht
#

what would I be coping?

placid kraken
#

idk schizophrenia

radiant idol
#

he wrote that by hand

#

i dont know why

#

i dont know how

#

and i dont wanna see it again

hasty ruin
cloud yacht
#

see I wont do that because I don't use twitter

kind herald
cloud yacht
#

September 8th, 2023

radiant idol
#

hey you've gotta give me props, I'm still really proud of that teaser

placid kraken
#

1984

#

anyway why is the dopamine logo there lmao

kind herald
#

so people know it supports dopamine šŸ‘

#

where taurine logo

placid kraken
#

true

cloud yacht
#

where the Pangu7 logo?

tepid olive
#

guys... is it possible to use orion with simject?

placid kraken
#

i have some ideas for tweaks if anyone wants to tell me which one they would like to see most btw

  • a tweak to display your wallpaper blurred as the bg in system apps
  • a tweak to let you write math via latex easily in any stock ios text box (notes, imessage idk)
  • a tweak to add a search bar to one settings tweaks page (/hs)
  • a tweak to animate the pressing of cells in stock apps (as in like a scale out when pressed and then a scale in when let go)
#

not that i can make any of these for a while

#

but ideas either way

hasty ruin
#

jade 2

native orbit
#

nexus 2

kind herald
#

rune 3

young meteor
#

jellyfish reborn remade

#

@indigo peak has jellyfish reborn made enough money for capts mother yet

sonic totem
tepid olive
brazen timber
#

šŸš€

hasty ruin
#

šŸ”„

#

imagine ffmpeg in javascript lmao

kind herald
#

ffmpreg

hasty ruin
#

?

kind herald
#

?

cloud yacht
#

you can invoke ffmpeg from js

tepid olive
#

wasm is different though

#

it's webassembly

brazen timber
#

that

#

isn't the same thing

#

at all

cloud yacht
#

I mean you can use ffmpeg in js

vivid dew
brazen timber
cloud yacht
indigo peak
twilit jungle
hasty ruin
#

thank you for this dghost

twilit jungle
tepid olive
#

abc

#

d

acoustic imp
#

e

tepid olive
#

hippity hoppity this age old message is now my property

brazen timber
tepid olive
#

th hell

tepid olive
#

ok

#

@faint stag you're smart how do I force location permissions in springboard

#
[CLLocationManager setAuthorizationStatusByType:kCLAuthorizationStatusAuthorizedAlways forBundleIdentifier:[[NSBundle mainBundle] bundleIdentifier]];
#

this works for me but not my testers

faint stag
#

ok are your testers using the same jb tho

tepid olive
#

no

faint stag
#

alright did you get logs from these testers

tepid olive
#

not yet

tepid olive
faint stag
#

well, the method you're using is a void one so it's not gonna return anything
but u sholuld get something if springboard is denied access

tepid olive
#

tru

faint stag
# tepid olive tru

but, you can call requestAlwaysAuthorization and see if that even gives you an alert to do so

faint stag
#

not surprised

tepid olive
#

but this is in viewdidload of SBHomeScreenViewController

#

so I wouldn't expect it to work

#

is there a way to like request it for springboard in my preferences?

#

@faint stag ```Mar 26 21:49:41 locationd[15443] <Notice>: [mobile]com.apple.springboard is creating a CLLocationManager, but does not have any NSLocation*UsageDescription keys

#

I might end up just using geolocation APIs as it's for weather anyways

#

doesn't need to be too accurate

tepid olive
#

yeah I figured out a better way

indigo peak
#

could prob get away w smth like that

#

makes that header

frail cedar
#

thats exactly what im looking for

#

thank you

radiant idol
#

stolen from my idea fr

frail cedar
#

skill issue

indigo peak
radiant idol
indigo peak
#

hang on give me 5 minutes for the picture to load

#

my university’s Wi-Fi is so bad

indigo peak
radiant idol
#

sob

frail cedar
#

??????

#

code signature does not cover entire file up to signature

acoustic imp
#

@frail cedar if u want to hide cell bg do this

- (void)setBackgroundColor:(UIColor *)color {
    [super setBackgroundColor:[UIColor clearColor]];
}```
frail cedar
#

i currently have 0 code injection

acoustic imp
frail cedar
#

Ah yes such a good design

#

I love the uncentered background around my image

#

This is solely Apple cells

#

I have zero custom code

acoustic imp
orchid fulcrum
#

Whats up with the revision

#

Should we like expect an exploit or is it something routine

pine holly
#

@twilit jungle

#

šŸ™ thank you

#

Done on mobile, took a while

frail cedar
#

yes I do

cloud yacht
twilit jungle
faint stag
#

even on ipads

#

lol

twilit jungle
#

Pretty sure weather app approach on iPad requires location services

cloud yacht
#

iirc using the weather app on iPad requires the user to have the widget

tepid olive
#

but I'm not using the weather from the weather app

#

as openweathermap has more detailed and more weather conditions

summer thistle
#

There is a way to set the authorization status to use location services from your tweak for a given app, cuz I made my own weather library a couple weeks ago and found that out, however idk if setting it for springboard would work

serene hawk
summer thistle
#

You could probably go about it that way as well

tepid olive
#

eh whatever, stealing location from weather.framework is good enough

tepid olive
tepid olive
#

might have to do it though

merry dew
#

gang im thinking on making a tweak

#

gotta be full honest

tepid olive
reef trail
merry dew
#

and ill probably need xcode right?

reef trail
#

install theos

merry dew
#

but wont shy away from objc

reef trail
#

wrong link

#

right link

merry dew
#

oh thats cool

reef trail
merry dew
#

will do

#

thank you gang

slim bramble
reef trail
#

wdym

slim bramble
reef trail
#

i do not

merry dew
#

if i want to use swift i need macos right?

reef trail
#

no

merry dew
#

no?

reef trail
#

i’m on linux

merry dew
#

oh cool

#

didnt know that tbh

reef trail
#

you need mac / mac vm for arm64e binaries tho

merry dew
#

ah

#

yeah might consider hackintoshing my pc and using xcode tbh

reef trail
#

ew

merry dew
#

ikr

reef trail
#

i use a mac kvm for building

#

some people use github actions

merry dew
#

i dont think my hardware is powerful enough to use kvm

hasty ruin
#

@sonic totem look at this fella

reef trail
#

with shitty specs

merry dew
#

hm

tepid olive
#

you could also use gh actions like me

#

well I do it when away from home

merry dew
#

thats also true

reef trail
#

it’s sounds painful tho

#

doing that every dev cycle

tepid olive
#

theos

#

you just push from local git and it starts compiling, wait a minute and it's done

reef trail
#

still have to manually copy the deb over

tepid olive
#

ok welp I guess I have to hook tccd

#

now how would I do that

serene hawk
# tepid olive now how would I do that
- (void)setDefaultAllowedIdentifiersList:(NSArray *)list {
  if ([self.name isEqual:@"yourDesiredPermissionName"]) {
    // add bundle id to mutable copy of list and return %orig([tcclist copy])
  }
}```
#

dont forget to add com.apple.tccd to your tweaks .plist

#

and in postinst you want to do killall -9 tccd

indigo peak
#

was wondering why it wasn’t working fr

serene hawk
#

lol

tepid olive
#

what's the bundle id for tccd? is it just tccd?

serene hawk
#

com.apple.tccd

tepid olive
#

prolly a good idea to check if current bundle is that before hooking, right?

serene hawk
#

yes

serene hawk
tepid olive
#

nah it's fine

#

I can figure it out

serene hawk
#

alright

timid garden
#

I didn’t know where else to ask but who is the developer of iSponserBlock?

serene hawk
#

galacticdev iirc

timid garden
#

Are they still active?

#

Seems that the latest YouTube version has crashing problems because of the tweak. Specifically when you play a YouTube video

hexed knot
#

@restive ether ^

tepid olive
#

@serene hawk kTCCServiceLiverpool is location, right

serene hawk
#

uhh idk tbh

#

try

tepid olive
#

thta's what this says

radiant idol
#

Why are we killing tccd

indigo peak
serene hawk
tepid olive
#

alright

serene hawk
#

wait you can also use kTCCServiceLocation

#

description for that is "client would like to use your current location"

tepid olive
#

that says liverpool is ios and location is macos

#

    kTCCServiceLiverpool – Related to location services
    kTCCServiceUbiquity – Related to iCloud
    kTCCServiceShareKit – Related to the share feature(presumably from iOS)(ShareKit)
#

lemme just make it if it's either of them lmao

#
local function forcepermhook(_self,_cmd,list)
    if objc.tolua(_self.name) == "kTCCServiceLiverpool" or objc.tolua(_self.name) == "kTCCServiceLocation" then
        local mut = objc.tolua(list)
        table.insert(mut,objc.toobj'com.apple.springboard')
        local obj = objc.toobj(mut)
        ogsetdefaultallowedidlist(_self,_cmd,obj:copy())
        return
    end
    ogsetdefaultallowedidlist(_self,_cmd,list)
end
#

this look about right?

serene hawk
#

what would be a better way of doing that?

tepid olive
#

and then for actually hooking it: ```lua
if objc.tolua(objc.NSBundle:mainBundle().bundleIdentifier) == "com.apple.tccd" then
ogsetdefaultallowedidlist = objc.MSHookMessageEx("TCCDService","setDefaultAllowedIdentifiersList:",forcepermhook)
end

#

(it's a wrapper around MSHookMessageEx I made)

#

weather

#

dynamically in springboard

#

I need to use openweathermap as apple's weather thing is not detailed enough

restive ether
tepid olive
#

like alot of places; lockscreen, home screen, status bar

#

etc

#

that's more cursed woeis

restive ether
#

i assume some server side change got pushed that broke it, you can just turn off the buttons that show in the video player @hexed knot

tepid olive
#

I only need the auth once a day when I fetch forecast

lyric heron
#

can i extract the weather app to get the different gifs/pngs apple useshm

#

aight sweet ty

tepid olive
indigo peak
#

@tepid olive use @summer thistle weather lib trolllaugh

restive ether
restive ether
#

but i’m not sure he actually maintains it

tepid olive
#

I need to use openweathermap

indigo peak
#

you dont need to

tepid olive
#

because I need specifics

indigo peak
#

you can easily use
WALockscreenWidgetViewController

tepid olive
indigo peak
#

why not

tepid olive
#

it's not detailed enough I checked

indigo peak
#

what do you need

#

thats so detailed

tepid olive
#

Multiple conditions of clouds

#

with percentage of coverage

#

as well as weather conditions like volcanic eruption, sandstorm

#

etc

#

unique stuff like that

timid garden
restive ether
#

doesn’t the api serve the special alerts

tepid olive
restive ether
#

everything else works it seems

indigo peak
restive ether
#

LOL

#

i don’t need the next Pompeii to be a bunch of teenagers staring at the phones as they’re turned into immortalized stones

tepid olive
lyric heron
#

what if they are inside their house

#

and need to see it

#

but cant look outside

indigo peak
#

i feel they'd be able to hear a siren or get an actual alert on their phone

tepid olive
#

also why do you care so much lmao

indigo peak
#

my roommate brings back food and just leaves it on his desk

#

and it manges to be the worst smelling dish every time

tepid olive
#

it's also for like showing off

indigo peak
#

and he just leaves it there

tepid olive
#

as I do have manual overrides in preferences

tepid olive
indigo peak
#

yeah thats fair

tepid olive
#

as the whole gimmick of the tweak is everything is dynamic

#

clouds are dynamic and randomly generated

#

placement is random

restive ether
#

performance just hit the floor

tepid olive
#

it sits on top of your wallpaper

tepid olive
#

all tested on iphone 8, it's perfectly fine

#

no performance dips

#

even with like 50 clouds

#

no performance drop noticed

slim bramble
hasty ruin
#

You spent like a month on it

slim bramble
#

Friendly fire

#

We're still waiting for rune landscape ipad

indigo peak
timid garden
restive ether
#

weird it worked for some other people who had the same issue

solemn belfry
#

Is there a log one could extract from which Dopamine versions have been installed on the device (+ ideally when they were updated)?

wind ravine
#

@serene hawk sorry for ping but is ring supposed to not have the second slider when bluetooth is connected?

hexed knot
#

Cuz ive had it disabled forever

restive ether
#

worked for someone yesterday

hexed knot
#

Dont work for me

serene hawk
lean ermine
#

speaking of yan i dont have the second slider at all either

serene hawk
lean ermine
#

does it not have the file

serene hawk
#

toggle the enabled switch to off then on again, then respring

lean ermine
#

mm

#

tyvm

serene hawk
#

thats my bad but fixed in 1.0.1

#

going to push later

lean ermine
#

no worries thanks for responding lol

#

it fixed

summer thistle
young meteor
#

fr

restive ether
#

maybe it’s something with dynamic island

serene hawk
hexed knot
#

MashAllah it works

#

Dont have dynamjc island

restive ether
#

i think it’s just some server side change, i didnt change anything on my end

hexed knot
#

Wow basically all the http3 ab testing options are gone

wind ravine
#

requires a respring after disconnecting to make it appear too

#

ios 15.3.1

#

maybe lynx is causing it?

serene hawk
#

hmm idk haven't tested compatibility with linx tbh

wind ravine
#

odd

serene hawk
#

i'd like to fix this but need to know which tweak causes it xD

#

could you give me your installed tweaks list?

#

or at least those which inject into springboard

wind ravine
#

what tweak are u using for the number?

#

after disabling lynx 2 it seems to work

serene hawk
#

Ring 1.0.1 troll

#

hmm alright i'll try to investigate

wind ravine
#

imagine 1.0.1 fixes it randomly

serene hawk
#

rewrote it partially so idk

#

i can send you a build in dms if you want to test

wind ravine
#

i could test

slender glade
#

who here got a notched jb device

#

please

young meteor
#

i do

restive ether
slender glade
#

Can one of y’all FLEX the status bar, navigate to _UIStatusBar, and screenshot the regions property?

slender glade
placid kraken
radiant idol
placid kraken
#

i mean

#

yeah

radiant idol
#

Take that Rosie

slender glade
#

So on notched devices there’s a pull property

#

but non on notched there isn’t

#

hm

#

I wonder what constraints it has

radiant idol
#

What are you doin anyway

slender glade
#

Issue is I don’t have a notched jb device

#

so everything I do is p much speculation

radiant idol
#

Just uh

#

Install GesturesXV

#

and use that status bar

slender glade
#

I’m not adding that as a dependency

radiant idol
#

No I mean like

slender glade
#

OH

#

OHH

radiant idol
#

To test how it looks on

#

Dingus

slender glade
#

Does it simulate the notch

radiant idol
#

No but it has that gap in the middle

slender glade
#

I see

#

Thanks

radiant idol
#

The one on the repo has a weird issue with a red bar so use the one in ETHN’s Discord server

wind ravine
#

it doesnt work for me on ipad

radiant idol
#

Uh

#

Yeah?

#

Oh iPad

#

Hm idk

harsh junco
#

Feetwind

#

@hasty ruin

radiant idol
cloud yacht
#

hello fellow "developers"

placid kraken
#

the only development i do is developing to get closer to forming my first thought

cloud yacht
#

ok finje

#

hello "fellow" developers

tepid olive
#

So I'm running into an issue with linking the preferences framework. After doing some searching everything says to update the sdks to include the private frameworks, but the linker is still complaining that the framework is not found

slim bramble
#

Hey, does anyone know a method that is executed before an application is launched/resumed (and with access to it's bundle id ?) ?

serene hawk
#

show code

primal perch
#

who killed bambi :(

tepid olive
hasty ruin
tepid olive
#

and then never again

#

hooking stuff:

#
if objc.class("TCCDService") then
        print("We're tccd!")
        ogsetdefaultallowedidlist = objc.MSHookMessageEx("TCCDService","setDefaultAllowedIdentifiersList:",function (_self,_cmd,list)
            forcepermhook(_self,_cmd,list)
        end)
    else
        preferences.loadPrefs()
        ogviewdidload = objc.MSHookMessageEx("SBHomeScreenViewController","viewDidLoad",function (_self,_cmd)
            hook(_self,_cmd)
        end);
    end
    end
#

at first I thought it might be because the hooks don't persist

#

but they do

cloud yacht
#

can you use logos like normal people?

tepid olive
#

and the actual hook:

#
function forcepermhook(_self,_cmd,list)
    print("hi.")
   local succ,err = xpcall(function()
    local name = _self.name:UTF8String()
    print("Hola! " .. name)
    print(tostring(list))
    if name == "kTCCServiceLiverpool" or name == "kTCCServiceLocation" then
        local mut = objc.tolua(list)
        table.insert(mut,objc.toobj'com.apple.springboard')
        local obj = objc.toobj(mut)
        ogsetdefaultallowedidlist(_self,_cmd,obj:copy())
        return
    end
    ogsetdefaultallowedidlist(_self,_cmd,list)
end,debug.traceback)
if not succ and err then
    print(tostring(err))
    ogsetdefaultallowedidlist(_self,_cmd,list)
end
end
cloud yacht
#

have you considered not using lua

tepid olive
#

there's no reason for me not to

#

I've already written everything in lua, I'm not rewriting

#

again

serene hawk
#

idk wilson's actually not wrong, try if it works using logos idk tbh

slim bramble
#

Lua sucks

tepid olive
#

but it's doing the same thing logos does woeis

slim bramble
tepid olive
tepid olive
slim bramble
tepid olive
#

fixed it yesterday

young meteor
tepid olive
young meteor
#

you would have far less issues just being sane and using logos/objc/swift

tepid olive
#

This is literally objc

#

but in a different language

#

it uses the same runtime

tepid olive
#

because I tried using objc and I had more issues

young meteor
#

skill issue

tepid olive
#

#1 objc is much harder to debug

#

#2 objc syntax is weird

young meteor
#

it definitely is weird

#

i don't like it

granite frigate
#

if you’re using a less popular language then less people can help

tepid olive
granite frigate
#

for tweaks

tepid olive
#

there's literally no difference

#

I'd experience the same behaviour using objc

granite frigate
#

okay even if you did

tepid olive
#

as it is literally using the same methods in all the same ways

granite frigate
#

no one else is using lua for tweaks

tepid olive
#

lmao

tepid olive
#

is there something wrong with doing something different?

tepid olive
#

again not related

#

it's the same methods

#

same runtime

granite frigate
#

you know what nvm

#

gn

tepid olive
#

it's all running ontop of objc

serene hawk
#

i'd love to help you, just give me a usecase for what you're doing rn and i'll try to reproduce it using logos xD

tepid olive
#

Even when I did use objc I didn't use logos

#

I did it all manually

cloud yacht
#

logos but it uses lua as the languge it transpiles to troll

tepid olive
#

lmao

#

logos is just weird shortcuts

#

and again why does it matter to all of you so much

#

you seem offended that I'm using lua

serene hawk
#

no fr what are you trying to achieve i can look into it

tepid olive
#

like using setauthorizationstatus works on 14 but not 16

serene hawk
tepid olive
#

error handling

#
stack traceback:
    [C]: in function 'error'
    [string "weatherhandler"]: in function ''
    [string "weatherhandler"]: in function ''
    [string "weatherhandler"]: in function 'UIImageForCurrentWeather'
    [string "main"]: in function <[string "main"]:0>
    [C]: in function 'xpcall'
    [string "main"]: in function 'hook'
    [string "main"]: in function <[string "main"]:0>
#

locationManager location: nil

#
 if not locationManager.location then  
        error("Ignore this, we just need to wait for permission.")
   end
#

(it's like that cuz I was initially gonna ask for permission upon first boot but I couldn't get that to work)

serene hawk
#

so you jsut need lat lon?

tepid olive
serene hawk
#

idk if this sounds too simple but what about CLLocationManager?

tepid olive
#
print("fetching forecast!")
    local releasepool = objc.NSAutoreleasePool:new()
    print("Authed.")
    --print("Made autoreleasepool!")
    objc.CLLocationManager:setAuthorizationStatus_forBundleIdentifier(true,objc.NSBundle:mainBundle().bundleIdentifier)
    local locationManager = objc.CLLocationManager:alloc():init()
    print("Inited!")
    locationManager:startUpdatingLocation()
    print("Updating location!")
   -- print("Value of string global: "..tostring(string))
   print("locationManager location: "..tostring(locationManager.location))
   if not locationManager.location then  
serene hawk
#

oh my bad

tepid olive
#

lol

serene hawk
#

ye makes sense xD

#

what about hooking it and grabbing the CLLocation?

tepid olive
#

wdym

timid garden
#

hey @hasty ruin, where should I go for support with Rune?

hasty ruin
#

send me a dm

tepid olive
#

I think it's because

#

to get location permissions

#

you need

cloud yacht
#

what if I just turn off location services on my phone?

tepid olive
#

duh

cloud yacht
#

what even is the tweak?

tepid olive
#

weather dynamic effects in springboard

serene hawk
# tepid olive wdym

i just checked heap objects. theres one CLLocationManager that has a CLLocation

#

so you could just grab that?

cloud yacht
#

can you just like load the weather app and pick whatever the location currently is?

serene hawk
#

idk hook CLLocationManager someMethod, NSLog the CLLocation and check if its available

granite frigate
#

how did you set up a dev environment to use lua? that sounds very cool

tepid olive
#

luaJIT

#

there's alot of C code involved as well

granite frigate
#

ooo

#

im assuming you can hook objc classes via lua(jit)?

tepid olive
#

@serene hawk found the reference DNDSLocationLifetimeMonitor

#

_locationManager

tepid olive
serene hawk
#

prob ```
CLLocation *loc;
%hook CLLocationManager

  • (void)startUpdatingLocation {
    %orig;
    loc = self.location;
    }
    %end```
tepid olive
#

luaJIT is the fastest impl of lua, and also lets you use C functions

granite frigate
#

thats fire wtf

tepid olive
#

can you hook the get of a property if it doesn't already exist in the class

tepid olive
tepid olive
placid kraken
#

@wooden yarrow you seem like you know some stuff about languages, is checking if identifiers are defined or not a parser thing or a compiler thing

like for example do i check if the function call print is defined or not via the parser or the compiler

primal perch
#

compiler

placid kraken
#

currently im tempted to traverse the tree after its done parsing and then check that all the function calls and identifiers are defined but i assume thats not done in the parser step

primal perch
#

source: trust me bro

placid kraken
#

lmao

#

i can now parse all of this into an ast btw

use elle:io@{print};
use elle:int@{random};

const elle: String = "abc";

pub op main() {
    print(getStuff(5));
    ret a(b(c(d(e(1, 5))) + c(e())));
}

op getStuff(Int arg) -> Int {
    ret random(random(0, arg), random(arg * 2, arg * 3));
}
``` parses without issues
#

maybe soon i can start turning the ast into actual qbe IL

primal perch
#

supershock

#

meanwhile me limping through context free languages in class

tepid olive
#

is DoNotDisturbServer part of springboard or is it it's own bundle/process

tepid olive
#

ah it's in donotdisturbd

#

I guess that makes sense lmao

primal perch
#

yea

frail cedar
primal perch
#

considering its a framework

tepid olive
#

too bad I can't hook from springboard it'd make my life alot easier

placid kraken
#
%hook SpringBoard

- (instancetype)init {
    // oops i forgot the code
}

%end
primal perch
vivid dew
#

i remember when dnd was just inside springboard

cloud yacht
#

no

primal perch
#

i remember when zefram was real

#

no wait i dont

placid kraken
#

i remember when charizard was real

#

no i dont

young meteor
#

i remember when charmeleon was real

tepid olive
#

I was wrong 😭

#

it's only in a daemon on macos

torn cloud
#

i remember when Capt had a large penis

#

wait no I don’t

hexed knot
#

i hope someone dies and goes to hell today

tepid olive
#

wow!

placid kraken
torn cloud
#

i hope someone dies and goes to hell today

torn cloud
#

joking I love nightwind

#

rip

young meteor
torn cloud
#

@hasty ruin just double checking are you alive

torn cloud
placid kraken
#

@hasty ruin are you british

torn cloud
#

yes he is

#

you can tell

#

he’s probably a Tory

#

lol filtered

hasty ruin
placid kraken
#

lemme guess, 9 in CS gcse? A* in CS a level?

torn cloud
#

he failed his mocks

placid kraken
#

wtf

torn cloud
placid kraken
#

how does one fail computer science

torn cloud
#

lack of brain cells

hasty ruin
placid kraken
#

i got 74/80 on the paper 2 from 2023 that everyone "struggled on" lmfaoo

cloud yacht
placid kraken
harsh junco
#

Chat do use SwiftUI

#

Chat do use SwiftUI

#

Chat do use SwiftUI

cloud yacht
placid kraken
#

yes but its wednesday

torn cloud
young meteor
placid kraken
torn cloud
#

same

placid kraken
#

either way i dont need chatgpt for a problem about aggregating/reducing a bunch of integers in a 2d array lmao

torn cloud
#

I was working on a XNU parsing library and ChatGPT gave me shit code

cloud yacht
#

tbh copilot is handy but I don't really struggle without

#

I mostly just use it in places where I'd be copy pasting code

torn cloud
#

clang broke down when I tried to compile it

placid kraken
#

ok well the 2023 paper isnt released to the public yet

placid kraken
#

but yeah basically the hardest question on that test asked you to loop through a 2d array and sum together all the time that each sensor was on for or whatever

cloud yacht
#

oh yeah that sounds not that hard

placid kraken
#

i not only wrote it in js, explained all my thinking in an entire extra page, but i then redid it in ocr exam reference language after aswell because i had enough time and i was bored

torn cloud
placid kraken
torn cloud
#

if they are I’m not taking it lmao

#

wtf

placid kraken
#

it has never been on computer

torn cloud
#

that’s horrible

brazen timber
#

it's always been like that