#development
1 messages · Page 155 of 1
my resume is filled to the brim buddy
with what
you dont wanna know.
words that start with E
I do, that’s why I asked
and end with strogen
yeah we don't want to know
rust?
nono php in 2024 is actually good
So a project that I made?
php 8 >>>>>
ive seen it its literally just typescript but with $ everywhere
who said im usin your FORK 🥱
why would I want $ everywhere
also who said typescript is good
php 8 is really nice. idk why people are regressing to like, php 5.
inb4 api max char limit
I LOVE JQUERY
get help
FR
i mean just,
'You are a chatbot. Here's our previous messages: ........ You should not mention them again rather refer to them'
or something
a lot of people
javascript is ruined
imagine making such a shit language, that people make another language that compiles to that language, instead of actually using said language
if you use JS frameworks just admit you suck at JS
Show
Wait
life or death question
Sw*ft or objc
ObjC/C
Perfect
send your include
that causes issues
or simply
ctrl + f
find include
replace by "import"
I fixed it
not necessarily
tbf all ive seen is just horrors
although js frameworks do hide away a lot of the internals of whats going on
if you want to write good code you still need to know how the abstractions work
cant rely on frameworks to do the heavy lifting
still gotta know your shit
web development is cool but holy shit has everyone reinvented the wheel too many times
for no reason either, unnecessary fragmentation just creates some sort of power creep when it comes to fucking FRAMEWORKS
stick with vanilla JS and jquery yall at least you'll learn
sometimes i reimplement stock js methods from scratch to really get how they work
i fucking love php
ive written my own Map, Set, all the array methods like forEach, map, filter, reduce, etc
theyre not as fast as the stock implementation because im working in ts and not.. c++ or whatever their ones are written in
but they have the same functionality
type specification wasnt added into php until i think php 7
lmao yea idk too much about php syntax
pretty syntaxically similar to js, gets pretty advanced and powerful the more you go
the docs are one of the best ive seen tbf
stuff like this is fun to write
function pipe<T extends unknown, U extends ((arg: T) => T)[]>(initialValue: T, ...functions: U) {
let result = initialValue;
for (const callback of functions) {
result = callback(result);
}
return result;
}
pipe(
3,
x => x * 2,
x => x + 1,
x => x * 100
);
ion know what allat does
its a pipe function
Dude its 2024 whose using vanilla js
you pass in an initial value and then you get the result of the previous callback in the next callback
me :3
if your income is through a variant of javascript i actually feel bad for you
??
Thats what a web developer is?
Feel bad for them all you want but atleast theyre making money unlike you
so like
const result = pipe(
1,
/* x is 1 */ x => x * 5,
/* x is 5 */ x => x ** 2,
/* x is 25 */ x => x - 9,
/* x is 16 */ x => Math.sqrt(x),
/* x is 4 */ x => x + 5,
/* x is 9 */ x => x * 6,
/* x is 54 */ x => x - 4,
)
console.log(result) // x is 50
web development is very much capable with vanilla php/js, dont use some shit frameworks to do the heavy lifting for you while you fail to understand the core fundamentals of it. if you actually know wtf is going on you can do it all yourself :3
Sure but thats not what employers are looking for
employers are looking for people who know their shit
if youre employed by the language you write in, wow
And their shit is not vanilla js
i hope youre aware that in the end youll just end up creating your own shitty metaframework
Nobody uses vanilla js
the last thing we need is ANOTHER framework
its your own and you know the ins and outs of it

