#development
1 messages · Page 176 of 1
pub fn main() {
if (true) {
if (true) {
ret false;
}
Int i = 0;
i++;
} else {
ret true;
}
}
``` now parses
into this
what tool was used in the shell script versions of palera1n to only downlod part of an archive? I can't remember the name of the tool at all
partialzipbrowser
u can just use remotezip from pip
yeah that's probably better
pzb is fragile
Is shyNotifications working on iOS 16?
hmm
thank you!
It's in big boss rootless version
oh then it'll work lol
@radiant idol i did if statements
fn input(String message) {
Long stdin = fdopen(0, "r");
Char buf[1024];
printf(message);
fgets(buf, 1024, stdin);
Long len = strlen(buf);
Long index = len - 1;
Long newline = buf + index;
newline <- Byte 0;
ret buf;
}
fn isEven(Int num) {
ret num % 2 == 0;
}
pub fn main() {
String userInput = input("is your number even? -> ");
Int num = atoi(userInput);
if (isEven(num)) {
printf!("%d is even omg\n\n", num);
} else {
printf!("we hate the number %d (its not even)!!!\n\n", num);
}
main();
}
i cant believe this actually worked
it was such a pain to parse
This is like if C and rust had a kid but the kid has some weird deformations
( its cool tho )
lmao yeah this is exactly the vibe im getting aswell
why are you calling main() inside of main
recursive
its like a loop
so that i can get another input without needring to rerun the program
this is what ive been doing in the time before i introduce while loops
however while loops will work very similar to if statements
- jump non zero to a special label otherwise straight to the end
- in the block, have a jump non zero to either the label youre currently in or to the end label
- the end label just continues the function as usual
weird but ok
its essentially the same thing as ```rs
pub fn main() {
while (true) {
String userInput = input("is your number even? -> ");
Int num = atoi(userInput);
if (isEven(num)) {
printf!("%d is even omg\n\n", num);
} else {
printf!("we hate the number %d (its not even)!!!\n\n", num);
}
}
}
so not that weird
i do this all the time in TS where having an entry point isnt actually required but just useful to have
as in, in my little playground session thingies
ok actually usually i dont recursively call main i just use a while loop
but you get the point
yeah that makes sense cos main isn’t technically the entry point
but i’ve never seen in used in like rust or smth
where you don’t have top level expressions
this isnt rust but yeah
it compiles to it doesn’t it?
Language name idea: RustyC
Crust
no lol
that was an ast
the language is built in rust
it doesnt compile to rust
this is the output
that elle compiles to
it's supposed to be .ssa but discord doesnt have syntax highlighting for that ofc
ohhh
oh shit i need to implement break and continue statements
i believe so
realistically break and continue will just expand to a jmp instruction
break will jump straight to the end block
continue will jump straight back to the loop block
yep
what better way to learn C than to create an entire new language that uses C primitives
Can anyone with understanding of swift and objc in theos help me with this ld error?
ld: Undefined symbols:
OBJC_CLASS$_object, referenced from:
in WalLib.swift.b9c73fa1.o
Objc code compiles fine but when it gets to linking i get this
ok i implemented while loops
this is now valid code
fn input(String message) {
Long stdin = fdopen(0, "r");
Char buf[1024];
printf(message);
fgets(buf, 1024, stdin);
Long len = strlen(buf);
Long index = len - 1;
Long newline = buf + index;
newline <- Byte 0;
ret buf;
}
fn isEven(Int number) {
ret number % 2 == 0;
}
pub fn main() {
puts("welcome to something idk");
String userInput = "";
Int number = 0;
while (true) {
userInput = input("enter an even number -> ");
number = atoi(userInput);
if (number == 0) {
printf!("invalid input.");
continue;
}
if (isEven(number)) {
break;
} else {
printf!("we hate the number %d!!! (its not even)\n\n", number);
}
}
printf!("%d is even!!\n", number);
}
the compiler is also almost 1300 lines
so thats fun i guess
oh and i need to implement not aswell
because i havent done that yet
oh god parsing not is gonna be so hard
because im gonna have to parse everything up to an arithmetic operator and then parse that all individually and stuff
swift ^^^
i have been explicit with values and errors everywhere
educational purposes
idk just how educational i wanna get
U don’t Gota post everything
@slim bramble i made a tweak from one of your ideas
whats so bad about this
what if the guy is on iOS 14.1+
oh lmfao
@acoustic imp just make it < 15 then
thats a simple enough fix
IK!
I changed the floatValue to intValue
easy fix
Ik bibi jus Gota tell everyone ig
Which ?
tesla code >>
remember when u wished you could change icrazes pfp to that one thing
[[ntwerk+]]
ntwerk+
icraze!!!
?
it also changes dleovl’s to something
@hasty ruin
cool story
what is it for ?
he made a token logger
no
based
💀
crazeware
'his'
i rewrote all the code 
you placed an else if before else
i also had to add an import
i’ll change all the code if u want
even though i don’t think there’s another way to do it
where did you get ntwerk srcs from ?
zefram :
here’s vid
skip like half way through
🙏
what even is ntwerk
the ntwerk tweak changes capt's pfp to 
yeah but mines better
🤨
based
@radiant idol btw fix jade, i’m on 14pm ios 16.2 and whenever i’m in an app and try to swipe in jade it freezes my phone for like 10 seconds and no buttons work and i can’t do anything
disable all other tweaks and see if the issue still happens
nvm i respringed twice and now it works for some reason
👍
if it happens again and keeps happening i’ll let u know
ok
broke alert
you’re paying for the ability to use funny tiny pictures
nah shep is paying 
never mind slay

