#development
1 messages · Page 554 of 1
true
does printf just call fprintf to the fd 1
calls vfprintf
so same thing as far as that's concerned?
yeah
so perhaps ur BS is changing the FD or something
this would be more easily answered looking at disassembly of your program than source, maybe
x0 = 0x00000001edf2eae0 __sF + 152
x1 = 0x00000001edf2e0d0 __global_locale
x2 = 0x000000010476bfa0 "helo worl %i"
x3 = 0x000000016b69b4c0
x4 = 0x0000000000000000
x5 = 0x0000000000000000
x6 = 0x0000000000000000
x7 = 0x0000000000000000
x8 = 0x0000000000000000
x9 = 0x00000001edf2e0d0 __global_locale
x10 = 0x0000000000001cd5
x11 = 0x00000001f59d2bab
x12 = 0x00000001f59d2bab
x13 = 0x000000000000000f
x14 = 0x0000000000000881
x15 = 0x000000008000001f
x16 = 0x000000019d5180cc libsystem_c.dylib`printf
x17 = 0x000000010476c010 _dyld_private
x18 = 0x0000000000000000
x19 = 0x0000000000000000
x20 = 0x000000010476bef0 a.out`bprintf
x21 = 0x000000016b69b530
x22 = 0x0000000000000000
x23 = 0x0000000000000002
x24 = 0x0000000000000000
x25 = 0x0000000000000000
x26 = 0x0000000000000000
x27 = 0x0000000000000000
x28 = 0x000000016b69b578
fp = 0x000000016b69b4b0
lr = 0x000000019d51811c libsystem_c.dylib`printf + 80
sp = 0x000000016b69b4a0
pc = 0x000000019d5197c8 libsystem_c.dylib`vfprintf_l
cpsr = 0x60000000```
hmm
this is when breakpoint set at vfprintf_l
alright
x0 = 0x0000000100157fa0 "helo worl %i"
x1 = 0x0000000000000003
x2 = 0x000000016fcaf598
x3 = 0x000000016fcaf650
x4 = 0x0000000000000000
x5 = 0x0000000000000000
x6 = 0x0000000000000000
x7 = 0x0000000000000000
x8 = 0x000000016fcaf520
x9 = 0x0000000000000003
x10 = 0x00000001001504b0 a.out`_mh_execute_header + 1200
x11 = 0x0000000080000028
x12 = 0x0000000080000028
x13 = 0x0000000000000002
x14 = 0x0000000000000000
x15 = 0x000000000000000c
x16 = 0x0000000100157f14 a.out`main
x17 = 0x0000000100418050 (void *)0x0000000100305090
x18 = 0x0000000000000000
x19 = 0x0000000000000000
x20 = 0x0000000100157ef0 a.out`bprintf
x21 = 0x000000016fcaf530
x22 = 0x0000000000000000
x23 = 0x0000000000000002
x24 = 0x0000000000000000
x25 = 0x0000000000000000
x26 = 0x0000000000000000
x27 = 0x0000000000000000
x28 = 0x000000016fcaf578
fp = 0x000000016fcaf540
lr = 0x0000000100157eec a.out`callf + 248
sp = 0x000000016fcaf4e0
pc = 0x0000000100157ef0 a.out`bprintf
cpsr = 0x80000000
```a.out`bprintf:
-> 0x100157ef0 <+0>: sub sp, sp, #0x20 ; =0x20
0x100157ef4 <+4>: stp x29, x30, [sp, #0x10]
0x100157ef8 <+8>: add x29, sp, #0x10 ; =0x10
0x100157efc <+12>: str x0, [sp, #0x8]
0x100157f00 <+16>: ldr x0, [sp, #0x8]
0x100157f04 <+20>: bl 0x100157f70 ; symbol stub for: printf
0x100157f08 <+24>: ldp x29, x30, [sp, #0x10]
0x100157f0c <+28>: add sp, sp, #0x20 ; =0x20
0x100157f10 <+32>: ret
alright just fixed that issue it didn't do anything
wish I weren't at work so I could actually use a disassembler rn lol
nah i forgot to put the second arg there on that one
Android release of IDA when
```a.out`bprintf:
-> 0x1043bfedc <+0>: sub sp, sp, #0x30 ; =0x30
0x1043bfee0 <+4>: stp x29, x30, [sp, #0x20]
0x1043bfee4 <+8>: add x29, sp, #0x20 ; =0x20
0x1043bfee8 <+12>: stur x0, [x29, #-0x8]
0x1043bfeec <+16>: stur w1, [x29, #-0xc]
0x1043bfef0 <+20>: ldur x0, [x29, #-0x8]
0x1043bfef4 <+24>: ldur w8, [x29, #-0xc]
0x1043bfef8 <+28>: mov x2, x8
0x1043bfefc <+32>: mov x9, sp
0x1043bff00 <+36>: str x2, [x9]
0x1043bff04 <+40>: bl 0x1043bff70 ; symbol stub for: printf
0x1043bff08 <+44>: ldp x29, x30, [sp, #0x20]
0x1043bff0c <+48>: add sp, sp, #0x30 ; =0x30
0x1043bff10 <+52>: ret
in discord
new disasm
x0 = 0x000000010016bfa0 "helo worl %i"
x1 = 0x0000000000000003
x2 = 0x0000000000000003
x3 = 0x000000016fc9b650
x4 = 0x0000000000000000
x5 = 0x0000000000000000
x6 = 0x0000000000000000
x7 = 0x0000000000000000
x8 = 0x0000000000000003
x9 = 0x000000016fc9b4b0
x10 = 0x0000000000001cd5
x11 = 0x00000001f59d2bab
x12 = 0x00000001f59d2bab
x13 = 0x000000000000000f
x14 = 0x0000000000000881
x15 = 0x000000008000001f
x16 = 0x000000019d5180cc libsystem_c.dylib`printf
x17 = 0x000000010016c010 _dyld_private
x18 = 0x0000000000000000
x19 = 0x0000000000000000
x20 = 0x000000010016bedc a.out`bprintf
x21 = 0x000000016fc9b530
x22 = 0x0000000000000000
x23 = 0x0000000000000002
x24 = 0x0000000000000000
x25 = 0x0000000000000000
x26 = 0x0000000000000000
x27 = 0x0000000000000000
x28 = 0x000000016fc9b578
fp = 0x000000016fc9b4d0
lr = 0x000000010016bf08 a.out`bprintf + 44
sp = 0x000000016fc9b4b0
pc = 0x000000019d5180cc libsystem_c.dylib`printf
cpsr = 0x80000000``` registers at printf breakpoint
no, bprintf is in c
printf(fmt, c);
}``` just this
thats all it does
this is what printf gets
1 moment il check
3
hangs
x0 = 0x00000001edf2eae0 __sF + 152
x1 = 0x00000001edf2e0d0 __global_locale
x2 = 0x00000001022a7fa0 "helo worl %i"
x3 = 0x000000016db5f4b0
x4 = 0x0000000000000000
x5 = 0x0000000000000000
x6 = 0x0000000000000000
x7 = 0x0000000000000000
x8 = 0x0000000000000000
x9 = 0x00000001edf2e0d0 __global_locale
x10 = 0x0000000000001cd5
x11 = 0x00000001f59d2bab
x12 = 0x00000001f59d2bab
x13 = 0x000000000000000f
x14 = 0x0000000000000881
x15 = 0x000000008000001f
x16 = 0x000000019d5180cc libsystem_c.dylib`printf
x17 = 0x00000001022a8010 _dyld_private
x18 = 0x0000000000000000
x19 = 0x000000016db5f4b0
x20 = 0x00000001022a7fa0 "helo worl %i"
x21 = 0x00000001edf2e0d0 __global_locale
x22 = 0x00000001edf2eae0 __sF + 152
x23 = 0x0000000000000002
x24 = 0x0000000000000000
x25 = 0x0000000000000000
x26 = 0x0000000000000000
x27 = 0x0000000000000000
x28 = 0x000000016db5f578
fp = 0x000000016db5f480
lr = 0x000000019d5197ec libsystem_c.dylib`vfprintf_l + 36
sp = 0x000000016db5f460
pc = 0x000000019d512268 libsystem_c.dylib`flockfile
cpsr = 0x60000000
``` at flockfile
it doesn't
ok
oh nvm it does return
x1 = 0x0000000000000000
x2 = 0x00000000000120a8
x3 = 0x000000010a80920b
x4 = 0x00000001f59d2ba8
x5 = 0x000000016d5874b0
x6 = 0x0000000000000033
x7 = 0x0000000000000000
x8 = 0x0000000102c5392c dyld`_main_thread + 172
x9 = 0x00000001edf2d450 libsystem_kernel.dylib`errno
x10 = 0x00000001edf2e8c8 __sFX + 240
x11 = 0x0000000000000002
x12 = 0x00000000fffffffd
x13 = 0x0000010000000000
x14 = 0x0000000000000000
x15 = 0x0000000000000000
x16 = 0x00000001c076df3c libsystem_kernel.dylib`__error
x17 = 0x0000000000000000
x18 = 0x0000000000000000
x19 = 0x0000000000000000
x20 = 0x000000010287fedc a.out`bprintf
x21 = 0x000000016d587530
x22 = 0x0000000000000000
x23 = 0x0000000000000002
x24 = 0x0000000000000000
x25 = 0x0000000000000000
x26 = 0x0000000000000000
x27 = 0x0000000000000000
x28 = 0x000000016d587578
fp = 0x000000016d5874d0
lr = 0x000000010287ff08 a.out`bprintf + 44
sp = 0x000000016d5874b0
pc = 0x000000010287ff08 a.out`bprintf + 44
cpsr = 0x20000000```
0x1043bff08 <+44>: ldp x29, x30, [sp, #0x20]
right after the BL to prntf
i dont know, how do i check
no
yeah
i used blr x20
also does the uh
error thing matter
in x9
What does your callf look like?
nope br doesn't hang it segfaults
_callf:
mov x20, x0
mov x21, sp
mov x23, x1
str x1, [sp, #-16]!
str x21, [sp, #-16]!
str x22, [sp, #-16]!
str x23, [sp, #-16]!
cmp x23, #1
bne .+12
mov x0, x9
b .+160
ldr x0, [x21], #16
cmp x23, #2
bne .+12
mov x1, x9
b .+140
ldr x1, [x21], #16
cmp x23, #3
bne .+12
mov x2, x9
b .+120
ldr x2, [x21], #16
cmp x23, #4
bne .+12
mov x3, x9
b .+100
ldr x3, [x21], #16
cmp x23, #5
bne .+12
mov x4, x9
b .+80
ldr x4, [x21], #16
cmp x23, #6
bne .+12
mov x5, x9
b .+60
ldr x5, [x21], #16
cmp x23, #7
bne .+12
mov x6, x9
b .+40
ldr x6, [x21], #16
cmp x23, #8
bne .+12
mov x7, x9
b .+20
ldr x7, [x21], #16
cmp x23, #8
bgt .+8
str x9, [sp, #-16]!
nop
cmp x23, #0x8
ble .+36
sub x23, x23, 0x8
ldr x22, [x21], #16
str x22, [sp, #-16]!
sub x21, x21, #16
sub x23, x23, #1
cmp x23, #1
bgt .-20
str x9, [sp, #-16]!
br x20
ret
(I know it doesn't set the stack back at the end yet)
the thing is
usually when that happens
You should use labels instead of raw offsets
it'll print then segfault
but it doesn't print at all
also
if it infinte looped at bprintf
it should have printed repeatedly
or at least once
but it printed 0 times
also is the error thing at x9 and x16 relevant
It does print
no?
Add the newline ;)
At the end of the buffer passed to printf
i dont think it is, when i put a breakpoint at callf x9 is defined as the last argument
Ok, but in this case it does, so it should print
and by the point it gets to printf the args look correct
hmm i could do that but i dont get why it isn't printing right now
just in case there's something already there
did you add the newline?
no ill do that now
...... seriously that actually works
the newline thing somehow works
i have no clue how
@oblique orbit that seriously works

why does printf want a newline though
Stream flushing :|
usually printf doesn't need a newline
right now i just ran it from ssh
it prints then segfaults because i didn't fixup the stack
but if i fixup the stack it should work maybe
alright
i have no idea how adding a newline to the end somehow makes it work
that is the weirdest thing.
now my new question is: why does using BLR at the end result in a loop
hangs.
when it's blr it hangs
when bl it doesn't but it ends up executing at 0x0 somewhere
i mean
br
Since BL expects an offset and you're giving printf's address
I doubt it loops
Oh that causes a hang?
That messes up the RET
ah
ret is implicitly ret x30
anddddd now it doesnt print anymore
wait ik
there
now it prints and doesn't segfault!
time to test it out with other functions
ok
well i have no clue where else to find the last argument
huh?
i have currrent nargs set to 2 already
it sets x0
or
idk
maybe its just
a weird
thing
nope it definitely sets x0
ldr x0, [x21], #16 right here
it seems to work okay luckily
no clue why
no clue about the x9 nonsense
all the other args are on the stack i think
weird
i found an issue
int main() {
char* e = "helo worl %i\n";
long long pf = (long long)bprintf;
callf(pf, 3, 1, e, 4);
}
``` doesn't get the second argument
wait hmm
maybe
ldr x0, [x21], #16
should be
ldr x0, [x21], #8
i dont know why this one wont work
quite odd
lithium-ion moment
alright
0x104ec7ee4 <+4>: stp x29, x30, [sp, #0x40]
0x104ec7ee8 <+8>: add x29, sp, #0x40 ; =0x40
0x104ec7eec <+12>: stur x0, [x29, #-0x8]
0x104ec7ef0 <+16>: stur x1, [x29, #-0x10]
0x104ec7ef4 <+20>: stur x2, [x29, #-0x18]
0x104ec7ef8 <+24>: str x3, [sp, #0x20]
0x104ec7efc <+28>: ldur x8, [x29, #-0x8]
0x104ec7f00 <+32>: ldur x9, [x29, #-0x10]
0x104ec7f04 <+36>: ldur x10, [x29, #-0x18]
0x104ec7f08 <+40>: ldr x11, [sp, #0x20]
0x104ec7f0c <+44>: adrp x0, 0
0x104ec7f10 <+48>: add x0, x0, #0xf94 ; =0xf94
0x104ec7f14 <+52>: mov x12, sp
0x104ec7f18 <+56>: str x8, [x12]
0x104ec7f1c <+60>: str x9, [x12, #0x8]
0x104ec7f20 <+64>: str x10, [x12, #0x10]
0x104ec7f24 <+68>: str x11, [x12, #0x18]
0x104ec7f28 <+72>: bl 0x104ec7f64 ; symbol stub for: printf
0x104ec7f2c <+76>: ldp x29, x30, [sp, #0x40]
0x104ec7f30 <+80>: add sp, sp, #0x50 ; =0x50
0x104ec7f34 <+84>: ret
my question is
wheres x1 an x2 calls
oh wait
its printf
vararg
on stack
a.out`bruh: -> 0x10480fed0 <+0>: sub sp, sp, #0x50 ; =0x50 0x10480fed4 <+4>: str x0, [sp, #0x48] 0x10480fed8 <+8>: add x8, sp, #0x40 ; =0x40 0x10480fedc <+12>: add x9, sp, #0x50 ; =0x50 0x10480fee0 <+16>: str x9, [x8] 0x10480fee4 <+20>: ldr x8, [sp, #0x40] 0x10480fee8 <+24>: ldr x9, [x8] 0x10480feec <+28>: add x8, x8, #0x8 ; =0x8 0x10480fef0 <+32>: str x8, [sp, #0x40] 0x10480fef4 <+36>: str x9, [sp, #0x30] 0x10480fef8 <+40>: ldr x8, [sp, #0x30] 0x10480fefc <+44>: str x8, [sp, #0x38] 0x10480ff00 <+48>: ldr x8, [sp, #0x40] 0x10480ff04 <+52>: ldr x9, [x8] 0x10480ff08 <+56>: add x8, x8, #0x8 ; =0x8 0x10480ff0c <+60>: str x8, [sp, #0x40] 0x10480ff10 <+64>: str x9, [sp, #0x20] 0x10480ff14 <+68>: ldr x8, [sp, #0x20] 0x10480ff18 <+72>: str x8, [sp, #0x28] 0x10480ff1c <+76>: ldr x8, [sp, #0x40] 0x10480ff20 <+80>: ldr x9, [x8] 0x10480ff24 <+84>: add x8, x8, #0x8 ; =0x8 0x10480ff28 <+88>: str x8, [sp, #0x40] 0x10480ff2c <+92>: str x9, [sp, #0x10] 0x10480ff30 <+96>: ldr x8, [sp, #0x10] 0x10480ff34 <+100>: str x8, [sp, #0x18] 0x10480ff38 <+104>: ldr x8, [sp, #0x40] 0x10480ff3c <+108>: ldr x9, [x8] 0x10480ff40 <+112>: add x8, x8, #0x8 ; =0x8 0x10480ff44 <+116>: str x8, [sp, #0x40] 0x10480ff48 <+120>: str x9, [sp] 0x10480ff4c <+124>: ldr x8, [sp] 0x10480ff50 <+128>: str x8, [sp, #0x8] 0x10480ff54 <+132>: add sp, sp, #0x50 ; =0x50 0x10480ff58 <+136>: ret
@lime pivot ok so, libiosexec shebang redirection will not work on checkra1n, when using checkra1n exec(3) will work just fine on scripts so libiosexec never gets activated
aaaaaaaaa
a.out`test3: -> 0x1009c3efc <+0>: sub sp, sp, #0x30 ; =0x30 0x1009c3f00 <+4>: stp x29, x30, [sp, #0x20] 0x1009c3f04 <+8>: add x29, sp, #0x20 ; =0x20 0x1009c3f08 <+12>: stur x0, [x29, #-0x8] 0x1009c3f0c <+16>: add x8, sp, #0x10 ; =0x10 0x1009c3f10 <+20>: add x9, x29, #0x10 ; =0x10 0x1009c3f14 <+24>: str x9, [x8] 0x1009c3f18 <+28>: ldr x8, [sp, #0x10] 0x1009c3f1c <+32>: ldr x9, [x8] 0x1009c3f20 <+36>: add x8, x8, #0x8 ; =0x8 0x1009c3f24 <+40>: str x8, [sp, #0x10] 0x1009c3f28 <+44>: str x9, [sp] 0x1009c3f2c <+48>: ldr x8, [sp] 0x1009c3f30 <+52>: str x8, [sp, #0x8] 0x1009c3f34 <+56>: ldr x0, [sp, #0x8] 0x1009c3f38 <+60>: bl 0x1009c3ec8 ; somenum 0x1009c3f3c <+64>: ldp x29, x30, [sp, #0x20] 0x1009c3f40 <+68>: add sp, sp, #0x30 ; =0x30 0x1009c3f44 <+72>: ret
oh huh, ok. is libiosexec detecting which behavior to use? like it tries to exec and only does its own thing if that fails?
Exactly
Cause exec works fine for normal bins
nfr
nfr
a bad pc
why
yeah
i dont have a mac
whats why i asked you if you could send me xcode proj
just use opencore or vm
aye I see
if the binary starts with a shebang we could for it to do have stuff for shebang redirection, regardless of whether the original function would work or not CC: @subtle grail
yeah that’s what i was thinking
just toss a shell script check in the beginning and use liosexec regardless if true
if shebang redirection doesn't work on check it's kinda useless
since check will be the only place to actually test rootless on 15
also, you need to finish the reentrant funcs, smh
procursus devs are utterly deranged
@silver rampart can i still call you kat or krit
or would you prefer cynder or something else
entirely indifferent
indeed
tell me your pronouns
i should be in a mental asylum right now

your/mom
no/bitches
can i have your pronouns tri
@vivid dew's are shit/dev


https://github.com/cxnder/headers source code for my headers site fiinally
https://headers.cynder.me/ - PHP Source Code. Contribute to cxnder/headers development by creating an account on GitHub.
cznder when?
enjoy all of the extremely bad input sanitization
afaik there should still be a few ways to browse arbitrary paths above webroot lol
might be rce in the diff tool as well
need to actually learn more php stuff
@lime pivot the best week of august
Hey, who is one of the best UI/theme tweak developers that is looking for some paid work to do? Trying to get a bolders-like tweak done
happy birthday big man
r/tweakbounty
also didn't someone here do something like that
Yeah I posted there several times, no one picked it up. There was Folded but its no longer working
you could ask the guy who made bolders
Hes been MIA for a bit
for a bolders-like tweak i can't think of a better person
Than burrit0z?
i made bolders
why are you taking screenshots with hypercam 2 unregistered
i’m an alt
don't say the b word
Wtf real talk?
its my gpu's built in clipping software
Wow, okay, you interested in making a remake for ios 14
i thought we werent telling anyone
wtf
I’lll pay
Nice
releasing next week probably
not wrong
remove the /s
if it was just you id remove the /s
um,,,,,,,,,
I feel like ur fucking with me lol but if ur not nice
i am
fucking knew it
im just here for the ride
i told you shes a bad dev
Jesus
suck my massive gridlock
everyone with an orange name is a fake dev
grid lock
[[bolders]]
Bigger bolder folders
that?
they were given the role to warn others
why dont you have it
BANGER
i’m too hot
false
physically thick mentally sick
thanks for the token grabber
i will never run an exe that tri' sends
is that a mf skyblock program
or am i high
catboy
run it.
nice dylib
nice dylib bro, too bad mines compiled for armv7

kills it faster
is it true that the arm64e instruction set can communicate with the cia with pacia
exit(1)
Phone call
All the
CIA
Ivery
Afast
Or you could just delete SpringBoard.
rm -
SpringBoard
gm dgh0st and yulky
gm
more like gn bc im basically getting off now
gn 👑
ok guys hear me out what about we boycott objc and start writing tweaks in a normal person language like cs
1 blocked message
it's for you 

keep yourself safe 🤍
it’s 2 now 😡
no actually objc is bad for the human brain
ok c#
use swift then
even js is better
Bruh
ts better
You are smoking dick
plus ratio
plus cope
see
mf you got
how does a normal person read through that
Its easy
() is fun
does c# work with llvm yet?
easier to read
Its self explanatory
wrong channel
if you explain i’ll drop out of college to start learning objc
[[a alloc] init]. Call Alloc and then init
don’t care
what the fuck
Allocate
why would you go to college
he doesnt know what alloc means
when you can learn objc in 30 days
he doesnt use memory managment
🤦♂️
no i have a friend called that
Just allocate memory. Take a comp org course
try ClassThingy.alloc().init()
imagine reading through #0x54 LMAO
stfu
ok that makes sense
I'm just tryna allocate some bitches fr
i get it now
okay sayonara bitches
and yulky
part 2 electric boogaloo
but i actually get off this time
gn 👑
i don't believe in memory allocation
cs is my religion
god hates you
damn
allocating and initing bitches
@hardy glen what’s a task port
[] is just as easy as ()
so like
getBitches[]?
we can hop on voice channel
if you are down
[obj getBitches]
wow you never wanna vc me
object you are calling the func on
okay now i leave 
oh
is it always obj or you change it to whatever obj you’re cslling
idk i guess they wanna have a debate with me so why not lmao
it can be any object
cool that’s interesting
i will next time ❤️
NSLog
objective c is easy bro trust me
any online tut that i can follow?
just learn Swift
that way you actually just learn the Apple frameworks
and then transition to objc
i dont think it’s very useful for me without a mac
is it possible to write a tweak in 100% swift?
at least i can run theos
99%
what happened to the 1%
Wrong orion
you can use orion but the downside is that there isn't that much resources
except the docs
repo.theos.dev
there are my open source orion tweaks though
orion is the swift converter?
orion is no converter
it allows you to write tweaks in swift rather than objc/logos
oh
thats torture
orion is an alternative to theos then?
i think the main reason why i havent learnt objc or swift yet is cuz i dont have anything to practice it on
oh
i guess, i'd say objective c is an okay language. The syntax throws people off
but why cant I just start with swift and then go over to objc
you could
why does objc need to come first

thats written with orion?
i am biased so idk but i think objc should be first
that sounds not that hard
I built the preferences framework that tweak uses 😵
But there's also a different commit that does preferences without the framework
they never do
to initialize orion right?
ye
write your tweaks in python pls
so the tweak reads off tweak.m which calls orion and initializes tweak.swift?
basically
i am fucking swift too nice
the .m has a constructor attribute which means that code will run first, directly after the tweak is loaded
had an rce reported for my website within like 20 minutes of uploading source
i’ll read the docs
i am good PHP dev
bruh

me and the boys hacking cynder website
there's a reason i didn't upload source for the headers site for like 2 months lol
ok i know objc now where is the dev role at
lmk when
@grave sparrow give?
Ask cam
man
You have to make something
I have perms ... to delete all your messages

98% of my projects are win cs so they didnt accept that

What's win cs
extremely advanced dev role wen
csharp in windows applications
Ew
Eq
You apply for advanced dev?
i dont have access to a mac stop judging 😔
C# is just java's homework but they renamed everything
Java I'd super long
thx for the idea
Wdym when it works
when i know what im doing
Java shortest hello world 
i used java once to make a minecraft drug deal mod
So long
it worked flawless
Java is so long
https://www.reddit.com/r/jailbreakdevelopers/comments/rwdlli/logosformat_a_formatter_for_logos_powered_by/?utm_source=share&utm_medium=ios_app&utm_name=iossmf upvote for all the unformatted tweaks out there
console.printout.bullshit
That's JS
Every java file has 150 lines of imports at the top
the.verbosity.of.java.will.either.make.you.loveit.or.hateit
PLS NO MASSIVE HACKS
system.out.moment
Ggz
@wicked summit who did you apply dev role to
discord.getUser("everyone").mayHate(the.getVerbosity())
I think Cameron
Does Cameron exist anymore
You mean the vanilla gorilla
Yea apply to him for dev
finishing off the tweak to send application
class MyHook: ClassHook<UILabel> {
func setText(_ text: String) {
orig.setText("hello")
}
}
is that gonna change the app labels
what is uillabel hooking to
dont bruh me
Not a good idea
which label is changing though
welcome to jailbreak development
hence why you start off with objc
nah bro 70% of this docs is todo
thanks
will that cover uilabel 
Yes
cool
All you need to know is uikit and a language preferably objc
uikit has a complete doc?
thanks apple
just learn simple paradigm of MVC MVVC
i dualboot ubuntu and win, should i use WSL or go for linux?
In your case, you want to hook the controller, change the specific label
funny words
Linux
https://iphonedev.wiki - some docs
https://theos.dev - theos docs - somewhat of a WIP
you can use wsl as well
WSL
my preferences framework docs are so much better
why the mixed response
Personal preference ig
Autogenerated

I like linux so i am biased
bc i dislike working extensively in linux
ah
It would get the job done
and i use WSL1, ppl whine a bit more about WSL2 due to filesystem permissions problems
like, from WSL?
yes
yes
oh
vscode is google chromium
cool
ig i’ll just use wsl instead
i have a naked anime girl as my ubuntu wallpaper so that wouldnt be very productive
average tweak developer
@restive ether he has a naked anime girl as his wallpaper give him dev role ^
wsl1 is sex if you dont really need the lower-level features of wsl2
yeah
also with the added benefits of system resource usage
wild
^^^
and wsl2 is faster
my ass waiting for wsl2 to boot when i open the windows terminal
but my machine cant even use WSL2, and i've had a much better experience with wsl1 than i did with wsl2 on my old machine
does the ui change from 1 to 2
integrates perfectly with my windows system without any bullshit
where’s the naked bitches at
True...
old kernel tho, sad that ms didnt support it further
which is especially nice for using git bc windows-on-arm git.exe doesn't actually work properly
idk git.exe has mostly worked fine for me
ah windows-on-arm git.exe
is that wsl 1
is 2 prettier?
man
You can just wsl and then use the wsl extension in vscode
^ but
just cd into the dir in wsl and type code .
and it'll open it using the wsl extension in vscode on windows
ong??
Yea
think you have to install it
if it doesn't, it should install it when you do that
yeha
who still uses visual studio
😦
unless you're deep into .net or something
Alot of people usually
use jetrider smh
i tried jetbrains stuff but lag was unbearable for me
maybe i just have shit laptop
yeah
i run it on this lil funky arm laptop and it works with no performance issues whatsoever
vscode will def work literally anywhere though
wait until you try android studio
Real ones use neovim
android studio is a manufacturer supplied IDE and as such is contractually obliged to be dogshit
see: VS, XCode, etc.
at least 4.4 has LTS
Yup
you can literally cook meat on a laptop running it

hahah when is yours again?
sponsored lol
even worse
yeah not just are we upside down and our seasons are the opposite, we're also 6 months ahead of you
The 22nd
no way
man it's so weird I know someone on the 19th, someone on the 21st, and someone on the 22nd
timezones
my sister is the 23rd 
I have another friend on the 23rd and I make fun of her Bc I’m a day older than her
hah how bout that
If I am looking to get into jailbreak tweak development where should I start learning if anyone can give me recommendations that would be much appreciated! I am a software dev, I work with C, C++, Java, JavaScript, but not swift yet, but I am hoping to start making my own tweaks and learn how to
dw, fuck swift for now
since your experienced you might wanna dive right in, browse through Git repos by filtering for the language Logos.
also do make sure to read up mandatory information on setting up a build environment https://theos.dev

I'll take a look thank you
np, good luck on your journey
lol he doesn’t even try sometimes
angry birds font thumbnail guy strikes again
format still hasn’t changed either
Holy shit it is too
Use responsibly
Nice
problem solved
It’s like when videos show you exactly how to do something illegal but have a disclaimer in the description “for education purposes only”
This calling convention on aarch64 Darwin is nonsense

this was in python trending
random question
is it possible to hook coreauthui and change the animation(s) 
probably
Anything is possible if you hate yourself
true
💀
there have been tweaks to speed it up i think
theos+git moment
guys i collaborated with dabezt to release this new upcoming tweak app, what yall think? 🙏🙏🙏🙏
🪟
so true
what is a tweak app?
App that needs crack
it’s a tweaked app that hooks to the springboard 🙏🙏🙏🙏🙏🙏
How can an app hook to springboard?
I need crack
A writer for idownloadblog dm'd me cause he couldn't download quickactions from chariz 
is this the wsl extension for vs code?
is the hash still borked
what's quickactioms
Actions done quickly
Ok
can i just use wsl instead or do i need to follow this doc
to install theos
which one do i follow for wsl
don’t use cygwin lol
i don’t even think cygwin has a 64 bit toolchain
you just have to use WSL
thanks
if only i could read stuff

seemed like the wikipedia donation message so i just ignored it
Fixed now
real
Troll
[[quickactions]]
time for cam’s second iDB article
installed a year ago by mistake, worst decision of my life
felt like i was stuck in 2007

The third one will be about how Cameron broke Procursus for everyone a 5th time 
since when is it possible to load external images/gifs in a discord rich presence?
The dev wiki is also official, just outdated
when you accidentally hack the president by running sudo
ok quick question wtf
what did i do wrong
what dir are you in
im in theos/bin
read the error message
did i install the wrong version of sourcekit-lsp? 😦
I never figured that garbage out ^
seems like the version vscode shows isnt the right one
garbageware
i'm trying to build from this to see if it works
xcode already has it
oh
lol
https://github.com/apple/sourcekit-lsp/tree/main/Editors
xcode version
Идиотка
does it not have logo support as well?
so true
lmao
too much work to get sourcekit language server to work
help?
Logos lsp s0n
It takes 2 steps
what is it
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
Download
And unzip
for linux or win?
It should work for kali
kali is just debian bro
with wannabe hacker shit
i’m not sure why you even chose it to begin with
but it’s the same thing
i was seeing the get button and i didnt know if it was greyed out or not
so i just clicked it to test
and now i have kali
Idk about soon but most likely, i was thinking about it and found out uroburo was planning to rewrite theos in python along with a logos lsp server in python too to be cross platform compliant
does anyone know how to fix this though
and how does it find it
the one from cam?
Idk i don’t get errors with theos, i usually install it correctly. Maybe its your makefile?
this one from the theos website
Change sdk to be minimum 13.0
yeah that’s cam’s
this?
It should work if you did everything right
😦
im pretty sure everything is right
idk what to do
make sure the toolchain symlink exists
Yea i am guessing its a prob with the toolchain since it can’t find swift. And u say that you 100% have the one with swift
If other tweaks compile fine
Then idk what it could be
how do i check that
i literally just finished installing theos, trying to run a test tweak
ah
ls -lath $THEOS/toolchain/swift
Then yes you might be in trouble
yeah
Idk shit about orion
sorry for not clarifying earlier
I just saw it rn i thought you were trying to get bridging support
now
ls -lath $THEOS/toolchain/linux/iphone
Thats good too
thats so weird i dont see why it isnt compiling
maybe look on orions issue page?
no one is talking about that one issue :/
Is there swift binary in the bin folder?
Imagine if there wasnt
$THEOS/bin ?
No
which bin
toolchain
The one in that pic.

Go in linux/iphone
iphon
Then bin
iphon
iphon
Cd into iphone first
shit
try to run it in that folder with either no args or --help
./swift

i think we found a problem

🙂
ok easy
apt-get install python2.7-dev

hoping this works
Find out
Compile python 2.7 from source
now it fuck
not run
locate libpython2.7.so
apt-get install libpython2.7
thx
^c
Wait so it works
No
:/
Ctrl D
ty
Just install regular python bruh
Try the cpu reset line 
stop trolling we tryna help here and delete -
it worked now
I haven’t used Linux in eons I’m trying to rember 💀
stuck here again
to compile the tweak?
literally the same thing you did for the last package
and yes
whats the command to run theos verbosely
Whatever it is for make?
its the correct toolchain
sudo apt install zstd
curl -LO https://github.com/CRKatri/llvm-project/releases/download/swift-5.3.2-RELEASE/swift-5.3.2-RELEASE-ubuntu20.04.tar.zst
TMP=$(mktemp -d)
tar -xvf swift-5.3.2-RELEASE-ubuntu20.04.tar.zst -C $TMP
mkdir -p $THEOS/toolchain/linux/iphone $THEOS/toolchain/swift
mv $TMP/swift-5.3.2-RELEASE-ubuntu20.04/* $THEOS/toolchain/linux/iphone/
ln -s $THEOS/toolchain/linux/iphone $THEOS/toolchain/swift
rm -r swift-5.3.2-RELEASE-ubuntu20.04.tar.zst $TMP
make clean all VERBOSE=1
make clean all CFLAGS='-v'
Edit your Makefile and add the flags manually
CFLAGS is for the C compiler. I got stupid for a sec 
which one
Not sure it'll make a difference whether or not you add -v there since the command won't get invoked
but swift is not c 
😦
This has nothing to do with flags.
make clean all messages=yes ?
it's messages=yes
try that ^
i've never ran into an issue where swift doesn't work after installing theos.
with the correct toolchain
Show env and your Makefile. Might be redefining the equivalent of CC for Swift if any?
sudo update-alternatives --set fakeroot /usr/bin/fakeroot-tcp
i applied this fix though

i guess yea try it
fakeroot is completely different thing...
im aaa\
Shouldn't make a difference.
theres nothing inside?
It not finding a binary means either the binary isn't there or its not part of PATHs
but it definitely is there





