#development

1 messages · Page 175 of 1

queen ruin
#

Jk jk

#

Don’t use swift

radiant idol
#

np

grand tide
placid kraken
#

don’t start with swift for tweaks

#

genuinely

#

swift is fine if you already know how tweaks work

hasty ruin
queen ruin
placid kraken
#

but the abstraction levels when working on a tweak in swift are too high

reef trail
placid kraken
#

you’ll have things working and won’t know why they’re working

reef trail
#

???

grand tide
#

this tweak i’m making is gonna be kinda dumb but i’ll probably make something decent in the future

placid kraken
#

i’ll argue that logos is also a big abstraction we need to go back to the MsHookMessageEx troll

reef trail
#

@queen ruin pinnacle is not buggy wdym

queen ruin
#

You’ll get where you want eventually

reef trail
#

mooner smells so

queen ruin
#

I do get some bugs tho

placid kraken
radiant idol
#

I do NOT

placid kraken
radiant idol
#

rosie

#

go back to fixing enmity

placid kraken
reef trail
#

if i do end up using objc i'll prob go logos-less for the lsp lol

placid kraken
#

or bootloop me

queen ruin
hasty ruin
#

who needs lsp

#

🥱

placid kraken
#

i write my tweaks in vi guys

reef trail
placid kraken
#

neovim with plugins can do pretty much everything vscode can

queen ruin
#

Oh also making apps with swift is fun

reef trail
placid kraken
kind herald
reef trail
serene hawk
placid kraken
#

vi is different it’s literally just a plain text editor

reef trail
#

i also hate objc syntax

queen ruin
# hasty ruin who needs lsp

It’s nice to have lol, but I spent the latter half of Mooner working without lsp and it honestly wasn’t horrible

reef trail
placid kraken
#

i don’t remember if neovim does too actually

reef trail
#

yeah i dont think it does

#

defo not swift

placid kraken
#

think vi the same as editing a code file in notepad compared to neovim being on the same level as vscode

placid kraken
queen ruin
#

Bloom is made entirely in swift

placid kraken
#

autocmd BufRead,BufNewFile *.swift set syntax=<whatever>

#

you may not have the swift syntax but you can look for another language with similar syntax

reef trail
#

or i just stick to tree shitter

#

which looks very nice

placid kraken
#

for example elle fits really well with rust syntax

placid kraken
serene hawk
reef trail
#

which uses treesitter

queen ruin
#

💪 Swift swift swift

serene hawk
placid kraken
#

i haven’t gone into treesitter stuff yet

#

im still tabe.

reef trail
placid kraken
#

soon

queen ruin
placid kraken
placid kraken
#

because im still faster at editing in vscode as of now

reef trail
timid furnace
#

OBJC POLICE REPORTING FOR DUTY

hasty ruin
timid furnace
#

lmfao ban rust

placid kraken
queen ruin
#

gottem

placid kraken
#

naturally i’ve become very fast at editing like this

queen ruin
#

swift lives matter

timid furnace
#

we got a swift sympathizer here

hasty ruin
#

AIM pro users

reef trail
placid kraken
#

i do NOT need to learn another thing at the same time

reef trail
#

motions are easy to learn, if you just go cold turkey and do it you'll get it in under a week

placid kraken
#

yeah and i do know the shortcuts already

#

im just faster at editing in vscode normally for now

reef trail
#

@queen ruin you use neovim right?

queen ruin
reef trail
placid kraken
#

it’s the difference between having to think what keys to press meanwhile editing the old way is second nature to me and i can pretty much do it in my sleep

queen ruin
reef trail
#

ofc

#

i have lsp

queen ruin
#

ok ok

#

perfect then

#

is it more lightweight than vs?

#

i assume so

reef trail
reef trail
placid kraken
#

neovim is much more lightweight that vscode yes

queen ruin
#

dang

#

my pfp is also literally the neovim logo coincidentally

reef trail
timid furnace
#

today's helpful tidbit: %log; exists, use it

hasty ruin
#

no

placid kraken
#

usually i could run up to 12 vscode windows (aka different repos/projects because i don’t like workspaces) until it started being really really really slow

hasty ruin
#

(there’s no reason not to, I just like hating)

placid kraken
#

with nvim i can get like 20 at once and it’s still super fast because it’s technically a TUI

reef trail
#

not technically it is

grand tide
#

can i put multiple hooks at the beginning of my code to hook multiple elements

placid kraken
reef trail
#

so

placid kraken
reef trail
#

unless you're using neovide (a gui wrapper) its a tui

placid kraken
placid kraken
#

in retrospect i have never used ctrl+s a single time

#

i always :w

reef trail
#

as longs as it passes ctrl + smth to the shell it should work

#

and ctrl c already closes the output for me

placid kraken
placid kraken
#

oh i also added cmd+/ for comments because that’s muscle memory too

reef trail
placid kraken
#

cmd did not

reef trail
reef trail
placid kraken
#

yeah

queen ruin
#

@reef trail @placid kraken this was not done on purpose at all, purely coincidental, but my logo is literally just the Neovim and VS Code logos combined

reef trail
#

lol

placid kraken
#

lmao

#

it allows shift for visual mode and stuff it’s so weird

reef trail
#

wdym shift for visual mode?

placid kraken
#

also adds ctrl+c to copy instead of y

reef trail
#

oh thats weird af

placid kraken
reef trail
#

ew

placid kraken
#

i turned off that mode but if you wanna ruin the nvim experience

#

there you go

grand tide
serene hawk
#

afaik, no

light quiver
#

Made this in Roblox Studio

reef trail
faint lionBOT
#

Hey @light quiver, have a look at this!

roblox

This Discord server is for iOS jailbreaking, not Roblox. Please keep your discussions on-topic, thank you!