we love sugar daddies
@lime quartz is mine
(they’re nothing but a complete pain in my ass)


erm nuh uh
how do i compile a non-debug version of my tweak?
thank you
import Foundation
class FriendshipManager: ObservableObject {
@Published var searchQuery: String = ""
@Published var searchResults: [User] = []
var authToken = TokenStorage().getToken()
let friendshipRoutes = FriendshipRoutes()
func searchFriendRequest(query: String) async throws -> [User] {
let response = try await friendshipRoutes.searchFriendRequest(authToken: authToken!, searchQuery: searchQuery)
// Extract the User objects from the response
var users: [User] = []
for dataResponse in response.compactMap({ $0.data }) {
if let user = dataResponse.user {
users.append(user)
}
}
return searchResults
}
func createFriendRequest(userID: String, friendID: String) async throws -> APIResponse {
let response = try await friendshipRoutes.createFriendRequest(userID: userID, friendID: friendID)
return response
}
func fetchFriends(for userID: String) async throws -> APIResponse {
let response = try await friendshipRoutes.fetchFriends(for: userID)
return response
}
}```
```swift
ForEach(friendshipManager.searchFriendRequest(query: friendshipManager.searchQuery).filter({ searchText.isEmpty ? true : $0.username.lowercased().contains(searchText.lowercased()) })) { user in
UserCell(user: user)
} ```
PlayGround/PlayGround/Views/HomeView/HomeView.swift:49:29 'async' call in a function that does not support concurrency/PlayGround/PlayGround/Views/HomeView/HomeView.swift:49:29 Call can throw, but it is not marked with 'try' and the error is not handled how do i fix these errors
help?
im thinking of changing ret to return
opinions?
- ret
- return
current
fn isEven(Long n) -> Long {
ret n % 2 == 0;
}
fn fib(Long n) -> Long {
if (n <= 1) {
ret n;
}
ret fib(n - 1) + fib(n - 2);
}
fn fact(Long n) -> Long {
if (n <= 1) {
ret n;
}
ret n * fact(n - 1);
}
the results are overwhelming it seems like ret wins guys
/j i made it return
this stuff all compiles
all you have left is to make it func instead of fn and this language is golden
#define func fn
YUCK
This ain’t assembly
Use return
With macros
and that isnt happening
You should make a post processor
.
i still don’t get why people don’t like rust
i get swift
but rust?? why
“i just don’t like it” grow up
fanbase sucks
has no undefined behavior, so its boring
me
"but it more secure".... mf u writing a fetch program
i was quite literally thinking of rewriting DyldExtractor in Rust since it's been abandoned (or so it seems) but then gave the thought up because it was too much effort
Programming without memory leaks is boring
🔥🔥
🚀🔥
I be cing rust you be rusting c we are not the same
Spawned this epic idea
GLWTS(Good Luck With That Shit) Public License
Copyright (c) Every-fucking-one, except the Author
Everyone is permitted to copy, distribute, modify, merge, sell, publish,
sublicense or whatever the fuck they want with this software but at their
OWN RISK.
Preamble
The author has absolutely no fucking clue what the code in this project
does. It might just fucking work or not, there is no third option.
GOOD LUCK WITH THAT SHIT PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION
- You just DO WHATEVER THE FUCK YOU WANT TO as long as you NEVER LEAVE
A FUCKING TRACE TO TRACK THE AUTHOR of the original product to blame for
or held responsible.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Good luck and Godspeed.
this does actually use a bug with the language that has not been fixed since 2015 regarding lifetimes
💀
i shall be "c"ing your mother ton-
I have a repo I should license this to
As far as I can tell, yes
ok i added real documentation now lmao
deranged language
why is it a whole byte
it only needs to be a single bit
True false maybe perhaps, Etc.
then you have annoying overhead with tracking it
its only really viable with bitfields in structs
true
false
maybe
its complicated
oscillating
i just realised that i actually do it even worse
because elle compiles true into the number 1 and false into the number 0
by default, without a type, its a 32 bit signed integer
lmao same
well ok its not that bad
we have decided allocating memory in sub-byte sizes is not reasonable
for reason shepgoba said
i guess that makes sense
that's why you find bitmasks or whatever the word is
by a very large number
exactly
what
im explaining why its bad
we have decided to introduce superstate into memory addresses
void *schrodinger_cat = malloc(1020.5);
did A15 get a ppl bypass yet?
i’m a non c dev and i know it’s a long
about which one
that i’m a non c dev or that it’s a long
iirc float just puts a decimal point in the middle of the memory allocated and single/double uses ieee 754?
oh lmao
i can’t figure out why i keep getting this error while trying to compile 😭
please someone help 🙏
you need to add the framework to your make file, see https://github.com/rugmj/pinnacle
icr which springboard framework sbiconview is from
but pinnacle uses it
thank you
float is a abscissa or whatever tf the word is, and an exponent
like they work by storing a base number and then a signed exponent for that base
i know how the standard works but apparently i got them the wrong way around lmaoo
first bit is the sign bit, then the next 8 bits are exponent, then the rest (usually 23 bits) is the mantissa
they need a number from 1 to 2 so they truncate it to always start with a 1 and give you an extra bit to work with
(i watched the fast inverse square root video like 8 times)
mfw arm64_32
Thx
Me when I use a 32 bit computer
so my tweak is enabled but doesn’t work 
why is development this annoying
i can’t imagine how swift must be
how do i check logs to see what’s wrong?
Idevicesyslog, console.app or Antonie
I don't own a Mac
…. Or just use idevicesyslog and filter to the process
yeah but im trying to limit how much i do in terminal
im getting annoyed at nano's limitations and seriously considering learning how vim works which is a bad thing
(Then learn emacs)
just make a gui that does what the terminal app does but worse
ew
it’ll take you 5 mins to be able to use it like nano
i love compiling my tweaks and having them not work at all and not produce logs i added!
Why. Ew.
that’s it i’m making rune
because i like my hands
but not rune
Doom Emacs:
still ew

(no clue what's going on)
or use idevicesyslog | grep "pharse"
then use vim???
No???
Emacs has built in package manager so I don’t need to go outside of it
you dont need to leave it anyway but yeah :!
for any cli commands you need to run you can run from inside vim
I've been meaning to actually learn vim
you should, use Kickstart nvim and build your config from there you’ll love it
it’s the best thing i’ve done to improve my dev workflow
I just don’t like vim
stupid argument but okay
“me no likey”
i’ve tried emacs and i hate how bloated it is
it does too much
bloated is the wrong word
but it tries to be many things
Thats why i like it
Anyone got any tips on the best MacOS version and VM software for a Theos hackingtosh please?
i’m on linux and i’m using a qemu kvm, not sure what version but i can find out for you
if you’re on windows i’m not sure what the best option is
to each their own, i prefer my editor just be an editor and allow me to add other modules that i might want myself instead of defaulting to having everything built in
If you could find the macOS version that’d be great please! I have VMware already but wondered if there was a preferred approach
personally I'd just hackintosh an entire system
VMs suck for macOS
they do for desktops but im using it headless and it works great
have some scripts setup to allow me to run everything as if it weren’t building in the mac too so it’s really seem less
i won’t be able to now tonight but i remember picking the lowest version compatible with the latest xcode
not latest xcode but the version of xcode with support for ios 17
Does anyone know any way I can fix this please?
- I'm able to SSH into my phone
- I'm able to use the MacOS root user
- I'm able to make packages
- My user is secured with a password
- My phone's root and mobile have passwords
Show ur make file
Your sure that’s the right ip ?
You did the thing that’s banned
sbreload ?
Nope
Theos device ip?
TWEAK_NAME can have multiple values when you expand it it may use the one you don’t think @native relic
Moral of the story is don’t expand it
I changed it to this, but it still output the same error:
Definitely the correct local IP. I can ssh using ssh root@10.0.0.24 . Removing the after-install section produced the same error 😦
I think it's a MacOS error. It doesn't matter what IP I use for my device, I feel like it's happening during the theos scripts
if you need to set SYSROOT that means you're doing something wrong
But that's unlikely to be the reason for your problems
no that's tim cook
if someone could help me figure out why this won’t work please help, this is a tweak i’m working on that won’t work how i want it to, if i swipe up in the top left of my screen it’s supposed to drop down a little menu but nothing happens when i try and idk why, if anyone sees anything that’s wrong in my code that makes this not work please tell me, btw it compiles
THanks for the help all.
I've setup a completely fresh VM with a password protected user from the get-go.
I'm getting a similar issue, it now asks for a password:
I've tried my phone's mobile/root PW and my MacOS password, neither work, nor does blank or "alpine"
On submission it says this:
Alternatively, is there a commandline utility I can use to remote install a .deb package from my MacOS to iOS device over wifi rather than depending on theos/make install?
Root is turned off now
Times b rough
yes
@faint timber I enabled MacOS' root account, now this is getting weirder
At first it made me install dpkg. I've now realised the make install is trying to install the package on the Mac, not my phone
No clue why though
Running the line export THEOS_DEVICE_IP=10.0.0.42 manually before in Terminal fixed it, wonder why that's not working from my Makefile
anyone got an ios 7 (any version) 32bit dsc on hand lol
yuh
iPhone 4 GSM iOS 7.1.2
@hexed knot @grave sparrow @primal perch https://x.com/lauriewired/status/1783756351543586963?s=46
Macos has nothing to do with it
I’m speaking iOS
based
Visualizing two core operations in calculus. (Small error correction below)
Help fund future projects: https://www.patreon.com/3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: http://3b1b.co/divcurl-thanks
My work on this topic at Khan Academy: https://www.khanacademy.o...
this is really good
no this is patrick
this is a great revision of this stuff from when i learned it in mv calc lol
I mean that now that I enabled it, it was able to pass to a new step. I think the Theos device IP wasn’t exporting and it was targeting the mac rather than the iOS device
Now that I ran those exports in the terminal prior to make install, it worked.
Is there a different way I can export those vars?
I always put them in ~/.bashrc or ~/.zshrc depending on which shell I use
someone please help i suck at coding 🙏
smells like chatgpt
idk exactly what its supposed to do but: you aren't hooking any class that should invoke the view controller and you're only giving the interface declaration and implementation for your "CustomViewController" but it's never used
oh ok thanks i was trying to figure out what i missed
i used it for the captions to try to make it easier to understand when i send it here also to fix one of my imports, also the beginning is a template for simple preferences theos gave me
thanks i’ve been using nightwind’s but i’ll also check out mtacs
References:
- Source Code: https://github.com/tsoding/qbe-notes
- https://c9x.me/compile/
- Tsoding Daily - Hare Programming Language - https://www.youtube.com/watch?v=2E3E_Rh3mvw
- https://llvm.org/
- https://en.wikipedia.org/wiki/Static_single-assignment_form
- https://en.wikipedia.org/wiki/Operator-precedence_parser#Pratt_parsing
- https://gi...
HE DID A VIDEO ON QBE
REAL
tsoding the goat fr
"memory is just an array of bytes and a pointer is just an integer"
realest statement ive heard from tsoding all year
Summary
A malicious PPPoE server can cause denial-of-service or potentially remote code execution in kernel context on the PS4/PS5.
Heap buffer overwrite and overread in sppp_lcp_RCR and sppp_ipcp_RCR
For some reason, the PS4/PS5 is vulnerable to CVE-2006-4304. By ha...
This interesting to us at all?
No
sony only paying out 12.5k is outrageous
fuck morality sell your exploits to the highest bidder 🫡
23 seconds · Clipped by acquite. · Original video "Is this the Future of Programming Languages?" by Tsoding Daily
it's a cve from 2006
Fr
doesn’t really matter imo
anyone a python dev
depends
having an issue with threading
ah
can you assist
yeah i think so
ok so i believe this happens because youre trying to update the gui from a thread other than the main thread
in this case thats the thread in ttkTimer
yeah but im getting that error when closing the program and idk where to close the thread ttkTimer ngl
in _quit i guess?
how would you close it
1 second
okoko
i am deeply offended that none of you pinged ME about this (i wasn’t gonna help anyways)
threading/multiprocessing sucks i’m sorry
agree but i need for ms timing
purple
actually i’m not sorry about saying that they’re a fucking pain to debug
@lime quartz’s tsschecker code is such dogshit
but maybe that’ll change soon
ping one of the staff and show them some jb-related project you’ve made
oh fr
ok well in this case, Tk.Tk() is a singleton, so consider assigning the Player to a global variable considering its only assigned once anyway
that way you can use the properties inside in _quit
hm
i have none
you can do this like
player = None;
def _quit():
global player;
player.whatever();
if __name__ == "__main__":
player = Player(...);
``` i believe
i havent used python in a little while
Soon Fr .
you dont need the global player directive at the bottom because thats already in the global scope its just an if statement
ok ill have a tinker
okok
lmao np i guess
lol
i fucked around with other shit
but i implemented it and it worked
🙏
@placid kraken
semicolons in python aren’t real they can’t hurt you
this:
python to typescript (this is a sin)
fr
PyTSS (Python Typescript Synthesizer)
12.5k for that shit yeah
criminally low
making apple look generous rn
im sayin
@granite frigate @tawdry storm
i was playing soul hackers 2 and didn't realize it got removed from game pass 😭
@native orbit did u still need the dyld
good that game is SO ASS
for doing translations, is it fine if i have one big localizations.strings file for each language and object for key ?
or is there some like struct thing i could do with the like index thing (idk)
Basically
you have
en_US.lsproj:
localizations.strings
fr.lproj:
localizations.strings
ik
under each localizations you have
"CONSTANT" = "Text here";
"CONSTANT1" = "Other text here";
"CONSTANT2" = "Other other text here";
"CONSTANT3" = "Other other other text here";
@acoustic imp
no
then what do i do ?
nah not anymore thx tho
ok then we play this game
print("sadge")
RAAAAGH PYTHON
Lmfaooo the latest discord canary emote menu is broken
Crashes discord
me
Bold of you to assume I want to learn Python

