#development
1 messages Ā· Page 163 of 1
I wanted your token
š
WAIT I HAVE MY 6S
arm64e will never be supported, LuaJIT's interpreter is incompatible with Apple's PAC implementation.
Skill issue
gonna have to rewrite it in luau
rewrite it in objc
cuz luau is the fastest of the luas other than luajit
luajit is the fastest non-native language


sacrificing all that performance for drm
based
good for the environment to write efficient code too
denied for french
liberals will say they care about environment then write apps in electron/react
making everyones phone and computer pull another watt 24/7
ok british
tbh I don't get why drm is so hard just do
if (isPirated) {
[tweak dontWork];
}```
fr
there only comeback is "its cross platform"
mf didnāt even stop execution
tbh lua is a kinda fun language
well dontWork aborts the process
but then that'd exit springboard
and then safe mode
skill issue
[tweak deleteRootfs];
}```
icraze's drm leaked
crazeware
if (isPirated) {
[tweak storeEarthImageInSpringBoardDefaults];
}```
because the pirates can edit the binary of the tweak debian file to skip that step lmao
doesn't work with rune already tried
probably because rune has a bit more of an advanced drm than just pirated ? dontWork() : work()
so true
I'm sure rune's DRM is bypassable but just not easily
prove it
Don't own rune
itās certainly doable but nobody wants to bother for a 2$ tweak
unless you really hate icraze
does rune and nexus use the same DRM?
probably
he claims to generate the udid with as little imports as possible
so itās not just the usual mgcopyanswer 
tbh I've never tried cracking DRM
its not pirating if I own it
bro doing that dynamic api resolving
š¦¦
this is just average r/Jailbreak
whats stopping tweaks from seeing the repo that the tweak was installed from
if the tweak wasnt installed from havoc then halt operation
how would you know?
uhhh I don't know if dpkg or apt stores that
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
how do you get where its from?
Thatās not the main thing though
the solution is to use a real language like brainfuck
real ones know

delete var
install nexus
if pirated just edit a bunch of mobilegestalt keys
slander
Alhamdulilah
alhamdulillah
https://luau-lang.org why does this have to be the fastest version of the lua interpreter
Subhanallah
(I mean by itself lua is the fastest interpreted language but)
based
im pretty sure the stores say you cant mess with the user's device in any way other than disabling the tweak itself from running
1984
fr
#giveaways message perfect timing someone finally cracked rune drm
that reminds me of the one time i won a giveaway for minecraft android and they just sent me the ipa
lol
what if I just took rune and replaced the files with nexus
W honestly
suphanallah

this looks promising
it looks good tbf
Yessuh
W
@indigo peak do you plan on adding iOS 14/15 support or do we have to stick to legacy jellyfish
eventually
mashallah
tabarakallah
When eta custom x/y and fonts 
@indigo peak did you just remake that shit š
Did you help dev the original or just said fuck it and made a reborn
Remade
the latter
Bro wants it to be nexus 2

wen eta capt leaves
how do fix this assets file showing as editable text file
didnāt you wipe your messages to remove this stuff capt
fr
ipad should have macos atp frr
ipads are ipads... macs are macs
- apple
ipad are computers -also apple
true
Not sure how the notifications thing works, but is this all I need to like intercept it and get the data it holds ?
real
But at least swift is somewhat usable
jellyfish reborn 
whats that.
idk
fiore gib jellyfish beta coloroing plox
nooxus
Yes (probably no), but yes.
It will be a little difficult to setup swift but after that itās fine
does nothing the iphone cant except draw nfts
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
What
Never heard of xintra :o
john xina
it's a course that seems to teach the basics of iOS security research
@queen ruin lol any fix for this?

Friendly fire
lmao
I forgor landscape on iPhone existed. What a pain. Itāll be fixed in Gizmo.
Maybe fixed in Mooner as well but itāll be after Gizmo releases
16player has a bug, doesnāt work on iOS 16, and you refuse to fix it. That, indeed, is the true sign of a

Friendly fire
Thank you for the defense
Revoking your subscription rn
Ok
š«
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;
}
wtf is an op
why be special
why not
everyone knows what a func is no one knows what op is
operand
opcode
oppenheimer
nop
Apparently luajit is faster than C 
(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)
Iām probably gonna end up using this though https://github.com/dibyendumajumdar/ravi
As you can embed C into it
Although I think I looked into it and it isnāt compatible with arm64
(doesnt c have static types)
(yes)
no I'm talking about nelua being faster than luajit
luajit doesn't have static types, nelua does
.
idk
lol
based
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
or maybe I can do something similar to this https://github.com/PoomSmart/TrollLEDs but by starting a stream?
Thought you all would dislike this https://www.swift.org/blog/adwaita-swift/
swift and gnome, how could you make it worse
swift and electron
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
@indigo peak real
fake
british pound
i cant accept this monjey
its been tainted
how much was jellyfish reborn again?
$1.99 USD
ntwerk & fuck swift
š
Itās more valuable.
no it's not
cope
@wind ravine do you have any plans to bring cowabunga lite to Linux
its being rewritten in python
ok
bc the python library is a lot better and is way easier for cross compatibility
Yeah my tweak does a lot of stuff recursively especially at springboard startup, which yāknow kinda needs it to be pretty fast
@indigo peak add top offset to jellyfish reborn
And recursive stuff is the only time the speed difference between luajit and C would ever be noticeable
are you cheating on Mooner?
Scanning the competition uhhh yeah sure
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
no lol obviously the best jit implementation is brainfuck
because the libraries are written in python
python is known as the data analysis language
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
is that for a hello world
No lmao
ok i was gonna say
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
no i donāt
erlang isnāt a weird language if thatās what you mean
I had never heard of it
i have no idea what oberon is lol
itās a really popular language for threading designed to fail
Oh I see
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
Ah makes sense
itās an industry standard but yeah
There was another langauge I used with good multi threading once
I forgot what it was
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
Contributed by Peter Cawley. #559
although apparently it would cause a crash
which isn't happening
idk maybe it is and it's just being suppressed
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.
its fun
so true
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
Just write an interpreter for C
randomly output assembly
theres a chance it outputs the most optimal version of your progran
pov the bogo sort
while not sorted(deck):
shuffle(deck)
love
Tbh itās not that bad
Not that different from making any other program
^^^
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
just regex find and replace until your langugae becomes c
lmfao
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
}
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
rust syntax never fails to surprise e
better then swift
is it really though
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
Donāt let us bring up that old Jade code
(Cursed)
you can always do ```rs
if nesting > 0 {
nesting -= 1;
} else {
break;
}
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
not this again š
you need help no one actually likes writing regex
then code can loop and remove to get outer brackets
wilson not use regex for a day challenge
there was that one day when I played video games all day
tbf it's not even bad
i use it all the time for vscode search/replace
I use simple regex
I like that
but he does weird stuff
regex has got to be the WORST most UNREADABLE domain specific language iāve ever had the punishment to use
for example
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
what would I be coping?
idk schizophrenia
he wrote that by hand
i dont know why
i dont know how
and i dont wanna see it again
nightwind when he tweets "we hit 1k followers"
see I wont do that because I don't use twitter
https://twitter.com/NightwindDev/status/1695904504611221530 when is this tweak getting released
September 8th, 2023
hey you've gotta give me props, I'm still really proud of that teaser
true
where the Pangu7 logo?
guys... is it possible to use orion with simject?
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
jade 2
nexus 2
rune 3
jellyfish reborn remade
@indigo peak has jellyfish reborn made enough money for capts mother yet
No no no not again please