light quiver
#

shit

grand tide
slender glade
#

what area does this even fall in if it's macOS UI IN roblox

reef trail
timid furnace
reef trail
#

and yes this is what i'd suggest

timid furnace
#

assuming that you need to hook both. if you need to hook one or the other, it gets easier

grand tide
#

i want to make 2 hooks do the same thing

grand tide
#

like how you typed dostuff1 and dostuff2 could i make those both the same thing?

slender glade
#

he means he wants to hook the same methods in 2 different hooks

grand tide
#

yes

slender glade
#

your only solution really is just copy paste

grand tide
slender glade
#

indeed

grand tide
#

thanks guys

#

should i not be testing a tweak on my own phone?

#

idk what would brick it

reef trail
#

should be safe as long as you're not messing with system files

grand tide
#

alr

serene hawk
#

nothing, worst thing that could happen is it'll send you to safe mode

reef trail
#

worst case is you restart and rejailbreak without tweak injection

timid furnace
#

well

grand tide
#

oh ok

#

so not horrible

#

so bricking is kinda gone since rootless became normal?

reef trail
#

pretty much, you can fuck up preboot and /var tho

slender glade
#

bricking through software has always been basically impossible on iOS

#

dfu is available no matter what

#

and recovery mode is on a separate partition

grand tide
#

what does typing objc do in my code?

#

do i only need it once at beginning?

slender glade
slender glade
grand tide
#

nvm i’m dumb

primal perch
#

<?objc

grand tide
#

for some reason objc was at the beginning of my code and idk why

#

i don’t think that does anything so i’m removing it

queen ruin
#

import Swift

grand tide
queen ruin
#

:trollstore:

#

frick

grand tide
queen ruin
#

we need a trollstore emoji because I keep writing "trollstore" instead of "trollface" accidentally, @torn oriole

#

please

#

I would be grateful

kind herald
#

🧌

grand tide
#

in control should i make architecture iphoneos-arm64 for rootless?

#

also how do i make tweak rootful and rootless when people wanna download it

#

for now i want it to be rootless but in the future i wanna know how to make it both

hasty ruin
grand tide
#

uhh

#

no…

grand tide
queen ruin
#

This would work

grand tide
#

should be simple

serene hawk
#

analogue to this: if you don’t want to build for rootless just leave it out

serene hawk
queen ruin
#

Seeing open source tweaks with that in the makefile are annoying

serene hawk
#

lol i mean for development only

queen ruin
#

We were talking about this in the theos discord server earlier today lol

queen ruin
serene hawk
#

if he tests on rootless then it’s fine

queen ruin
#

It's easier to just set it once

#

In the RC

#

Then even if he makes more tweaks, he won't have to add it to each makefile

grand tide
#

where is the rc file?

hasty ruin
queen ruin
grand tide
#

time for me to put it in the makefile!

queen ruin
queen ruin
#

But I think the RC file should be in /var/jb/usr ?

#

Or something like that

grand tide
#

i haven’t touched the Makefile yet at all, should i just put it at the bottom?

queen ruin
#

It's gonna be the zsh RC file on dopamine

queen ruin
grand tide
#

should i change INSTALL_TARGET_PROCESSES = SpringBoard

queen ruin
grand tide
#

the tweak is for discord so no?

queen ruin
#

Ok

#

Then remove that line

grand tide
#

what about TARGET := iphone:clang:latest:7.0

#

do i change that?

#

also how do i know what to put for Depends: mobilesubstrate (>= 0.9.5000) in control

#

does that already let it work on all ios?

queen ruin
#

Think of it kind of as a minimum iOS version it'll run on

grand tide
#

alr ima compile now and test

#

if you have a repo making guide that would be helpful rn

#

cause ik you have to pr canister but idk how to do it and with what files and how to make my own website

#

@queen ruin what command do i do to compile

hasty ruin
#

That’s only if you want things like GIR to know about your repo

grand tide
#

i do

grand tide
#

i’m not sure how to do any yet sooo

hasty ruin
#

Tbh I’d focus on just making the tweak first

grand tide
hasty ruin
#

Are you following a tutorial?

grand tide
#

i’m trying make package

#

i put the tweak name where package is right?

hasty ruin
#

No

#

Just make package

grand tide
#

do i have to cd first?

hasty ruin
#

Into the tweak directory?

#

Yes

grand tide
#

ok

#

where is ./packages?

#

@hasty ruin

#

i’m trying to find where it built

hasty ruin
#

. = current directory

grand tide
#

so the tweak directory?

slim bramble
#

yeah...

grand tide
#

there’s nothing new except .theos

reef trail
#

show the output of ls in your tweak directory

grand tide
#

did it not build? idk what i’m doing wrong

grand tide
reef trail
#

?

#

ls

grand tide
#

what is ls?

reef trail
#

???

#

its the command to list the files and directories in your current dir

grand tide
#

ohhhh ok

warped sparrow
#

Imagine cy[redacted] was on canister 💀💀

warped sparrow
reef trail
grand tide
#

also all those empty folders

#

idk why

reef trail
#

well they shouldnt be in there

#

but it shouldnt matter

grand tide
#

should i try building again?

reef trail
#

what are you using to build

reef trail
grand tide
#

that is

reef trail
#

hardly .theos isnt there

grand tide
#

that’s what ls gave me

reef trail
#

nvm ls removes hidden by default

reef trail
grand tide
#

newterm

#

💀

reef trail
#

what

#

what about newterm

grand tide
#

i’m using it to build

warped sparrow
#

i think hes asking what command

grand tide
#

make package

reef trail
#

not the terminal emulator lol

reef trail
grand tide
#

yes

reef trail
#

and it gave no errors