still another framework
youd be much better off learning the ins and outs of solid or svelte
i will not recommend react because react sucks
oh sorry, forgot i was gonna be employed to a super famous and popular company with a bunch of people haha!
tbf christian is kinda right
Ok good talk
syntax for creating elements in vanilla js is absolutely horrible
i mean do what you like we wont stop you but dont expect help when your snippets are 50 of these
var textBox1 = document.createElement("input");
textBox1.type = "text";
textBox1.placeholder = "Search with Google or enter Address";
textBox1.style.display = "block";
textBox1.style.margin = "10px auto";
textBox1.style.width = "80vw";
textBox1.style.color = '#aaa';
textBox1.style.placeholderColor = '#aaa';
textBox1.style.background = '#333';
textBox1.style.border = 'none';
textBox1.style.padding = '10px 10px';
textBox1.style.fontSize = '20px';
textBox1.style.borderRadius = '10px';
textBox1.style.boxShadow = '0 0 5px rgba(0, 0, 0, 0.5)';
textBox1.style.transition = 'background-color 0.3s ease';
textBox1.style.textAlign = 'center';
textBox1.style.outline = 'none';
``` (i hope noone still writes it like this, i pray)
stop
limiting yourself to whatever the 'meta' of programming is is pretty fucking dumb if you can do the same if not more with whatever you manage cook up yourself. i mean holy shit js/jquery been around for such a long time why would you just stick with the one framework thats being used for a year and being replaced by the next thing?
all your work GONE meanwhile you couldve been hackin away at making your own shit with the fact that you actually know whats happening. if a job wont hire you because you dont use RandomAssFramework simply go elsewhere
Jobs look for someone who can learn their tools
either way my point is that even if you use frameworks, to use them correctly you need to know how js works in general
import modules from './modules';
import { storages } from '@handlers/state';
const { React } = modules.common;
/**
* @description Implements raw statefulness to a storage key-value pair.
* @param {string} key - The key to access from the storage.
* @param {storages} store - The store to get the value from with the key provided
* @return {get, set} - Getting and setting the LocalStorage value statefully.
* @example - const [query, setQuery] = useStorageValue<boolean>('someOption', 'preferences');
*/
export const useStorageValue = <T = any>(key: string, store: keyof typeof storages) => {
const [value, setValue] = React.useState<T>(storages[store].get(key));
React.useLayoutEffect(() => {
storages[store].set(key, value);
}, [value]);
return [value, setValue] as const;
};
Employers dont adapt for you, you adapt for them
kinda hard to learn JS while you're learning shit byproducts of new frameworks clueless
Then dont start learning js with frameworks?
youre assuming that you dont know whats happening if you use a framework
the only people who are like this are the people who pursuit to program simply for the money only
and those people dont get very far because theyre lacking core skills
abysmal
does it NEED to be done with JS?
Its an example my brother
im aware
i dont get the point tho i very rarely see styling outside of class assignment
HOWEVER if your code is using constructs such as jsx (which most frameworks are these days)
export function Row({ label, sublabel, trailing, extra, centerTrailing = true, backgroundColor = '--palette-light-blue-20' }: RowProps) {
return <>
<div
style={commonStyles.merge(x => [
x.flex, x.row, styles.common,
{
justifyContent: 'space-between',
background: `var(${backgroundColor})`
}
])}
>
<div style={{ marginBlock: '0.5em', flexGrow: 1, flexBasis: 0 }}>
{typeof label === 'string' ? <TextWithMaths
text={label}
element='h4'
/> : label}
{typeof sublabel === 'string' ? <TextWithMaths
text={sublabel}
style={{ margin: 0, padding: 0 }}
/> : sublabel}
</div>
<div style={centerTrailing ? commonStyles.merge(x => [x.flex, x.column, x.justify]) : {}}>
{trailing}
</div>
</div>
{extra && (<>
<Dividers.Small />
<div style={merge(x => [x.common, { background: `var(${backgroundColor})` }])}>
{extra}
</div>
</>)}
</>;
}
``` you can think about how your component is going to work a lot more abstractly, instead of being stuck to think down to the exact attributes that youre applying to a bunch of elements you can think of it as a tree
its a more structured and clean paradigm imo
yea this too ^^^
state management in vanilla js sucks and if you end up installing a reducer library youre essentially just making a framework lol
astro best framework
what does vue's syntax look like? is it just kinda xml?
i only like jsx because i can embed JS (like ternaries) inside of the return value and render things conditionally
oh horror
ill ask eternal to host the apt repo on unbound.rip
oh that's not bad syntax
can you put js inside
i mean like, if you were to make an iifc to render a specific component like
return <div>
{{(() => {
return <h1>hello world</h1>
})()}}
</div>
``` could you do it
fair enough i guess
WTF
I like vue and next js
does v-if work like the inside of an if expression? like can you put v-if="typeof someVariable === 'string' && !isExploding"????
I went to install and the site was like: nah
im sorry, whats with the ()}}{}{)()())}{{{}){({)(}{(){}({){}){({}{)){)))(()}{(}{(}
its {{ }} wrapping an (() => {})() (immediately invoked function expression)
ultimate brainrot
js

this is actually disgusting
lol why whats wrong with it
yeah guys hes right we should all use obj-c
ok that part i agree with it feels a little icky but im sure you could get used to it
Because thats how it was implemented
thats awesome tysm also love how you store the prefs by creating/deleting the file lol
you could always call eval on that string with the scope it should be called in and then get a boolean to pass into if()
which is what im assuming it does
if you wanted to make it even faster you could probably use access(path, F_OK) instead of the NSFileManager thing
what did i just see
what is this
are there vsc plugins to get syntax highlighting in the attribute strings?
lmao i think this is a prime example of needing to know how js works internally
import { exfiltratedModules } from './data';
import exfiltrate from './exfiltrate';
import { CommonModules } from '@azalea/types';
export const common = new Proxy({}, {
get(target, prop) {
return new Proxy(target[prop] ?? {}, {
get(_, moduleProp) {
return target[prop]?.[moduleProp];
}
});
}
}) as CommonModules;
// Load modules by exfiltrating them through Object.prototype
Object.entries(exfiltratedModules).forEach(([name, mdl]) => {
exfiltrate(mdl.prop, mdl.filter)
.then(res => Object.assign(common, { [name]: res }));
});
// Use common[mdl] on its own only if you are *100%* sure that the module exists when you `get` any properties.
// If you are loading early, use await lazyDefine(() => common[mdl]) to wait for the module to be found.
export default { exfiltrate, common };
you need to get the real global by exfiltrating it via setting a payload on Object.prototype so that when the object you want is created, it will have the props of the object in the exfiltration and you can get it (as its a client mod)
so therefore, in components, if you wanted to render something you would first have to dots const React = await lazyDefine( () => modules.common.React, r => typeof r.useContext === 'function' && typeof r.createElement === 'function' ); to get React and THEN you can consume, it instead of just```ts
import modules from '@core/modules';
const { React } = modules.common;
with the double proxy, it ensures that at runtime when components need to call React.createElement, it doesnt reference the React at the top of the file (which is undefined at the point of importing) but rather the React that is currently stored at that value in the modules.common object, so when you call React.createElement it dynamically gets the current value after exfiltration
and exfiltrate works like this
function exfiltrate(prop: string, filter?: ((self: any) => boolean) | null) {
const protoKey = Symbol(prop);
let reachedProto = false;
return new Promise((res) => {
Object.defineProperty(Object.prototype, prop, {
configurable: true,
enumerable: false,
set(v) {
if (this === Object.prototype) {
reachedProto = true;
Object.prototype[protoKey] = v;
return;
}
Object.defineProperty(this, prop, {
configurable: true,
writable: true,
enumerable: true,
value: v,
});
if (!filter || filter(this)) {
res(this);
if (!reachedProto) delete Object.prototype[prop];
}
},
get() {
return this[protoKey];
},
});
});
};
its a promise that resolves if it ever finds the object with the specified key and filter
the result is grabbing the modules from a production website
not quite discord but yes a react project
that has always been where the react dispatcher lives
ive messed with it in the past
you can actually override the "stock" hooks like useState and stuff to force components to render outside of a react context
(bypassing the rule of hooks error)
the components wont actually render but you can get access to their pseudo-return value
you cant actually import that global in a bundling context in React either
you have to specifically import React from 'react'
and then you can ```ts
const ReactDispatcher = (React as any).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher.current;
const originals = keys.map(e => [e, ReactDispatcher[e]]);
you also wont have types because this isnt in the react typedef its internal
im sure vue has something like this
this is less of a global and more of a webpack module but i know what you mean
well my exfiltration method doesnt actually take advantage of webpack it would work for any framework
as long as you can import Vue from 'vue' or similar this should work
yeah makes sense
react leaves traces all over the place tbf
i wrote this
/**
* Finds a React component (if any) by its HTMLNode through React fibers.
* @param {HTMLNode} element
* @param {number} traverseUp
* @returns ReactElement | null
*/
const findReact = <T extends Element>(element: T | null, traverseUp = 0) => {
if (!element) return null;
const key = Object.keys(element).find(key => {
return key.startsWith('__reactFiber$')
|| key.startsWith('__reactInternalInstance$')
|| key.startsWith('__reactContainer$');
}) ?? '';
const elementFiber = element[key];
if (!elementFiber) return null;
if (key.startsWith('__reactContainer$')) return elementFiber;
if (elementFiber._currentElement) {
let computedFiber = elementFiber._currentElement._owner;
for (let i = 0; i < traverseUp; i++) {
computedFiber = computedFiber._currentElement._owner;
}
return computedFiber._instance;
}
const getComputedFiber = fiber => {
let parentFiber = fiber.return;
while (parentFiber && typeof parentFiber.type === 'string') {
parentFiber = parentFiber.return;
}
return parentFiber;
};
let computedFiber = getComputedFiber(elementFiber);
for (let i = 0; i < traverseUp; i++) {
computedFiber = getComputedFiber(computedFiber);
}
return computedFiber;
};
export default findReact;
which takes in a HTML node and accesses the internal react fibers through it
so you can get its state and component definition as long as its a component and not a pure node
which also means you can patch it :>
it gives you all of this stuff
..aka just the internals of the component lol
ah fair enough
is it __vue__ even for the root??
works fine for me
ah
interesting
vue 3 seems completely different internally to what i know about frameworks
pink fluffy unicorns dancing on rainbows
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)updateAll, (CFStringRef)@"dev.no5up.cameracontrol.update", NULL, CFNotificationSuspensionBehaviorCoalesce) is sending me into safemode?
help appreciated
idk i might be stupid but
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)updateAll, CFSTR("dev.no5up.cameracontrol.update"), NULL, CFNotificationSuspensionBehaviorCoalesce)
try this
yeah was gonna say that
also make sure updateAll is defined
or at least a bridged cast to cfstringref
okay can updateall be a void func lol
yeah thats fine
What are yall's dev environments like? Do you actually work on a mc, or use a virtual machine or smth?
I use linux
kali vm
Kali 💀
mac
linux toolchain's fucked rn
i was ususing debian but i just could not get stuff to work idk
POV : GitHub actions
I don't wanna commit something everytime I wanna build, especially if it has an error compiling
is there a way to get udid from the command line or through a tweak?
What is your device ?
iphone 8
but i want it to be compatable with all the devices
if i have to, im hoping just to keep it in bash
https://github.com/ProcursusTeam/uikittools-ng/blob/main/info/uid.m
i mean you can just install uikitools-ng and run
deviceinfo uniqueid but getting the udid is as simple as that ^
some are in uikitools-extra
i didn't know of this one was lol
i mean, there's not that many solutions, if you can't run a vm then the best option is someone else's mac (like github actions)
or whatever other service will give you access to a mac idk
@sacred cosmos kvm exists 
I use a vm, just there's no easy solution to transfer files between it and the host system in kvm and I'm not gonna develop with no graphics accel
I use it lmao
save up for a mac
there's plenty of solutions to get files between the host and guest tho
you can just access it over the network if you're just using bridged networking for example
it requires some configuration, of course
and you should probably set that up so you can just ssh into the vm instead of using the terminal with no graphics accel
Already have ssh set up and everything
How can I make my dev folder accessible over the network?
Ive used ftp, but its not a great solution
smb is a solution too
there's also syncthing if you want a copy to exist elsewhere
i mean, it's already running under localhost since it's a vm
just forward (unused) ports on your machine to the vm
exactly what i needed tysm
linux/windows with a mac VM running onn the linux machine
setup autologin too, then from there you could basically run the vm headless if you wanted
if ur on Linux/win it stupid easy to get the mac vm in ur network tab
thats what i have
Will mess with it
(arch linux btw)
lmao
get filtered
yeah
no mac 
i couldnt get it working 
damn
not all of us are rich
I have a 2008 macbook pro lmao
should I try installing sonoma
yeah
nice
2015 MacBook Pro 16gb ram i7 quad core
"shit"
decent but it’s not apple silicon
does it have a HDD or ssd 
SSD ofc
if you have a MacBook with a hdd ship it to me
I’ll get it sorted for you
no but srs
Got a free ssd at microcenter and threw it into the 2008
It's crazy how much of a difference an ssd makes
no micro centres near me 
I’m in the uk lol
they dont have them there right
I had to go to atlanta anyways, so I decided to stop there and snatched it up
ah
we have to ship everything so it costs a dozen
rip
but tbf my shop already has like 100+ ssds lying around somewhere
and i get to use them if i need them
dam
do you want one 
yes
discounted price
i have none 🥲
hm how much would shipping be to America
what state r u in
Coneticut
?
near nyc
its fine lol
Might as well buy a new one at that point
i got bestbuys around me and amazon
just go to near by computer shop
with a paki inside
they’ll give you amazing price
pakistanian ?
my ethnicity
ah
oh mb
I got smb to work
Though It wants some kind of domain
and it will install
noted
@torn cloud do u have flex?
i need to see if sm exist on ios 14
security and management?

fair enough
does your school have metal detectors
im stupid i can use header files nvm
something bad is bound to happen 
😭
It needs a root password, which after I entered doesnt work
and yes, I have set a root password
us have to go to like /var/jb/etc/ssh and find the ssh config file and find the thing thats like permit root login, and make sure its NOT commented out and is yes
k
sm = so much
sum = some || something
yep that
Didn't do shit lmao
now
Sm does not mean some
I had it like that far long ago
fr sm = so much
mf no one says sum in every day speech
just use total
do you also think mf means my friend
bf = before
bf = boyfriend
bf = breakfast
If someone says “sum like that” i think its pretty obvious they dont mean the answer to addition
nah like + that fym
Yeah, same issue after restarting sshd
did u set root psw ?
Yeah
u sure ?
Ngl im a lil dumb it took me a while to understand this
I saw something about the login keyring or smth not being updated
tried running what it wanted but didnt do anything
gave me an error
@sacred cosmos did u chnage ssh_... or sshd_... ?
sshd
thats the daemon
for the server
try doing ssh
mine looks like this
Ill try adding it manually ig
UNIX authentication refused 
I'll just transfer them manually
wrong psw
nuh uh

!t shellaccess
Hey @sacred cosmos, have a look at this!
Changes to shell logins
When you jailbreak for the first time, using a rootless jailbreak, you will be asked to set a password for the mobile user.
This is because logging in as the root user directly is deprecated. You must use the sudo command to elevate permissions. This also applies for logging in over SSH.
- Running
sudo <command>will run your command as the root user when authenticated. - Running
sudo -iwill give you a shell with root-level permissions.
This does not mean you can write anywhere in the root filesystem.
If you'd like to change this password after it has been set on a rootless jailbreak, run passwd mobile in a terminal.
Rootful jailbreaks will keep the password as the default (alpine) for both accounts. If you'd like to change a specific one, run passwd <username>
Please see /tag sshsftp for instructions on how to SSH.
man
me ?
Could I theoretically overwrite the master.passwd file with a new crypt function?
root login is deprecated (at least with a password)
just copy your keys instead
works for me 
besides that would be easier then typing your password every time
skill issue
sudo passwd root would have worked to
It requires the old password
Missing the correct config
it requires the mobile useres password
It says old password
i have it enabled for root and mobile user
still doesnt work
key auth is enabled by default anyway
u just hit enter
?
oh
wasnt for root
all that for nothing lmao
🙈
np
Again incorrect config
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
# Function to set up passwordless SSH login from Mac to phone
setup_ssh() {
# Generate SSH key if not already present
if [ ! -f ~/.ssh/id_rsa ]; then
ssh-keygen -t rsa
fi
# Copy public key to phone
if ssh-copy-id "$phone_user@$phone_ip_address" &> /dev/null; then
echo "SSH key copied successfully."
else
echo "Failed to copy SSH key. Manually copy the public key to your phone."
fi
# Ensure correct permissions
ssh "$phone_user@$phone_ip_address" 'chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys'
}
# Main
read -p "Enter the username on your phone: " phone_user
read -p "Enter the IP address or hostname of your phone: " phone_ip_address
echo "Setting up passwordless SSH login from your Mac to your phone..."
setup_ssh
echo "Done."``` this is what chat got wrote and it works on my laptop so idk
bc i was second guessing my self
also here's the windows (powershell) equivalent if anyone cares
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@host "cat >> .ssh/authorized_keys"
Anyone know which framework I need to link for MCMAppContainer?
MobileContainerManager
private ofc
i think there's also an entitlement for that, if you need to use it with a binary
but you'd know that cause, trollstore lol
is there an entitlement to like allow in-app purchases?