holy shit
this other dvd/bluray drive i stole from the other pc is way faster
its reading at 20 MiB/s rather than 500 KiB/s
its being bottlenecked by my home partition drive which is over usb 2.0
how the fuck does atol parse 4.a into 4
is it high
i validate my string like this
String userInput = input("Enter a number -> ");
Long number = atol(userInput);
// Not all characters are numeric
if (strspn(userInput, "0123456789.") != strlen(userInput)) {
printf!(
"Invalid input: %s (parsed to %ld)\n",
userInput,
number
);
continue;
}
``` but `atol` works so weird wtf
atol falls back to 0 if it fails to parse the string as a long
but how in the world does it parse 4.a into 4
the atol implementation is so horror
long atol( const char* s ) {
long v = 0;
int sign = 0;
while ( ( *s == ' ' ) || ( ( unsigned int )( *s - 9 ) < 5u ) ) {
++s;
}
switch ( *s ) {
case '-' : sign = -1;
case '+' : ++s;
}
while ( ( unsigned int )( *s - '0' ) < 10u ) {
v = v * 10 + *s - '0';
++s;
}
return sign ? -v : v;
}
i lied
lmao
is that real
It parses as much as it can
this is a reimplementation of libc for an educational OS
but that is basically what puts does
lmfao
lol
thats why i printf instead of puts in ```rs
fn input(String message) {
Long stdin = fdopen(0, "r");
Char buf[1024];
printf(message);
fgets(buf, 1024, stdin);
Long len = strlen(buf);
Long index = len - 1;
Long newline = buf + index;
newline <- Byte 0;
return buf;
}
i dont want the newline
its equivalent in C code to
char* input(char* message) {
char buf[1024];
printf(message);
fgets(buf, 1024, stdin); // dont need to define stdin as its a dynamically linked symbol
long len = strlen(buf);
long index = len - 1;
char* newline = buf + index;
*newline = '\0';
return buf;
}
storing a value at a pointer
newline is a pointer, that line read as plain english says, "at the newline pointer store the byte 0"
I know what it means
true
it ust looks odd
until i add pointer dereferencing and stuff it will look weird
currently any and every pointer is just a Long
well add it
even strings are just aliases for longs
lmfao
pub fn get_type(r#type: String) -> Option<Type> {
match r#type.as_str() {
"Byte" => Some(Type::Byte),
"Halfword" => Some(Type::Halfword),
"Word" => Some(Type::Word),
"String" => Some(Type::Long),
"Int" => Some(Type::Word),
"Long" => Some(Type::Long),
"Single" => Some(Type::Single),
"Double" => Some(Type::Double),
"Char" => Some(Type::Byte),
"Nil" => None,
_ => Some(Type::Word),
}
}
how odd
strings are not first class types in qbe ir, so you define a data section then you get a pointer to that data to use
all pointers are just numbers
sooooo
you can store data at a pointer via the instruction you pointed out earlier
currently there is no load instruction syntactically
you can only pass the pointers to existing C functions
i want to make a field access syntax
like ```rs
Char myChar = buf[0];
or whatever
having an issue where this is null, the file does exsist(ik bc i have a check) but idk why its doing thisobjc NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:filePath]
part of the file ENABLED = "Enabled"; ARTWORK = "Artwork"; PLAYER = "Player"; LABELS_AND_ROUTING_BUTTON = "Labels and Routing Button"; LOCK_SCREEN = "Lock Screen"; CONTACT_SUPPORT = "Contact (Support)"; CREDITS = "Credits"; HIDE_MUSIC_APP_ICON = "MIDE MUSIC APP ICON"; HIDDEN = "Hidden"; EXPANDED_ARTWORK_SIZE_WHEN = "Expanded artwork size when"; PORTRAIT_MODE = "Portrait Mode"; LANDSCAPE_MODE = "Landscape Mode"; MINIMIZED_ARTWORK-GROUPTITLE = "-- MINIMIZED ARTWORK --"; ARTWORK_DROP_SHADOW = "Artwork drop shadow"; SHADOW_Y_OFFSET = "Shadow Y offset"; SHADOW_X_OFFSET = "Shadow X offset"; SHADOW_RADIUS = "Shadow Radius"; SHADOW_OPACITY = "Shadow Opacity";
if dictionaryWithContentsOfFile: returns null, then your file does not contain a dictionary

i just made a super fucking fast fibonacci algorithm
fn fibonacci(Long n) -> Long {
if (n <= 1) {
return n;
}
Long prev = 0;
Long current = 1;
Long i = 2;
while (i <= n) {
i++;
Long next = prev + current;
prev = current;
current = next;
}
return current;
}
it uses a while loop instead of recursion
and for some reason thats super fast now..?
the old impl was
fn fibonacci(Long n) -> Long {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
although tbh i see why its faster
because the recursive one will call fib(n-2) for calculating fib(n-1)
either way it was struggling to calculate fib(50) before
now it can calculate fib(100) instantly
try fib(1000000) 
then how do i make one
it can do very large iterations but it stops providing usable results after like fib(92)
because it starts overflowing the 64 bit integer and wrapping around
heck it can even do 1000 but it wraps around a million times so you get a completely incorrect result
btw natural(n) = sum from i = 1 to n of i
or, via code
fn natural(Long n) -> Long {
if (n <= 1) {
return n;
}
return natural(n - 1) + n;
}
btw does anyone know how to read dynamic stdin from nvim
with :!cmd and :term cmd i can never get interactive stdin
i have to like echo "input" > run or whatever
@slim bramble ?
@acoustic imp
this is how night has it #development message
and it works...
send your full file
mine
and whichever one you're copying it from
Bro could send the drm file
I’m always scared when he sends code
im not that dumb

anything icraze?
Where do you store the files ?
in the pref bundle

Ok but you are not night
whats that gota do with it ?
How do you load the file
#define kLang NSLocale.currentLocale.languageCode
NSString *genericPath = ROOT_PATH_NS(@"/Library/PreferenceBundles/SixteenPlayerPrefs.bundle/Localization/LANG.lproj/Localization.strings");
NSString *filePath = [genericPath stringByReplacingOccurrencesOfString:@"LANG" withString:kLang];```
@hasty ruin
night did it ?
yea
That works but you can remove half of the stuff
i knew there wa probly better way but eh i was jus tryna make it work
By using stringWithFormat
right
How do you load the NSBundle btw
u gota do that ?
Bro please 😭
Go to your secret 16Player dms
Bro cannot read
soon 🙏
Fr
Line 85
Maybe you need it
FYI I use this now
static inline NSString *localizeWithKey(NSString *key) {
NSBundle *const localizationBundle = [NSBundle bundleWithPath:ROOT_PATH_NS(@"/Library/Application Support/JadeLocalization.bundle")];
NSString *const path = [localizationBundle pathForResource:[[NSLocale preferredLanguages][0] componentsSeparatedByString:@"-"][0] ofType:@"lproj"] ?:
[localizationBundle pathForResource:[[NSBundle mainBundle] preferredLocalizations][0] ofType:@"lproj"] ?:
[localizationBundle pathForResource:[[[NSLocale currentLocale] languageIdentifier] componentsSeparatedByString:@"-"][0] ofType:@"lproj"];
NSBundle *const languageBundle = [NSBundle bundleWithPath:path];
return [path ? languageBundle : localizationBundle localizedStringForKey:key value:@"unknown_string" table:nil];
}
much better than the ones in Bolders Reborn
have fun
Why inline
idk isnt it better
Not for something like this
I see
Also tbf you could probably also cache some of the stuff at the start of that function
Gm, sorry for late reply, good good thankfully
is it possible to modify the u0 11.0-12.4 source to use the Procursus bootstrap
Try it
…why
unc0ver is the only jailbreak for A12 12.1.3-12.4.1
sucks having an outdated bootstrap (and cydia)
you're better off somehow modifying chimera or something to use the u0 exploit
Chimera isn't open source unfortunately
but if it was, that would probably be the best thing to do
I mean theoretically it doesn't have to be open source
this is true
the u0 source doesn't even have arm64e support
unless you're using [leaked/redacted] u0 5.x source
oh
Anyone experienced with macho for 32-bit and knows what segments/sections I need to look at for extracting kexts?
Siguza mentioned kmodinfo, but that doesn't seem to help me atm.
I know PRELINK_TEXT points to first kext. There's other structs to consider, but at this point, everything I've done has resulted in my just being confused and not getting anywhere.
trying to extract from a kcache?
Yes
I have all of the headers, just a lot of the offsets make no sense to me, but I'm honestly just trying to extract kexts at this point.
A lot of people either neglect 32-bit and or literally rely on macho/loader.h which just makes everything useless, since that's MacOS header :/
why
Commands are extremely easy, I'm just confused because I need to get offsets in the kernel itself, and the only relevant info about starting addresses of kexts are only mapped values, so I'm not sure on how I'm supposed to do this without mapping.
ChatGPT says I need info from KLD, but there's only one mention of that, and I looked at the data, and any offsets are vm offsets which don't help, plus they are function addresses.
I need to get back to working on Adam's eyepatch lib so I can update my patchfinding for kernel patches so that Legacy-iOS-Kit and anything else will have good patches. All of the bundles in there for 3GS are mine and I'd like to add more to the bundles. Gotta also work on CodeDirectory stuff so I can finally make my ASR patcher too, which involves MachO.
dude wtf
feels like everything up to the final return here can be in a dispatch_once block. but then I'm also not really a fan of this at all
why can't you use localizedStringForKey:value:table: on the actual bundle?
That’s what I wanted to do originally
I developed 
There’s a couple reasons
I don’t exactly remember what they are off the top of my head
fair, just seems a bit yucky I guess
Oh yeah it looks disgusting I’m not gonna say it doesn’t
I remember one