grand tide
#

it has errors

reef trail
#

....

warped sparrow
#

😭

reef trail
#

then send the errors

#

why would you expect ./packages to exist if it didnt build

grand tide
#

maybe cause it’s built for ios 7

reef trail
#

what are you on about

grand tide
#

1 sec

reef trail
#

if it failed to build, then it wont have a build output

grand tide
#

it was try to build for ios 7 but it couldn’t cause i’m using newer stuff

reef trail
#

wdym ios 7

#

you dont build for specific versions

grand tide
#

ik ios 7 and up but it has to be 14 and up

reef trail
#

??

kind herald
#

meow

reef trail
#

woof

grand tide
#

something weird that i fixed

#

i’m gonna send other errors

#

do i need to fix this?

reef trail
#

no

grand tide
#

here’s an error

reef trail
#

show your code

grand tide
#

uh ok

reef trail
#

my guess is you need to import foundation

#

but without seeing your code idk if thats the case

grand tide
#

how do i send the code in that small box on discord

#

on mobile

reef trail
#

wdym

grand tide
#

like how you sent ls

reef trail
#
like this?
grand tide
#

yes

kind herald
#

` `

#

those

reef trail
#

```

grand tide
#

why are they not on apple keyboard

kind herald
#

hold down the apostrophe key and go to the very last key on the left

reef trail
#

they are

#

type objc after the first ``` too

#

brb

grand tide
#

where test is there is id’s

reef trail
#

you need to import foundation

grand tide
#

at the top of the code

reef trail
#

yes

grand tide
#

what do i put?

reef trail
#
#import <Foundation/Foundation.h>

typed on mobile

grand tide
#

so that exactly?

reef trail
#

yeah it should be

grand tide
#

yippee it worked

#

could i delete my code for now?

#

i guess i will

reef trail
#

i mean you can if you want

#

i would keep it tho

#

incase theres smth you want to change in the future

grand tide
#

uhh well i did

#

i’ll just send it again after i improve it a bit more

#

if i need to fix something

reef trail
#

oh i thought you meant the actual code

#

not delete the message

grand tide
#

ohhh lol

reef trail
#

btw the reason you had to import Foundation is because NSString is from there

#

so without importing it the compiler has no idea what NSString is

grand tide
#

oh ok thanks

placid kraken
#

least insane implementation

#
fn input(String message) {
    Long stdin = fdopen(0, "r");
    buf[64];

    puts(message);
    fgets(buf, 64, stdin);

    Long len = strlen(buf);
    Long index = len - 1;
    Long newline = buf + index;

    $storeb 0, %newline_15$;
    ret buf;
}

pub fn main() {
    String res = input("Input pls?\n");
    printf!("Did you say %s? That's so true bestie!!", res);
}
#

my favourite c code, $storeb 0, %newline_15$;

vivid dew
#

i thought this was a functional language

grand tide
#