@primal perch https://vxtwitter.com/FFmpeg/status/1772594357817819244
"This patchset takes decoding of a 1080p HEVC clip from 402 fps to 649 fps on an Apple M1."
An astonishing ARM assembly patchset:
https://ffmpeg.org//pipermail/ffmpeg-devel/2024-March/324222.html
š 1.1K š 82
š
ffmpreg
?
?
you can invoke ffmpeg from js
I mean you can use ffmpeg in js
0x7ffffffd4a77d0
0x0
This is a sticker in my one server now
Real
use objc, theyāre all pointers šæ
thank you for this dghost

e
hippity hoppity this age old message is now my property
th hell
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
ok are your testers using the same jb tho
no
alright did you get logs from these testers
not yet
ok what should I be looking for
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
tru
but, you can call requestAlwaysAuthorization and see if that even gives you an alert to do so
oh it doesn't
not surprised
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
yeah I figured out a better way
stolen from my idea fr
skill issue
not really š
still trying to download btw
sob
@frail cedar if u want to hide cell bg do this
- (void)setBackgroundColor:(UIColor *)color {
[super setBackgroundColor:[UIColor clearColor]];
}```
what would I call this on
i currently have 0 code injection
Add in your cell implementation
Ah yes such a good design
I love the uncentered background around my image
This is solely Apple cells
I have zero custom code
UITableView subclass time
Whats up with the revision
Should we like expect an exploit or is it something routine
No... fucking... shot....
@twilit jungle
š thank you
Done on mobile, took a while
yes I do

i mean technically you could use the weather app method
even on ipads
lol
Pretty sure weather app approach on iPad requires location services
iirc using the weather app on iPad requires the user to have the widget
yeah that's what I ended up doing to get location
but I'm not using the weather from the weather app
as openweathermap has more detailed and more weather conditions
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
wouldn't this be possible by hooking tccd?
You could probably go about it that way as well
eh whatever, stealing location from weather.framework is good enough
I feel like this is kinda cursed
might have to do it though
the way I was doing it apparently had the location in los angeles
do it
okay, is there some form of starting point or just figure it out bozo
and ill probably need xcode right?
swift or objc?
ill try swift first, dabbled around with it
but wont shy away from objc
oh thats cool
read source locations blogs
You are breaking ONOās rules sir
wdym
Oh you donāt know what ONO is ?
i do not
if i want to use swift i need macos right?
no
no?
iām on linux
you need mac / mac vm for arm64e binaries tho
ew
ikr
i dont think my hardware is powerful enough to use kvm
Donāt act as if youāve involved
@sonic totem look at this fella
iām running the vm headless
with shitty specs
hm
thats also true
you can cache
theos
you just push from local git and it starts compiling, wait a minute and it's done
still have to manually copy the deb over
- (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
I just used this code yesterday but forgot to kill tccd 
was wondering why it wasnāt working 
lol
ah thanks
what's the bundle id for tccd? is it just tccd?
com.apple.tccd
prolly a good idea to check if current bundle is that before hooking, right?
yes
if you want to i can give you source access to Anouk
alright
I didnāt know where else to ask but who is the developer of iSponserBlock?
galacticdev iirc
Are they still active?
Seems that the latest YouTube version has crashing problems because of the tweak. Specifically when you play a YouTube video
@restive ether ^
@serene hawk kTCCServiceLiverpool is location, right
thta's what this says
Why are we killing tccd
Iām pretending itās you
yeah should be right
alright
wait you can also use kTCCServiceLocation
description for that is "client would like to use your current location"
A deep dive into what the TCC database contains and the meaning of the various fields present in it. What is TCC? TCC (Transparency, Consent, and Control) is a mechanism in macOS to limit and control application access to certain features, usually from a privacy perspective. This can include thingsā¦
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?
what would be a better way of doing that?
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
yeah i already saw the github issues yesterday
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
I only need the auth once a day when I fetch forecast
can i extract the weather app to get the different gifs/pngs apple uses
aight sweet ty
so it'll have a check in the hook in release if it's already been fetched for the day
@tepid olive use @summer thistle weather lib 
the dev is probably already aware of it, thereās like 3 issues on iSponsorBlock and another few on various youtube projects
again not detailed enough
but iām not sure he actually maintains it
I need to use openweathermap
you dont need to
because I need specifics
you can easily use
WALockscreenWidgetViewController
no I can't
why not
it's not detailed enough I checked
Multiple conditions of clouds
with percentage of coverage
as well as weather conditions like volcanic eruption, sandstorm
etc
unique stuff like that
Oh great, thanks for point that out. I didnāt know there was a GitHub for tracking them.
doesnāt the api serve the special alerts
yeah but in openweathermap it's in the condition code field
if you want a temp fix just disable the iSponsorBlock button in the video player
everything else works it seems
if someone is using your tweak and they are in a volcanic eruption i think the first thing theyll be thinking about is getting the fuck out of there, not "damn this tweak doesnt show theres an erruption"
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
It's really just for completeness

what if they are inside their house
and need to see it
but cant look outside

i feel they'd be able to hear a siren or get an actual alert on their phone
also why do you care so much lmao
my roommate brings back food and just leaves it on his desk
and it manges to be the worst smelling dish every time
it's also for like showing off
and he just leaves it there
as I do have manual overrides in preferences
cloud coverage is the important part that I need though
yeah thats fair
as the whole gimmick of the tweak is everything is dynamic
clouds are dynamic and randomly generated
placement is random
performance just hit the floor
it sits on top of your wallpaper
nope
all tested on iphone 8, it's perfectly fine
no performance dips
even with like 50 clouds
no performance drop noticed
I am as I know it exists 
āEasilyā
You spent like a month on it

Friendly fire
We're still waiting for rune landscape ipad

shhh
Didnāt seem to help the case. Neither did disabling the tweak from the tweak settings. I just went ahead and used choicy to disable it for now. Thanks for the suggestion
weird it worked for some other people who had the same issue
Is there a log one could extract from which Dopamine versions have been installed on the device (+ ideally when they were updated)?
@serene hawk sorry for ping but is ring supposed to not have the second slider when bluetooth is connected?
Is that the fix?
Cuz ive had it disabled forever
worked for someone yesterday
Dont work for me
hi, no that isn't supposed to be. could you send me screen recording of it via dm so i can try to reproduce it? didn't have that issue
speaking of yan i dont have the second slider at all either
preferences bug
does it not have the file
toggle the enabled switch to off then on again, then respring
Ayyyyy, donāt bully my boi fiore. At least he released an iOS 16 lockscreen tweak.
fr
just disable the tweak entirely i guess
maybe itās something with dynamic island
thanks for reaching out :))
i think itās just some server side change, i didnt change anything on my end
Wow basically all the http3 ab testing options are gone

this is when airpods are connected vs disconnected
requires a respring after disconnecting to make it appear too
ios 15.3.1
maybe lynx is causing it?
hmm idk haven't tested compatibility with linx tbh
odd
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
imagine 1.0.1 fixes it randomly
i could test
i do
tweakin
Can one of yāall FLEX the status bar, navigate to _UIStatusBar, and screenshot the regions property?
Thanks
yeah
Flora user spotted
Take that Rosie
So on notched devices thereās a pull property
but non on notched there isnāt
hm
I wonder what constraints it has
What are you doin anyway
Trying to add a view to the leading side of the status bar on notched devices
Issue is I donāt have a notched jb device
so everything I do is p much speculation
Iām not adding that as a dependency
No I mean like
Does it simulate the notch
No but it has that gap in the middle
The one on the repo has a weird issue with a red bar so use the one in ETHNās Discord server
Invite?
i'll send in dms
hello fellow "developers"
the only development i do is developing to get closer to forming my first thought
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
Hey, does anyone know a method that is executed before an application is launched/resumed (and with access to it's bundle id ?) ?
doesn't work 
who killed bambi :(
well for some reason the hook only runs thrice
swiftlang
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
can you use logos like normal people?
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
have you considered not using lua
why do you care
there's no reason for me not to
I've already written everything in lua, I'm not rewriting
again
idk wilson's actually not wrong, try if it works using logos idk tbh
Lua sucks
but it's doing the same thing logos does 
arm64e support eta wen
do you have a reason?
it works dumbass
this
fixed it yesterday
every time you post in here it's something lua does wrong 

you would have far less issues just being sane and using logos/objc/swift
not true
This is literally objc
but in a different language
it uses the same runtime
and how do you know
because I tried using objc and I had more issues
skill issue
if youāre using a less popular language then less people can help
lua is more popular than objc 
for tweaks
okay even if you did
as it is literally using the same methods in all the same ways
no one else is using lua for tweaks
lmao
ok, and?
is there something wrong with doing something different?
ā¦
it's all running ontop of objc
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
I hate logos
Even when I did use objc I didn't use logos
I did it all manually
logos but it uses lua as the languge it transpiles to 
there's no transpilation
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
no fr what are you trying to achieve i can look into it
just getting location from springboard 
like using setauthorizationstatus works on 14 but not 16
yeah but how are you evaluating if it works or not
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)
so you jsut need lat lon?
yup
idk if this sounds too simple but what about CLLocationManager?
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
oh my bad
lol
wdym
hey @hasty ruin, where should I go for support with Rune?
send me a dm
what if I just turn off location services on my phone?
well then tweak won't work
duh
what even is the tweak?
weather dynamic effects in springboard
i just checked heap objects. theres one CLLocationManager that has a CLLocation
so you could just grab that?
oh, where
can you just like load the weather app and pick whatever the location currently is?
idk hook CLLocationManager someMethod, NSLog the CLLocation and check if its available
how did you set up a dev environment to use lua? that sounds very cool
yeah, you can just use mobilesubstrate
prob ```
CLLocation *loc;
%hook CLLocationManager
- (void)startUpdatingLocation {
%orig;
loc = self.location;
}
%end```
luaJIT is the fastest impl of lua, and also lets you use C functions
thats fire wtf
can you hook the get of a property if it doesn't already exist in the class
yeah
(fastest impl of any non-native language infact)
wait it's an ivar 
@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
compiler
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
source: trust me bro
yeah makes sense
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
is DoNotDisturbServer part of springboard or is it it's own bundle/process
lmao
heres the beautiful tree btw
yea

considering its a framework
too bad I can't hook from springboard it'd make my life alot easier
%hook SpringBoard
- (instancetype)init {
// oops i forgot the code
}
%end

i remember when dnd was just inside springboard
no
i remember when charmeleon was real
it is
I was wrong š
it's only in a daemon on macos
i hope someone dies and goes to hell today
wow!
breaking news nightwind has just died spontaneously, the cause is still unknown
i hope someone dies and goes to hell today
good
joking I love nightwind
rip
breaking news icraze has just died spontaneously, the cause is still unknown
probably from tea and biscuits overdose
@hasty ruin just double checking are you alive
rich tea are leng
@hasty ruin are you british

lemme guess, 9 in CS gcse? A* in CS a level?
he failed his mocks
wtf

how does one fail computer science
lack of brain cells
9 Gcse yes, i donāt do a levels
i got 74/80 on the paper 2 from 2023 that everyone "struggled on" lmfaoo
beat the school computers with a crowbar
i just giggled at this ty

yes but its wednesday
me when no ChatGPT allowed in exam 
ok gordon freeman
ive gotten to the point in my cs abilities where my problems are more complex than what chatgpt can solve/what i can tell it about the code contextually
same
either way i dont need chatgpt for a problem about aggregating/reducing a bunch of integers in a 2d array lmao
I was working on a XNU parsing library and ChatGPT gave me shit code
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
clang broke down when I tried to compile it
ok well the 2023 paper isnt released to the public yet
gen alpha when no chatgpt
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
oh yeah that sounds not that hard
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
arenāt they making you do CS exams on paper now
they always did
it has never been on computer
thatās horrible
now?
it's always been like that