Im trying out light mode because im a monster and this emote is impossible to see lmao


mm hello
I've opened so many random github issues out of boredom
like
what's Dasharo? sounds cool
i think the problem with my code not working on ios 16 might have been swift
Average swift
it's a fork of coreboot
Dunno what coreboot either is 
python too hard

Python too anoying
"I want a language where the indenting is important to the control flow" - statements dreamed up by the utterly deranged.
fr
legit
ok buddy
"i want to write a program without caring about the indentation (a clear visual cue) and use braces instead (a much more complex visual cue)" - statements dreamed by the utterly deranged
yeah if you're writing clean code, indentation shouldn't be an issue at all
only annoying bit is when switching from tabs/spaces when copying from other projects
get back to me when you write a program with fucked up indentation but you think its perfectly fine to read it by the braces alone in your head
(it's not easy)
for real coal
here's some valid python code i wrote with the pistol operator (*_,)
_ = [str, print]
_2 = lambda _,__: [_[_0:_0 + __] for _0 in range(0, len(_), __)]
*_0, = range(10)
*__, = range(len(_0))
_1 = []
_1 += _[0](__.pop(1)) + _[0](__.pop(0)) + _[0](__.pop(7))
*__, = range(len(_0) + 1)
_1 += _[0](__.pop(len(_0))) + _[0](__.pop(1))
*__, = range(len(_0) + 2)
_1 += _[0](__.pop(len(_0) + 1)) + _[0](__.pop(1))
*__, = range(len(_0) + 2)
_1 += _[0](__.pop(len(_0) + 1)) + _[0](__.pop(9))
_[1](''.join([chr(int(''.join(_0))) for _0 in _2(_1, 3)]))
which is why spaces should be the only acceptable standard
its basically unpacking
*_, = 'abc';
print(_) # ['a', 'b', 'c']
``` lmfao
^^^^
fr!!!
obfuscators:
no i wrote this by hand
I know
I'm saying that obfuscator devs would love that
not the lua dev talking
how is that relevant
it weakens any argument you may have
I don't use lua anymore

I can't use objc
so I don't do that
I mostly do C# and Java
not really Java though
Java is very minimal for me
Tabs:
(I don't use objc because I don't have a good use for it)
Spaces:
theyre not all tabs then
(no these arent mixed theyre one or the other, it just does that)
ITS GITHUB
would you rather i use sourcehut or something
anything but the github web editor

i dont use the github web editor
github codespaces?
i use nvim and vscode
but when viewing the code afterwards
it displays wrong
on github
github cant even make their site support ios 15
allemande doesn't work with swift
lmao yea i noticed
no wonder they cant display basic text properly
this was an eventful april for me
real
I don't think I used github at all this april ngl
yup
I could use github actions
but that's a pain
good luck hotfixing
"lemme just change 1 tiny thing to see if it works" ok lets wait 3 mins for it to build 😔
its fine use elle (do not)
yeah but what if I need to use a swift framework
real
uh
no
I would just buy a mac
but they're so overpriced lol
and I also don't want a literally ancient one
expensive though
I don't got that kind of money
maybe I'll make a tweak using allemande first
hopefully make the money to get M1 macbook
and then problem solved

once elle gets structs i will make a 128 bit integer type
typedef struct {
uint64_t low;
uint64_t high;
} uint128_t;
void print_uint128(uint128_t n) {
printf("%016lx%016lx\n", n.high, n.low);
}
uint128_t add_uint128(uint128_t a, uint128_t b) {
uint128_t result;
result.low = a.low + b.low;
result.high = a.high + b.high + (result.low < a.low);
return result;
}
int main() {
uint128_t a = {0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF};
uint128_t b = {1, 0};
uint128_t sum = add_uint128(a, b);
printf("a: ");
print_uint128(a);
printf("b: ");
print_uint128(b);
printf("sum: ");
print_uint128(sum);
return 0;
}
most languages have a 128 bit integer type
I've seen langauges with a huge floating point type
(C#)
i dont think C does
when writing elle code youre effectively writing C code
no it compiles to qbe ir
yeah C# has this
arbitrarily large number
lol
weightof(capts_mother)
yeah but base C doesnt have this
im pretty sure boost does
well obviously
it's stored in C# as an array of uints iirc
(as like in the .NET framework)
yeah makes sense
hm
What if I use something like lua or bash where there's just like and end or fi which is a c simple and clear visual clue
then don't use those
the same as braces
Yes yes do this for release builds, it’s not bad at all. Or use a vm
the word end isn't any better of a visual cue than a brace
if anything it's worse because it looks like another r keyword
I see I see
Why do not you use theos ?
currently theres no way to dereference pointers or access indexes of a buffer in my language
Its grammaticaly correct
and theres also no structs
or enums
as soon as i figure those out its basically C
How come
Why do not you
read that out loud a few times
horror
need jit asm
reminds me of that one tiktok
"How are you? Are you okay?"
"I'm"
Well at first i had written "why not use theos" and it sounded bad so i edited it and didn't feel like deleting the n lmao
perfect language:
- is c
- has defer
- jit asm
- multiple return values
maybe i will after i fix all the 2812851251 parsing issues
defer 🦾
tough luck elle has 1 return value
defer sounds like something i could implement
InternalFrameInternalFrameTitlePanelInternalFrameTotlePaneMaximizeButtonWindowNotFocusedState.HasThisTypePatternTriedToSneakInSomeGenericOrParamaterizedTypePatternMatchingStuffAnywhereVisitor
strb
store bytes
initWithEnableFan:enableAirConditioner:enableClimateControl:enableAutoMode:airCirculationMode:fanSpeedIndex:fanSpeedPercentage:relativeFanSpeedSetting:temperature:relativeTemperatureSetting:climateZone:
oh BUT I CAN STORE THE NUMBER 0
OR THE ASCII REPRESENTATION OF ANY OTHER CHARACTER
is there a hard cap on selector length?
AND I CAN DECLARE THEM LIKE THIS
data $input_3 = { b "r", b 0 }
``` AND USE THE STRING LITERAL REPRESENTATION
i hate this ir im going to llvm
llvm ir on top by far
llvm ir when you try to write a hello world program:
just skip ir completely
; Copied directly from the documentation
; Declare the string constant as a global constant.
@.str = private unnamed_addr constant [13 x i8] c"hello world\0A\00"
; External declaration of the puts function
declare i32 @puts(i8* nocapture) nounwind
; Definition of main function
define i32 @main() { ; i32()*
; Convert [13 x i8]* to i8 *...
%cast210 = getelementptr [13 x i8],[13 x i8]* @.str, i64 0, i64 0
; Call puts function to write out the string to stdout.
call i32 @puts(i8* %cast210)
ret i32 0
}
; Named metadata
!0 = !{i32 42, null, !"string"}
!foo = !{!0}
``` llvm when you want to write a hello world program
better than writing the instructions out by hand i guess
oh ok
i cant do "a" because storeb takes in a word
so i have to parse the literal into a number at compile time
got it
i will be posting here later
with needing help on my blocksi enterprise edition rewrite
Did ginsu do a sly move
Suspicious
I think that in Dodo, instead of making the time view hide when the battery icon comes up, he just made it easier for himself and hid the battery icon altogether (the battery icon that comes up when you plug your phone in to charge)
Oh, what do you know
😈
@gleaming wave Connecting an already jailbroken Apple TV and opening Blackb0x causes it to crash with "illegal hardware instruction"
It prints out ✅Device connected (AppleTV3,2, Normal)
Jailbroken: Yes
zsh: illegal hardware instruction
then dies
doesn't trigger the mac crash reporter for some reason
@placid kraken
Looks at Apple bucket I found 
Just use free trials 🙂 and run
blackb0x is almost through getting a rewrite, are you trying to fix this or find a way around it?
No just letting ya know
I was trying to figure out which one of my tv 3 stack wasn't jailbroke
ah ok, thanks I am aware
if it crashes that's not it 😭
they can technically all be plugged in at once in the current version
I've simplified the whole process in the rewrite and it gives on device feedback
a lot more stable
Oh my god I yearn for its release
some other surprises too
sounds about right for Amazon
oh no, there's a problem that makes us more money? we'll get riiiiight on that
Épico!!!
K will NoW spam this emoji
@primal perch happy birthday!!!
Happy birthday @primal perch
NO WAY
No way 💀
the wheels say swift 
Can't Twitter is bad
Good for you
Boba is worse
why so much beef
Sending twitter links in 2024 is unironically useless
Much worse than an instagram link
so TRUEE
are you doing it from a kcache file or dumped kernel memory?
static
What I used on ios 9 was to search inside the prelink_text and search for the kext's ident lol
In iOS 10, the kernel layout has changed, so it probably cannot be used.
i’d argue it was worse before
at least now we get embeds
vxtwitter/fixupx/fxtwitter still better
You only really need fixupx if it’s a quote rt or a video or multiple images
fix up my nuts developers
yeah
This is what happens when you get neutered you stupid cat
Fucking moronic fat toilet cat
what the dog said
So I changed two files in dopamine
Both of which are from another jailbreak
But I updated it
How do I add source
As it’s too big it’s like 51mb
do you not know how to use github
Do I upload the ipa file extracted
No I don’t do iOS stuff
I use GitHub
Is it just the extracted ipa
no
https://github.com/opa334/Dopamine, fork dopamine, change whatever
make release
how
lol
Static for now. I don’t have anything or even know of anything I can use to dump kernel. I’ve never done it on 32-bit.
is there anyway to fix this?
probably by creating said file
or moving it to the correct location if it exists but isn't already
copyin(buffer, kbase + slide, sizeofbuf/kern/wtv)
it will be generated by swift compiler
I don't think it worked
but it tried to compile c file first
new issue:/
Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
MIT License
Copyright (c) 2023-2024 Lars Fröder (opa334)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
bro what
where even is the word fitness in that
@primal perch
gute morgen
Happy b day shep 🎉
uh does a struct with an int compile to different memory than for example a char array[4]? I’m accessing data in the struct and it works with correct alignment with the array but if I use an int instead it through the struct access alignment all out of whack
should be the same unless u packing it weird
This code works fine:
struct my_struct1 {
uint8_t data1[4];
uint8_t data2[71];
};
struct my_struct2 {
uint8_t data1[8];
uint8_t data2[16];
uint8_t data3[16];
};
struct my_struct3 {
struct my_struct1 struct1;
struct my_struct2 struct2[];
};
struct my_struct3 *struct3 =
void *pointer = &(struct3->struct2[index].data2);
This code it bleeds into eg data1 or data3 in my_struct2 instead of just getting data2
struct my_struct1_other {
uint32_t data1;
uint8_t data2[71];
};
struct my_struct2 {
uint8_t data1[8];
uint8_t data2[16];
uint8_t data3[16];
};
struct my_struct3 {
struct my_struct1_other struct1_other;
struct my_struct2 struct2[];
};
struct my_struct3 *struct3 =
void *pointer = &(struct3->struct2[index].data2);
no packing at all
cuz it's illegal
they can't be
GPL not allowed to interact with non-GPL code
iirc
am I just dumb?
LGPL exists
tru
pack to 1 byte, the int will force it to 4byte alignment, it will align to the largest type
alignof() is useful