In this case I don't have arbitrary entitlements
I can manage without anyways the functions that uses MCM weren't essential
what would be the reason you'd need that though
mobile game hax
but it doesnt work
good.
what happens for other apps
(i forgot what the prefs look like anyway)
crash log?
bug with macho parser :/
Oh, anything I can do ?
no
So it’s just broke forever
it's probably one of your tweaks
where it crashes when parsing it's library or something
Doesn’t work
bru
why are you surprised it doesn't work
you know that the app can still check if a purchase was actually made right
like, with a server and all
Figure you know this but transactions are server sided
For all supercell games
@radiant idol is intercepting in app purchases oop /j
the joke
very
is share sheet springboard or something else
getting lag opening the sharesheet and not sure where to disable tweaks to
no that would be uikit mostly
Welcome to JBing
Even in safe mode it’s slow asf
oh hm
maybe springboard then i remember that was what first caused it to take ages for me
yeah i just tested it
like tesla said safemode still slow asf
annoying
devs fix plox
They can’t do anything
oh so its not even a flora thing???
wtf
i havent investigated yet i thought it was because mine is also super slow
no no thats not what i mean
new dopa bug just dropped
well lemme try uninstalling flora and see
It’s jus dopa
i always fix bugs that appear, i thought it was a flora thing because mine is slow too but i guess not
no it’s a JB bug
yep
sad
ooooooooh opa !!!!!!!! (daily unnecessary opa ping #417)
doesnt it just disable tweak injection for everything
Yes
ideally yes
it's just supposed to inject the safe mode dylib into springboard
then not inject anything else
it is a dopamine bug
disabling tweak injection through dopa settings gives the same behaviour after ldrestart
@native orbit I request some zig assistance
note: while parsing /Users/sora/theos/vendor/lib/iphone/rootless/CydiaSubstrate.framework/CydiaSubstrate.tbd```
after that reboot it took like thirty seconds for the bug to reappear
now opening sharesheet gives the same slow behaviour
i mean that's likely a linker issue
what are you using to build
It links the SDK's tbds fine
zld
you did mean linker, right
yeah
yeah so that
idk but cydiasubstrate's tbd points to @rpath
yeah
oh
that might be it hold on
no nevermind
I mean
the SDK doesn't use rpath
You want an easy fix ?
wdym
I have a fix for this
it could be a bug but i'm not gonna try and debug zld
why would you even use this it’s archived anyways
They like php
That’s all I have to say
That is self explanatory
I'm not using that one
this is the wrong zld
the zld I'm talking about
is zig's linker
oh i cannot read today smh
what the thing thats like layoutsubviewsifneeded ?
lmao
okay okay
trying to read through that carefully
it expects the file path in the tbd to be ending in .dylib
at least that's what it seems like
all of the ones in the sdk do
that can't be right because the SDK's tbds don't have install-name ending in .dylib
i mean, i can just look at any random framework tbd and all i see are dylib
tbd-version: 4
targets: [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ]
install-name: '/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary'
exports:
- targets: [ armv7-ios, armv7s-ios ]
symbols: [ _ALAssetPropertyExternalUsageIntent ]
- targets: [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ]
symbols: [ _ALAssetLibraryDeletedAssetGroupsKey, _ALAssetLibraryInsertedAssetGroupsKey,
_ALAssetLibraryUpdatedAssetGroupsKey, _ALAssetLibraryUpdatedAssetsKey,
_ALAssetPropertyAssetURL, _ALAssetPropertyDate, _ALAssetPropertyDuration,
_ALAssetPropertyEditorBundleID, _ALAssetPropertyLocation,
_ALAssetPropertyOrientation, _ALAssetPropertyRepresentations,
_ALAssetPropertyType, _ALAssetPropertyURLs, _ALAssetTypePhoto,
_ALAssetTypeUnknown, _ALAssetTypeVideo, _ALAssetsGroupPropertyName,
_ALAssetsGroupPropertyPersistentID, _ALAssetsGroupPropertyRepresentativeEndDate,
_ALAssetsGroupPropertyRepresentativeLocationNames, _ALAssetsGroupPropertyRepresentativeStartDate,
_ALAssetsGroupPropertyType, _ALAssetsGroupPropertyURL, _ALAssetsLibraryChangedNotification,
_ALAssetsLibraryErrorDomain, _ALErrorInvalidProperty ]
objc-classes: [ ALAsset, ALAssetRepresentation, ALAssetsFilter, ALAssetsGroup,
ALAssetsLibrary ]
...
random one
archs: [ armv7, armv7s, arm64, arm64e ]
platform: ios
install-name: '@rpath/CydiaSubstrate.framework/CydiaSubstrate'
current-version: 0.0.0
compatibility-version: 0.0.0
exports:
- archs: [ armv7, armv7s, arm64, arm64e ]
symbols: [ _MSCloseImage, _MSDebug, _MSFindAddress, _MSFindSymbol,
_MSGetImageByName, _MSHookClassPair, _MSHookFunction,
_MSHookMemory, _MSHookMessageEx, _MSImageAddress,
_MSMapImage ]
...
this one is substrate's
well are you linking this one
yes
try that for example then
libsystem is a dylib, i know that for sure
that ends in .dylib
I'm also linking libObjc
that ends in .dylib
I'm also linking Foundation
that doesn't end in .dylib
/System/Library/Frameworks/Foundation.framework/Foundation.tbd or smthing like that
yeah but this also has a reexported lib line
oh
it exists as libobjc.A.dylib
lemme try linking with this one and see what happens
it compiles perfectly fine

are you using any of the symbols tho
(yet)
i mean i'd assume a decent linker would just not try to link if it doesn't encounter any definitions to symbols
at least with this tbd stuff
is there a tweak that fixes that bug where your screen cant go past half brightness lol
¯_(ツ)_/¯
well
can i take the disassembler from windows ida crack and put it on mac ida free
is that like
a thing
that’s your screen thermal throttling dog
is that true
yeah
seems to be irrelevant to screen temps anecdotally, i haven't noticed any warm temps increasing brightness when it wont let me
usually it happens when my screen is already low brightness
i believe u tho
that’s generally what it is in my experience
@grave sparrow i went to the gym today and me n my friend were talking about ios development and some dude came up to us and was like "you guys are ios software engineers? i work at spotify"
it was so cool
just in my home town
🤓
this is logos: ```objc
#import <UIKit/UIKit.h>
#import <Preferences/PSSpecifier.h>
%hook PSUIPrefsListController
-(NSArray *)specifiers {
if(MSHookIvar<NSArray *>(self, "_specifiers")) return %orig;
NSArray *specs = %orig;
for(int i = 0; i < [specs count]; i++) {
PSSpecifier *spec = specs[i];
if([spec.identifier isEqualToString:@"PASSCODE"]) {
[spec setDetailControllerClass: NSClassFromString(@"PSUIPearlPasscodeController")];
break;
}
}
MSHookIvar<NSArray *>(self,"_specifiers") = [specs mutableCopy];
return specs;
}
%end
this is that same thing in zig: ```zig
const std = @import("std");
const objc = @import("zig-objc");
const helpers = @import("helpers.zig");
const substrate = @import("objc-c");
var ogviewdidload: *const fn (self: substrate.id) callconv(.C) void = undefined;
const __init: [*c]fn () callconv(.C) void linksection("__DATA,__mod_init_func") = &init;
const ogspecifiers: [*c]fn (substrate.id, substrate.SEL) callconv(.C) substrate.id = undefined;
export fn specifiers(selfraw: substrate.id, _cmd: substrate.SEL) callconv(.C) substrate.id {
const self = objc.Object.fromId(selfraw);
if (self.getInstanceVariable("_specifiers")) return ogspecifiers(selfraw, _cmd);
const specs = objc.Object.fromId(ogspecifiers(selfraw, _cmd));
for (0..@as(usize, specs.getProperty(c_long, "count"))) |i| {
const spec = specs.msgSend(objc.Object, "objectAtIndex:", .{@as(c_long, i)});
const identNS = spec.getProperty(objc.Object, "identifier");
const ident: [:0]const u8 = identNS.getProperty([:0]const u8, "UTF8String");
if (std.mem.eql([:0]const u8, ident, "PASSCODE")) {
spec.msgSend(void, "setDetailControllerClass:", .{objc.getClass("PSUIPearlPasscodeController")});
break;
}
}
self.setInstanceVariable("_specifiers", specs.msgSend(objc.Object, "mutableCopy", .{}));
return specs.value;
}
export fn init() callconv(.C) void {
substrate.MSHookMessageEx(objc.getClass("PSUIPrefsListController").?.value, objc.sel("specifiers").value, @ptrCast(&specifiers), @ptrCast(&ogspecifiers));
}
Zig issue ngl
ok tbf it could be improved if I made a better library for objc in zig
What are even tryna do
make a functional good tweak in Zig
Smh
I’d rather write a tweak in assembly
have fun with that
that's a fun one hah
bro has iOS gym buddies
where can i get high-quality device cutouts?
@placid kraken u know a place ?
man i had to google for him
thank u
click on one and then just right click > save as here
on each cutout
theyre very high res
ok i'll have to admit that's easier lol
@faint stag facebook has device cutouts wth
ofc they do
and what did u google?
bc when i tried it just came up with the IOS 16 object lift thing
the keyword is "mockup"
^
tbh some of the other stuff they have for design are pretty interesting
Cursed code 💀
- (NSInteger)iosPlayerClientSharedConfigTransportControlsSeekForwardTime {
NSArray *values = @[@"%orig", @10, @20, @30, @60];
NSInteger seekTime = currentSeekTime();
return (seekTime == 0) ? [values[0] integerValue] : [values[seekTime] integerValue];
}
what the fuck
Also what’s the need for the ternary? Why not just return the latter in all cases
@radiant idol what font does jade use for promo pics
SF Pro
n0
yeah very weird so I consider creating PRs to fix all the weird things
lol
@radiant idol if ur interested, fount this on GH https://github.com/aisgbnok/Apple-Fonts
me on macos:
shadow or no shadow @radiant idol
ima just say that you're better at dev than design
yeahhhh
1-10 how bad is it
I hope its not actually that pixelated
its a ss
will it work on my iphone 2g
you need a better image then lol
It almost works
I just need to link mobilesubstrate
And then it should work
How about spelling
too many iphones imo
- notched iphone
- non-notched iphone
- ipad
is honestly enough to convery the message
Yes
Mhm
Ok thx
could an icloud backup possibly include appstore logins data or is that local?
only one way to find out ig
yeah rip
that gradient is not it
im sorry
You can’t use functions in a view like that
Well, a function is run after some trigger
What is your trigger
Then why do you have a view for that
You can just call the function directly when the messages is sent
View is only what you show on screen
Yeah
No need to use view to run functions
You technically could but it’s just a waste of power
rewrite in objc please
objc master race
objc master race
sw*ft sucks ‼️
What what’s wrong with zig
Are we gonna be anti-zig now
Here
my eyes
It’s a smaller binary size than the smaller code though
what the actual hell
yulkytulky
It’s a smaller binary size than the objc logos version so
no.
Won’t work
stop
please no
You need the JRE
why
You can do it in kotlin though, in fact kotlin directly supports objc
Zig is different because it compiles to native code
It’s basically rust but better for compatibility because it’s directly compatible with C
It could look better, I just have to write a better objc framework
i hate port forwarding
can't get my server to work smh
modern iphones are easily capable of this lol
@indigo peak look at your dms pleeeaaaaase
will do
Yay
@indigo peak look at your dms pleeeaaaaase
have you been to the gym
its sunday
mashallah
i meant in general
W
@faint stag so, remember that issue I was having
I fixed it
zig expects a format like:
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: '@rpath/CydiaSubstrate.framework/CydiaSubstrate'
current-version: 0.0.0
compatibility-version: 0.0.0
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
symbols: [ _MSCloseImage, _MSDebug, _MSFindAddress, _MSFindSymbol,
_MSGetImageByName, _MSHookClassPair, _MSHookFunction,
_MSHookMemory, _MSHookMessageEx, _MSImageAddress,
_MSMapImage ]
...
basically targets instead of archs and platform
iPhone:~ root# cd /sbin
iPhone:/sbin root# chmod +x launchd_arm64
iPhone:/sbin root# ./launchd_arm64
zsh: killed ./launchd_arm64
anyone know why the binary is getting killed as soon as i execute it?
wait nvm i forgot to scp the haxx binary over 😭
on a jailbroken device? yeah
lol
ldid -S file should do the trick, right
yes
idk what to call the custom launchd
i'm dumb
can someone take a look at this and tell me why it isn't injecting lol
trolld
trolled
checkm8 device supremity
i just booted into a ramdisk and reverted changes
anyway i'm gonna try this tommorow if i'm still not ill
do u have a plist for it so tweak injection knows how
yes
{ Filter = { Bundles = ( "com.apple.springboard", "com.apple.Preferences" ); }; }
that is not a plist
it's the same one theos uses wdym
that's not xml
that is xml
i've never seen it that way then
its NeXTSTEP style XML
idk
here's otool -L output
@rpath/libmeniscus.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1971.0.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1971.0.0)
/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 1690.5.4)
@rpath/CydiaSubstrate.framework/CydiaSubstrate (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)```
look fine
can otool list sections
here's otool -l output
wait a minute
__DATA,__mod_init_func is missing wtf
well I have to manually link it into the section though
zig doesn't have __attribute__((constructor))
Why there is still armv7 armv7s ? 💀
lovely
if (self.getInstanceVariable("_specifiers").value != 0) return ogspecifiers(selfraw, _cmd);
~~~~~~~~~~~~^~~~~~~~~~~~~~~
I can work around it though
const ogspecifiers: *const fn (substrate.id, substrate.SEL) callconv(.C) substrate.id = @ptrCast(&stub);
this is definitely a good solution

okay I got the format to actually look right
with __mod_init_func
hopefully it works now
it still isn't injecting wtf
@tepid olive check the first 8 bytes of __TEXT, sometimes zig will put random bytes there when targeting ios and idk why lol
wait really
const ogspecifiers: *const fn (substrate.id, substrate.SEL) callconv(.C) substrate.id = @ptrCast(&stub);
cffaedfe0c00000100
those are the first 8 bytes
are they the first 8 bytes of __TEXT?
yes
what offset?
oh wait wrong thing lmao
yea
I knew that looked like the macho magic
0000000000000830 a9be4ff4 a9017bfd 90000053 91024273 ```
how do i show an alert after device was unlocked and on the HS?
looks right, might just be a non-dylib issue tbh
How do I build something that has Package.swift
Hello, I am trying to build MitsuhaForever, but while building the ASSWatchdog subproject I get an error.
I also tried using dragon but the DragonMake file is completely wrong, it seems to be outdated
its looking for a file you dont have
https://github.com/coolstar/libhooker id say build this but ion know shit tbf
you do make install with libhooker?
I tried make - but on linux the build fails entirely
uh
I have not yet tried to build on mac
lol
or at least get past that error
Then the linking fails, because it can't find the references to libhooker:/
remove the references to libhooker
don't really need it
just make it unconditionally use MSHookFunction
CS when you the shims: MSFindSymbol: I'm going to do this to preserve compatibility with Substrate, but go fuck yourself.\n
i made my own shim 💀
soooo who broke theos install script
how do i tel whats causing a respring hang?
console
console.app and search "exception"
gm buddy
yeah same
What’s this mean ?
whatever you're injecting to ATDeviceMessageLink is crashing i think
whats ATDeviceMessageLink?
@faint stag your smart, what is ATDeviceMessageLink
https://github.com/dleovl/derootifier-whitename/actions/runs/8224106694/job/22487545874 is there fr nothing i can do on my end without doing some jank ahh workaround
that's brew failing to symlink python
lmao
bad script
no, good script

nebuler hasnt told me to delete it 
but at the same time brew will periodically update for you instead of just installing what you requested
@snow python uhh could you please provide missing files from asteroid's source 🥺
cat .gitignore
`reversedWeather/
weatherassets/
Makefile
Sources/Asteroid14/validate
control
Asteroid14.plist`
bro
brew probably has a flag to skip updating? idk
i dont wanna change the install script........ it curls it....... raghhhhhh..........
you don't understand
just set HOMEBREW_NO_AUTO_UPDATE=1 in env
skill issues
errrrrm. no
lmfao i just noticed this i thought you were stalkin me
What
thought you were looking at dleovl/ding
trolled
ripped the building yml from there
Those parts are intentionally not open source because it contains portions of my drm.
You should be able to build it with a minor tweak without any of those files
clyxos@virtualmac tweak % make -j4
Making all for tweak tweak…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (arm64e)…
==> Linking tweak tweak (arm64e)…
ld: warning: -multiply_defined is obsolete
ld: warning: ignoring duplicate libraries: '-lc++'
ld: building for 'iOS', but linking in dylib (/Users/clyxos/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for 'iOS-simulator'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:52: /Users/clyxos/iosdev/tweak/.theos/obj/debug/arm64e/tweak.dylib] Error 1
make[2]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:52: /Users/clyxos/iosdev/tweak/.theos/obj/debug/arm64e/tweak.dylib] Error 2
make[1]: *** [/Users/clyxos/theos/makefiles/instance/library.mk:37: internal-library-all_] Error 2
make: *** [/Users/clyxos/theos/makefiles/master/rules.mk:152: tweak.all.tweak.variables] Error 2
clyxos@virtualmac tweak % Getting this error no matter what tweak I compile. Things compiled before I used xcode-select to change to the regular xcode app. Does anyone know a solution to this issue?
update theos
It's already up to date
cat $THEOS/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd
'clyxos@virtualmac tweak % cat $THEOS/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd
archs: [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
platform: ios
install-name: /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate
current-version: 0.0.0
compatibility-version: 0.0.0
exports:
- archs: [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
symbols: [ _MSCloseImage, _MSDebug, _MSFindAddress, _MSFindSymbol,
_MSGetImageByName, _MSHookClassPair, _MSHookFunction,
_MSHookMemory, _MSHookMessageEx, _MSImageAddress,
_MSMapImage ]
...
clyxos@virtualmac tweak %
'
clyxos@virtualmac tweak % $THEOS/bin/update-theos
Already up to date.
==> Notice: Visit https://github.com/theos/theos/commits/master to view recent changes.
clyxos@virtualmac tweak %
yuh huh
git rev-parse HEAD
cd $THEOS/vendor/lib
git rev-parse HEAD```
should print two commit hashes
7c6621efb4d78378eef6ddd55d4b285072c309ee
113e0cd132df53649a6bbee2572b2d39fd2beaa1
my ass thought those were havoc codes

buddy

git pls
y u do dis
ok
git submodule update --init --recursive
git status```