@reef trail this part of my code is supposed to change a ui image and it’s not and i’m not sure why, i got the right ui thing with FLEXing objc %hook DCDFastImageView -(void)setURLString:(NSString *)urlString { if ([urlString containsString:@"userid"]) { // test %orig(@"https://cdn.discordapp.com/emojis/emojiid.webp"); } else %orig; } %end

timid furnace
#

well

#

is it running

#

add logging statements

grand tide
#

wdym

#

i’m using the tweak rn

#

how do i check if it’s logging statements?

vivid dew
grand tide
placid kraken
#

i added syntax for store instructions

#
fn input(String message) {
    Long stdin = fdopen(0, "r");
    buf[64];

    puts(message);
    fgets(buf, 64, stdin);

    Long len = strlen(buf);
    Long index = len - 1;
    Long newline = buf + index;

    store Byte 0 -> newline;
    ret buf;
}
radiant idol
#

that looks weird

vivid dew
#

this looks suspiciously procedural to me

warped sparrow
placid kraken
kind herald
warped sparrow
#

I think its got something to do with the hide media option when media isn't playing

warped sparrow
torn oriole
warped sparrow
#

i seear it only happens when i open the cc

kind herald
#

average french tweak

warped sparrow
#

💀

#

oh well

#

Silly me

placid kraken
torn oriole
#

@slim bramble skill issue

warped sparrow
slim bramble
warped sparrow
#

Its the latest on chariz

torn oriole
warped sparrow
#

When i open the cc with jade installed i get safemoded

#

i had akara before and it was fine

slim bramble
#

Alt let’s end this quickly @radiant idol

#

What do you hook in the latest jade ver

#

That you didn’t before

radiant idol
#

I didnt change any music hooks

kind herald
#

nightwind isn't french
rootfs is french
conclusion: nightwind dev tweak is not causing this crash

timid furnace
#

jade is not loaded in that crash log?

kind herald
#

?

warped sparrow
#

i got jade installed and im using it

slim bramble
placid kraken
#

rootfs are you tesla man

slim bramble
placid kraken
#

nvm

slim bramble
#

Luckily

placid kraken
#

yea i realised lol

warped sparrow
slim bramble
#

Ok

faint lionBOT
radiant idol
#

and try and reproduce the crashlog

slim bramble
#

Wtf is OSAnalytics

radiant idol
#

makes crashlogs a bit more useful

kind herald
#

a functioning tweak

slim bramble
radiant idol
#

ok 👍

slim bramble
#

@warped sparrow how to reproduce the bug

warped sparrow
#

Install jade play music and open the cc

warped sparrow
radiant idol
#

did you get it to crash

warped sparrow
ashen birch
#

fuck up losers

warped sparrow
#

Do you want the new crashlog from krashkop or the iOS crashlof thing

radiant idol
#

krashkop

warped sparrow
#

Oki

placid kraken
#

least cursed syntax

fn input(String message) {
    Long stdin = fdopen(0, "r");
    buf[128];

    printf(message);
    fgets(buf, 128, stdin);

    Long len = strlen(buf);
    Long index = len - 1;
    Long newline = buf + index;

    store Byte 0 -> newline;
    ret buf;
}

pub fn main() {
    String res = input("Input > ");
    printf!("\nDid you say %s? That's so true bestie!!\n", res);
}
``` @slender glade do you like this C code
ashen birch
#

Hell No .

warped sparrow
#

@radiant idol

radiant idol
#

oof looks like OSAnalytics didnt work

#

rip

#

ok well lets wait and see if bibi figures out anything

placid kraken
# ashen birch Hell No .

pls 😭 the IL looks even worse

function l $input(l %message_1) {
@start
    %tmp_4 =l call $fdopen(w 0, l $input_3)
    %stdin_2 =l copy %tmp_4
    %buf_6 =l copy $buf_5
    %tmp_7 =w call $printf(l %message_1)
    %tmp_8 =w call $fgets(l %buf_6, w 64, l %stdin_2)
    %tmp_10 =l call $strlen(l %buf_6)
    %len_9 =l copy %tmp_10
    %tmp_12 =l copy %len_9
    %tmp_13 =l copy 1
    %tmp_14 =l sub %tmp_12, %tmp_13
    %index_11 =l copy %tmp_14
    %tmp_16 =l copy %buf_6
    %tmp_17 =l copy %index_11
    %tmp_18 =l add %tmp_16, %tmp_17
    %newline_15 =l copy %tmp_18
    storeb 0, %newline_15
    %r_v18_19 =l copy %buf_6
    ret %r_v18_19
}
export function w $main() {
@start
    %tmp_22 =l call $input(l $main_21)
    %res_20 =l copy %tmp_22
    %tmp_24 =w call $printf(l $main_23, ..., l %res_20)
    ret
}
data $input_3 = { b "r", b 0 }
data $buf_5 = { b 64 }
data $main_21 = { b "Input > ", b 0 }
data $main_23 = { b "\nDid you say %s? That's so true bestie!!\n", b 0 }
slim bramble
#

Could ask Tesla

#

I told him how to debug

radiant idol
#

👍

grand tide
#

anyone here have FLEXing?

#

i need help figuring out why my code isn’t working

grand tide
#

this is the element i’m trying to replace with that emoji url

#

replacing that image with that emoji instead

placid kraken
#

consider doing this with an enmity plugin instead of trying to do it native side

grand tide
#

enmity doesn’t work for me

#

i’d rather do it native

#

easier to just get the tweak

placid kraken
#

its much easier to develop a plugin instead lmfao

#

but ok

young meteor
#

if that’s the ntwerk code, it only works on the pfp in chat

#

you’d need a different hook for the pfp there

grand tide
#

ik i’m modifying it

#

i changed the hook

#

to that pfp hook

#

but i think it’s not working because of something with the void code

#

there’s no errors just it’s not doing it

#

i’m gonna go insane if i can’t figure this out @placid kraken

placid kraken
#

idk why you would torture yourself trying to do it via a tweak

#

if you do it via a plugin you can just patch the profile action sheet, use findInReactTree to get the pfp Image component, and then change its source prop to your custom url

grand tide
#

could you help me do it this way?

#

i showed you the element

#

it shouldn’t be much harder

placid kraken
#

the element is useless lol everything has different names on the JS side

grand tide
#

the other part of my code works thought for changing a different pfp

placid kraken
#
const { ActionSheet } = findByProps('ActionSheet', { all: true }).find(x => !x.hasOwnProperty('useToken'))
const Patcher = create("pfp-emoji");

Patcher.after(ActionSheet, 'render', (_, args, res) => {
    ...
})
#

the art of discord mobile client modding is completely different to a tweak

placid kraken
#

yeah

grand tide
#

😭

placid kraken
#

look at the source code for existing plugins for more info

grand tide
#

could you please just glance at that element and try to help me figure out which void is for the pfp url

#

pretty please with a cherry on top

#

@placid kraken pleaseeeeee

#

it’s fine if you don’t want to but this is the last thing i need

placid kraken
#

i.. dont know? you can probably view the DCDFastImageView in flex and find wherever the source is stored

severe forum
#

i love swiftui

placid kraken
#

hmm ok so if i wrote this correctly

store Byte 0 -> newline;
``` should be the same as
```c
*newline = 0
``` in c, assuming newline is a pointer, which is required in both cases
grand tide
#

i just wrote new code and there was no errors but discord didn’t start so idk

#

i’m just gonna post 1.0 and fix the bugs a different time

#

so how do i make my own website and repo and pull request canister after that?

#

@reef trail how did u do it?

faint lionBOT
#

@reef trail's timezone is Europe/London 🇬🇧
It is currently 12:30 AM BST

grand tide
#

oh damn

#

anyone with a repo and a website please help

acoustic imp
#

Pleas don’t just rehost my stuff, delete it first

grand tide
acoustic imp
#

Idk

grand tide
#

other guy earlier said pull request

acoustic imp
#

It’s static

#

Why not just use GitHub ?

grand tide
#

you have to do a pr on canister apparently

radiant idol
torn oriole
#

Just look at the previous repo adding commits for a template on how to do it

grand tide
#

@shrewd smelt you seemed like you knew how to do the website stuff

#

i can’t figure out how to do a .dev website

torn oriole
shrewd smelt
#

1s

#

no he wants cloujdflare pages

torn oriole
#

oh

shrewd smelt
#

then you can upload a .zip file or link it to a github repo

grand tide
#

that’s for cloudflare?

shrewd smelt
#

yah

grand tide
#

should i connect to git?

faint lionBOT
grand tide
#

like how did this guy do it like this @shrewd smelt

shrewd smelt
shrewd smelt
grand tide
#

you can go to the website and it has a list of package managers

shrewd smelt
#

steal the index.html from someone else's repo troll

grand tide
#

don’t worry i have something that will make you happy soon

#

@shrewd smelt what do i do here

shrewd smelt
#

nothing leave it blank

acoustic imp
#

@grand tide why not just use a GH repo

grand tide
#

idk

#

@shrewd smelt i’m lost

#

i’m using the template you sent and i have the repo hooked up to cloudflare

#

it just leads to the sileo website though

shrewd smelt
#

edit the index.html

#

and replace the debs and run repo.sh

grand tide
#

what do i put for my website in index?

#

the one from cloudflare?

#

@shrewd smelt

#

also how do i deploy the cloudflare one again

shrewd smelt
#

thats ur homepage

#

put links to sileo or whatever

shrewd smelt
grand tide
shrewd smelt
#
<a href="cydia://url/https://cydia.saurik.com/api/share#?source=https://repo.icrazeios.com/">Add to Cydia</a>
<a href="zbra://sources/add/https://repo.icrazeios.com/">Add to Zebra</a>
<a href="sileo://source/https://repo.icrazeios.com/">Add to Sileo</a>

totally not stolen from someone

hasty ruin
grand tide
#

what do i put for the repo url?

shrewd smelt
#

ur domain

#

the pages.dev thing

grand tide
#

ok

kind herald
#

terminal

shrewd smelt
#

yeah in mac or linux

#

u might need procursus if ur on mac

grand tide
#

i’m on mobile

shrewd smelt
#

probably works idr

grand tide
#

but how?

shrewd smelt
#

newterm

grand tide
#

how can i run it in github?

#

without a pc

shrewd smelt
#

what jb are you on

grand tide
#

dopamine

shrewd smelt
#

install apt-utils in sileo i think

grand tide
#

it’s missing files

shrewd smelt
#

what files

grand tide
#

release.gpg

#

idk what to do

#

i’ll be back in a bit

acoustic imp
#

#use a GH repo

shrewd smelt
shrewd smelt
grand tide
#

says there’s no such file as ./pool

#

i gotta do this on a pc

#

i give up for now

shrewd smelt
grand tide
#

no

#

i don’t have it on my phone

slender glade
#

OMG

#

FIRST OF ALL WHY DOES LONG START WITH A CAPITAL L

#

SSECOND OF ALL buf[128]; ?? IS THIS EQUIV TO A VOID * ARRAY OR WHAT BECAUSE WHERE IS THE TYPE SPECIFICATION??

#

store Byte 0 -> newline;?!

acoustic imp
#

Also POV: iPhone X

ashen birch
#

I Can't Wait Until One Of Your Guys Projects Reaches The Level Of PyIMG4 💕

kind herald
#

PyIMG5

gentle grove
#

.td

worldly sundialBOT
#

Liberty by Steve Vai has 125.5 bpm, is in key E and lasts 2:03

tepid olive
#

.femboy?!?

#

i have to ping devol

placid kraken
placid kraken
placid kraken
reef trail
#

wrong link

#

lemme find it

#

found it

slim bramble
placid kraken
#

you know what @slender glade what about pointer <- Byte 0 instead of store Byte 0 -> pointer

#

the <- to ensure you’re storing at that pointer not redeclaring the variable (with =)

#

dereferencing doesnt exist yet otherwise i would just do that

placid kraken
#

@slender glade better?

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;
}

pub fn main() {
    String res = input("Input > ");
    printf!("Did you say %s? That's so true bestie!!\n", res);
}
#

lmao horror

data $buf_5 = { h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0, h 0 }
#

(i made buffers actually work now)

#

before it made a single byte technically

#

if you did buf[255] it did { b 255 }

#

a single byte with a value of 255

#

oh i can actually initialise with z

#

thats better

#

ok yeah cool

#

chars are 1 byte

#

soooo i can do this

Char buf[1024];

and it compiles to

data $buf_5 = { z 1024 }
#

if i do rs Double buf[1024]; it compiles to ```rs
data $buf_5 = { z 8192 }

#

because doubles are 8 bytes

#

if you dont specify a type it assumes Byte

#

which is.. 1 byte

#

this is interesting

AstNode::BufferStatement { name, r#type, size } => {
    self.tmp_counter += 1;

    let buf_name = format!(
        "{}_{}",
        name.clone(),
        self.tmp_counter
    );

    let buf_size = match size {
        ValueKind::Number(val) => val,
        other => panic!("Invalid size type {:?}", other)
    };

    let buf_ty = Self::get_type(r#type).unwrap_or(Type::Byte);

    self.data_sections.push(Data::new(
        Linkage::private(),
        buf_name.clone(),
        None,
        vec![(Type::Field, DataItem::Const((buf_size as u64 * buf_ty.size()).try_into().unwrap()))],
    ));

    let ty = Type::Long;
    let temp = self.new_var(&ty, name.clone().as_str(), false).unwrap();

    func.borrow_mut().assign_instruction(temp, ty, Instruction::Copy(Value::Global(buf_name)));
    None
}
#

ty is defined as Long because pointers are always Longs

#

and you only get a pointer to the data when storing it as a data section

#

the z type allocates that many bytes all 0 intialized

#

in this case the buffer is an array of whatever type you choose to intialize with

#

so the initial buf_size * the size of each kind of thing youre allocating

#

and you can actually get a specific index and assign something else to it

gentle grove
#

Ah great GitHub is still broken on mobile and has been for weeks

placid kraken
#

oh

#

buf_name is cloned because it is moved into the data when adding to data sections, the Data struct now owns the value

#

name doesnt need to be cloned so i removed those ones i guess

faint stag
#

jade isn't even in that log

#

it's 16player+artfull in the backtrace too

gentle grove
placid kraken
#

LMAO

gilded laurel
#

imagine it was real

#

wait

faint stag
#

i mean what do you expect from people writing a js compiler

gentle grove
gentle grove
#

I'm on mobile so I can't tell

remote folio
#

Hello guys, anyone know how to run terminal commands from within a tweak? (Specifically dpkg-deb —build)

reef trail
#

launching child processes?

#

i’m guessing you want to use nstask

remote folio
#

Yeah but im using orion -> comet so a subproject, and for some reason it isnt detecting my obj c code

reef trail
#

i mean that’s unrelated you should be able to use NSTask from swift

remote folio
#

Wait how??

#

For me swift just cried

reef trail
#

or import SpringloadPref.m in tweak.h

remote folio
#

Ima try

#

If i put it in tweak.m it will prolly never work bc theos subprojects and in springloadprefs.m it also doesnt do anythin (theos just throws an error cannot find executeCommand in scope

acoustic imp
remote folio
#

Yes, yes i did 😂

placid kraken
# remote folio
#import <Foundation/Foundation.h>

NSString *executeCommand(NSString *command) {
    NSTask *task = [[NSTask alloc] init];
    [task setLaunchPath:@"/bin/sh"];
    [task setArguments:@[@"-c", command]];
    
    NSPipe *pipe = [NSPipe pipe;
    [task setStandardOutput:pipe];
    
    [task launch];
    [task waitUntilExit];

    NSFileHandle *file = [pipe fileHandleForReading];
    NSData *data = [file readDataToEndOfFile];
    NSString *output = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    return output;
}
faint timber
#

people actually use nstask supershocked

remote folio
faint timber
#

noob

remote folio
faint timber
#

code just doesn't go missing

#

its either compiled or its not

#

if its not you did the makefile wrong

remote folio
#

Checked the makefile a zilion times, its in order

#

ARCHS = arm64 arm64e
TARGET := iphone:clang:latest:15.0
THEOS_PACKAGE_SCHEME = rootless

include $(THEOS)/makefiles/common.mk

BUNDLE_NAME = SpringloadPrefs

SpringloadPrefs_FRAMEWORKS = SwiftUI
SpringloadPrefs_FILES = $(shell find Sources/SpringloadPrefs -name '.swift') $(shell find Sources/SpringloadPrefsC -name '.m' -o -name '.c' -o -name '.mm' -o -name '.cpp') $(shell find /Users/dusti/Projects/springload/springloadprefs/Sources/SpringloadPrefsC -name '.m' -o -name '.c' -o -name '.mm' -o -name '*.cpp')
SpringloadPrefs_SWIFTFLAGS = -ISources/SpringloadPrefsC/include
SpringloadPrefs_INSTALL_PATH = /Library/PreferenceBundles
SpringloadPrefs_CFLAGS = -fobjc-arc -ISources/SpringloadPrefsC/include

include $(THEOS_MAKE_PATH)/bundle.mk

#

Should be atleas

#

This is the one in the subproject though

faint timber
#

I recommend printing SpringloadPrefs_FILES

remote folio
#

Ah it was bc the header file wasnt doing stuff, its now calling the code but its erroring

faint timber
#

a header should not be executing code

remote folio
#

No but it should be making them interfaces

#

Like this: #import <Foundation/Foundation.h>

@interface object : NSObject

  • (NSString *)executeCommand:(NSString *)command;

@end

faint timber
#

mhm

remote folio
#

My cool objc code: #import <Foundation/Foundation.h>

NSString *executeCommand(NSString *command) {
FILE *pipe = popen([command UTF8String], "r");
if (!pipe) {
return nil; // Error occurred
}

char buffer[128];
NSMutableString *output = [NSMutableString string];
while (fgets(buffer, 128, pipe) != NULL) {
    [output appendString:[NSString stringWithUTF8String:buffer]];
}

pclose(pipe);
return output;

}

#

This was the one that didnt spit out a million errors

reef trail
#

wrap code in `

faint timber
#

BACKTICKS!!!!!

remote folio
reef trail
#

add objc after the first 3 and it adds syntax highlighting

remote folio
#

Anyway theos brings me this error ```theos stuffs ld: Undefined symbols:
OBJC_CLASS$_MyObjectiveCWrapper, referenced from:
in WalLib.swift.b9c73fa1.o

remote folio
reef trail
#

header is objc too iirc

#

and theos doesn’t have one obvs

remote folio
#

Maybe just zsh or sum

remote folio
# placid kraken ```objc #import <Foundation/Foundation.h> NSString *executeCommand(NSString *co...

I tried using your code but that all just resulted in errors: ```zsh

Sources/SpringloadPrefsC/SpringloadPrefs.m:5:5: error: use of undeclared identifier 'NSTask'
NSTask *task = [[NSTask alloc] init];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:5:13: error: use of undeclared identifier 'task'
NSTask *task = [[NSTask alloc] init];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:5:22: error: use of undeclared identifier 'NSTask'
NSTask *task = [[NSTask alloc] init];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:6:6: error: use of undeclared identifier 'task'
[task setLaunchPath:@"/bin/sh"];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:7:6: error: use of undeclared identifier 'task'
[task setArguments:@[@"-c", command]];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:9:32: error: expected ']'
NSPipe *pipe = [NSPipe pipe;
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:10:6: error: use of undeclared identifier 'task'
[task setStandardOutput:pipe];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:12:6: error: use of undeclared identifier 'task'
[task launch];
^
Sources/SpringloadPrefsC/SpringloadPrefs.m:13:6: error: use of undeclared identifier 'task'
[task waitUntilExit];
^
9 errors generated.```

placid kraken
#

oh no i was like just rewriting your code from the screenshot into plaintext

#

lmfao

remote folio
#

Ah thats what you meant

#

Wasnt my code though😂

placid kraken
#

i can tell lmao

#

this minimap is the worst ive seen in a while omg

#

i need to put this code into different files it hurts me physically

faint timber
placid kraken
#

horror

torn cloud
#

@visual meadow sshrd script tries to pwn however it just hangs on 78.4%, then the pwning process seems to restart, hangs on 4.3%, then does this:

rayyankhnz@Rayyans-MBP SSHRD_Script % ./sshrd.sh boot
[*] Getting device info and pwning... this may take a second
[==================================================] 100.0%
[===                                               ] 4.3%[*] Device should now show text on screen
rayyankhnz@Rayyans-MBP SSHRD_Script % ./sshrd.sh boot```
placid kraken
#

the parser for a statement is also 600 lines im gonna have to split a part of the parser into even smaller parts

#

and then the minimap is the compiler

remote folio
#

Bro casually recoding the entirety of ios

torn cloud
#

they're writing their own programming language in rust i believe

faint timber
#

at least c has sanity

placid kraken
torn cloud
remote folio
#

Can only imagine the pain of building an entire compiler…

faint timber
#

the rust learning curve is years ahead of any sane language

#

languages like c you can 100% relatively quickly

#

but rust will be years upon years to even get to 70%

torn cloud
#

hi icraze

#

i only came here to ping nathan bcs gaster was hanging

#

i'm out of here afterwards

faint timber
#

make a better ramdisk while you are at it

torn cloud
#

inshallah

#

omega needs fixing first

hasty ruin
torn cloud
placid kraken
#

i mean im sure theres more optimized ways to do what im doing

hasty ruin
#

I did dump onboards before the bootloop though

torn cloud
#

bootloop

#

mashallah

faint timber
placid kraken
#

but rust is an outlier in terms of languages

placid kraken
#

its very very fun and i love doing it

#

but its also very complicated at the same time

hasty ruin
#

nothing else

placid kraken
torn cloud
primal perch
torn cloud
#

you have to manage your memory yourself instead of it doing it for you

#

which is very based

placid kraken
#

im aware lmao

faint timber
torn cloud
#

i also loves how it leaks memory all over the place

placid kraken
#

i love how if you try to pass a number to %s it segfaults and you get no reason for it you have to just look at the dump or whatever

torn cloud
#

allows for 0 day haxx

faint timber
#

I don't care about memleak if my shit panics anyway

placid kraken
torn cloud
#

or don’t

placid kraken
#

the only way itll panic is if you dont handle a value wrapper correctly

#

libraries shouldnt panic on their own but should return an Option or Result type

#

which is what most crates do

hasty ruin
#

if you handle malloc errors you’re either writing something low level, enterprise, or just a fucking nerd

primal perch
#

or you just like writing correct c

torn cloud
#

jazakallah

hasty ruin
primal perch
#

jazakallah

hasty ruin
torn cloud
#

you spelt it wrong

faint timber
torn cloud
#

you don’t

hasty ruin
kind herald
primal perch
#

garf hitting that shit

placid kraken
torn cloud
placid kraken
#

i thought you meant like a panic!() in rust lmao

torn cloud
#

just don’t give your application com.Apple.panic.allow

faint timber
torn cloud
#

easy

placid kraken
hasty ruin
#

Too many non dev roles in chat

#

Gn

faint timber
#

fclose is done check @primal perch

torn cloud
placid kraken
#

in any case icraze

#

if you dont like rust then thats fine

torn cloud
#

in any case icraze should go outside

placid kraken
#

its an ✨ opinion ✨

cloud yacht
hasty ruin
placid kraken
#

something we should all have and something some of us dont share

hasty ruin
#

it’s bad because I don’t like it

torn cloud
hasty ruin
torn cloud
#

Wilson

hasty ruin
#

willy TrollKing

primal perch
#

icraze loves that willy

cloud yacht
#

Yeah typescript is pretty bad, but it doesn't segfaukt

grand tide
#

i can’t figure out what this error means

#

did i repeat something i shouldn’t have?

placid kraken
# cloud yacht Sure but if your code is actually typed, it shouldn't ever do this. Also rust de...

both are true in theory

typescript is like a false sense of security without zod, you can give some variable a shape, but without asserting that every property inside the object exists and is the type you say it is, then you are risking accessing a property on a value that is instead null or undefined

and i know rust has runtime errors, for example if you try to borrow mutably from a RefCell in the same scope it compiles fine but throws a runtime error, i just meant its far less likely for the code to break if it compiles correctly

hasty ruin
faint timber
#

@primal perch

hasty ruin
#

Zefram kext

primal perch
#

fr

faint timber
#

A69

grand tide
hasty ruin
grand tide
placid kraken
#

guys i’ve figured it out

#

icraze doesn’t just hate swift

#

he hates anything he can’t use himself

queen ruin
#

Inferiority complex

hasty ruin
#

I’ve used both rust and swift

cloud yacht
#

Also pretty much every language is a pain to interpret arbitrary data and make sure it's correct

hasty ruin
#

Unfortunately they both suck

cloud yacht
#

I've used a little go it's been fun

placid kraken
#

oh wow.. thank you

#

i get a green flower decoration

#

😐

placid kraken
queen ruin
placid kraken
#

a lot of people say rust sucks because the learning curve is so steep

cloud yacht
#

My vacuum sucks

queen ruin
#

BUY ICRAZE BY NEXUS

placid kraken
#

the syntax isnt my favourite but i love the primitives and paradigms it introduces

#

i think differently compared to any other language

cloud yacht
#

Tbh the garbage collector is a pretty neat concept, but I like don't ever have a situation where a garbage collector is too much additional resources for what I'm doing

placid kraken
#

ESPECIALLY when you introduce an async runtime like tokio

#

javascript promises suck

#

like a lot

#

the apis are horrible and i cant stress that enough

#

javascript promises compared to tokio futures in rust is a different world

cloud yacht
#

Sure but js is a language designed to render front ends, it doesn't really need much for handing async work

placid kraken
cloud yacht
#

None of my backends ever do that much work.

primal perch
#

CRCN

placid kraken
primal perch
#

chargeback rune chargeback nexus

placid kraken
#

look at some go to rust success stories for backends youll know what i mean

placid kraken
cloud yacht
grand tide
#

i’m gonna go insane, i’m trying to make 1 hook do 2 of the same type of thing

placid kraken
#

i hate that people are trying to make rust into a web language though

#

like rust code that compiles into wasm or whatever

grand tide
#

how do i use a hook to do 2 the same type of things with different ids twice

cloud yacht
#

WASM seems like a neat idea but it honestly sounds more useful outside the browser

cloud yacht
placid kraken
#

when you forget a semicolon in C

cloud yacht
#

It litterally is pointing at where it expects the semicolon

#

Pretty good error

grand tide
#

oh i’m dumbbbb nvm

placid kraken
#

i know thats what i meant

#

because this is not it

grand tide
placid kraken
#

please

grand tide
#

i gotta think for a sec before typing here lmao

placid kraken
#

i may have to completely rethink the parser

#

from scratch

#

for a fourth time

cloud yacht
#

Writing a parser is easy just parse the code

placid kraken
#

oh and that 600 lines is for STATEMENTS ONLY

#

theres more for parsing function declarations, constants, module imports, etc etc etc

#

ughh

torn cloud
#

running iOS 10.3.3

torn cloud
#

@visual meadow i used legacy ios kit instead it worked fine

#

thanks anyway

faint stag
ashen birch
#

dont need these shitty ass rules if you just write python

safe laurel
ashen birch
primal perch
#

vscode
f1
convert spaces to tabs

#

🔥

ashen birch
#

literally

faint timber
#

dos2unix supershocked

ashen birch
#

like what r u doing to mix up tabs and spaces, writing the code on paper and using OCR?

cloud yacht
#

Modifying someone else's code

ashen birch
cloud yacht
#

More often I have issues with the indenting messing up though

ashen birch
#

i need libcompression source code fr

restive ether
#

ask apple

ashen birch
#

I Don't Necessarily Believe They Would Give It To Me .

placid kraken
#

gonna just send this here so i dont forget

parse

if (value) {
    ...
} else {
    ...
}

into a jnz value, @ift_{tmp_counter}, @iff_{tmp_counter}
then create a new label @ift_{tmp_counter} and put all the code in the true branch, making sure to include a jmp @ret_{tmp_counter} at the end
then create a new label @iff_{tmp_counter} and do the same

then create a new label @ret_{tmp_counter} and put the rest of the code in the function function inside this

radiant idol
#

just a random question because i was confused

#

what does MSHake do? I cant seem to find any documentation on what it does

#

and the only examples of its usage are years old

gilded laurel
#

it's a milkshake

radiant idol
#

oh

young meteor
gilded laurel
#

red-line MT-90 GL4 Gear Oil

young meteor
#

oh

wooden yarrow
#

tr

#

sure is strange tho that there's like, 0 docs on this

radiant idol
#

I see

native orbit
#

typical saurik code

radiant idol
#

Cursery

#

I meant MSHake btw not MSHook

placid kraken
radiant idol
#

interesting

placid kraken
#

i’m assuming that’s what it stands for

radiant idol
#

could be

grand tide
#

@grave sparrow new tweak in your favor is out

#

remember how icrazeware changed you pfp well mixbomware is better and it doesn’t

#

[[ntwerk+]]

faint lionBOT
#
ntwerk+

ntwerk+

Author

mixbom

Version

1.0-12+debug

Price

Free

Bundle ID

com.mixbom.ntwerk+

grand tide
#

that repo

#

what 💀

#

my versions better btw, it changes icraze’s and dleovl’s

#

there both different though

#

i can add on

#

but a a ron might get angry

#

i could try making it a gif

#

true

#

did u try mine yet?

#

i need some reviews

grand tide
#

sorry… i don’t…

#

time for me to make a jailbreak!

#

for ios 17!

grand tide
#

yes

#

try my new tweak

#

[[ntwerk+]]

faint lionBOT
#
ntwerk+

ntwerk+

Author

mixbom

Version

1.0-12+debug

Price

Free

Bundle ID

com.mixbom.ntwerk+

grand tide
#

why does no one want my tweak intjsad it’s a new innovation

solemn estuary
#

@grand tide what it do?

grand tide
#

get it and look at icraze and dleovl

solemn estuary
#

ill check it out

solemn estuary
#

this shit funny

#

Rated 5 stars

grand tide
#

lets go

#

that just reminded me of tweakreviewsdb

#

that tweak is cool

solemn estuary
grand tide
#

epic

solemn estuary
#

It needs to be integrated into sileo natively or something

grand tide
#

1st mixbom repo customer

#

now i need more

solemn estuary
#

Ill keep your repo forever and ever

grand tide
#

yippee

#

does it have a logo for u?

#

cause on sileo it doesn’t for me

#

and i can’t fix it and idk why

solemn estuary
#

Yeah I saw you were trying to figure that out

#

it doesn’t

cloud yacht
#

I get so many requests to my repo and I'm not actually sure how many are legit users