#development

1 messages · Page 16 of 1

gentle grove
#

I don't think you can with XHR

gentle grove
#

I don't wanna use node

#

so I'm just using builtins

cloud yacht
gentle grove
#

Oh

#

Guess I'll use that then

#

Right now I'm just using xmlhttprequest

cloud yacht
#

Well thats how you fetch the data

cloud yacht
gentle grove
#

I can't show progress with fetch api

#

otherwise I would be using it

gentle grove
cloud yacht
#

ok

#

just like in the error hanlder do what I did, but make msg the req.responseText

gentle grove
#

Yeah

main apex
#

I wasn’t talking to you.

unkempt raft
#

Hey @ocean raptor . Just tried netctl's code, but browser doesn't call the callback I've passed. Do you know what could be the reason?

Bundle(path: "/System/Library/PrivateFrameworks/Sharing.framework")?.load()
browser = SFBrowserCreate(kCFAllocatorDefault, kSFBrowserKindAirDrop.takeRetainedValue())
SFBrowserSetDispatchQueue(browser, .main)
var clientContext: SFBrowserContext = .init()
SFBrowserSetClient(browser, browserCallbackFunction, &clientContext)
SFBrowserOpenNode(browser, nil, nil, 0)

I've also attached a screenshot from Console.app with system logs. Connection to sharingd became invalid is the error I think, no idea what it means though. I'm running it on a jailed device in a sandboxed app, but they should be able to access private apis, right?

ocean raptor
#

Also, make sure your callback is using C abi/calling convention, a swift function won't work

unkempt raft
zenith hatch
#

@tepid olive happy birthday big man

turbid fjord
#

@tepid olive happy birthday average sized man

hasty ruin
#

@vivid dew happy birthday small man

unkempt raft
#

just adding entitlements didn't do the trick

ocean raptor
#

Google "how to make C function in swift"

cinder island
#

development

vivid dew
#

@tepid olive happy birthday big man

unkempt raft
# ocean raptor Google "how to make C function in swift"

Don't quite understand you. Do I need to write a function in C and call Swift code from there? My current swift global function:

func browserCallbackFunction(_ browser: SFBrowserRef?, _ node: SFNodeRef?, _ protocol: CFString? , _ flags: SFBrowserFlags, _ error: SFBrowserError, _ info: UnsafeMutableRawPointer?) {
    remLog(info) // doesn't get called, because "Connection to sharingd becomes invalid"
}
#

never worked with private c frameworks before, sorry if I'm asking simple questions haha

ocean raptor
unkempt raft
#

but alright, will try with a C function

ocean raptor
#

I don't know swift so I'm just talking out my ass

#

Anyways

#

I have no idea why it doesn't work

#

Watch syslog there's probably something mentioned in there

ocean raptor
#

The 5th line smh

unkempt raft
#

sandbox

ocean raptor
#

You're missing entitlements

unkempt raft
#

I forgot to copy over entitlements from trollstore

#

I copied from netctl lol

ocean raptor
#

Merge the ents

unkempt raft
#

there we go, now it's working

#

thanks cameron, saved me from a 10 hour entitlements pain lol

nimble parcel
lyric timber
#

I found Xcode 14.0 beta 2 and beta 6, still missing 3,4,5

zenith hatch
#

idk

primal perch
#

its from SIL docs i dont think its quite 1:1 with the language side but the only thing i could find

vivid dew
#

capt proving again that he literally cannot read

faint stag
primal perch
torpid beacon
#

ive got a linux question if anyone knows:

so i need to be able to SSH as root into my server (in google cloud) but have to add my public ssh key to the metadata.

however, i can only ssh into the user on the server with the same username as my login on my local machine.

how can i ssh into the other user accounts?

fiery seal
#

ssh name@blahblah

#

where blahblah is IP

lime pivot
#

yep. if you don't specify blah@ it uses your local login username

lime pivot
#

@ocean raptor pls fix

hasty ruin
#

(that is not the expected output)

primal perch
#

it is

#

marge

faint timber
#

@lime pivot seen this error before?

#

nvm I put 15.7 for 15.7.1 entry lol

lime pivot
#

wrong reply

snow python
#

That’s nice

chrome mantle
#

is it possible to tweak an app’s widgets

ocean raptor
#

What is actually crashing in the?

#

less?

#

I know how to fix it, just wondering

#

I'll fix when I take lunch

unkempt raft
#

Hi again, I now have another issue, this time with SFOperationResume. I looked into sys logs for 30 minutes trying to figure out what the issue is, but didn't find the reason of invalidation. Using this snippet to start an operation:

let operation = SFOperationCreate(kCFAllocatorDefault, kSFOperationKindSender.takeUnretainedValue());

SFOperationSetProperty(operation, kSFOperationItemsKey.takeUnretainedValue(), [NSURL(fileURLWithPath: "/var/mobile/test5")] as CFArray);
SFOperationSetProperty(operation, kSFOperationNodeKey.takeUnretainedValue(), pointer); // tried with both pointer and CFNodeRef, doesn't work

var context: SFOperationContext = .init();

SFOperationSetDispatchQueue(operation, DispatchQueue.main);
SFOperationSetClient(operation, operationCallbackFunction, &context);

SFOperationResume(operation); // crashes app, 

Attached syslogs and stack trace. Thanks in advance!

unkempt raft
#

What’s interesting to note is browsing works fine: I get SFNodeRefs and successfully get their deviceNames. But SFOperationResume doesn’t work…

ocean raptor
#

FreeBSD already has the zstd binary in base, this is just for convenience

indigo peak
glossy belfry
#

Some required codecs to play YouTube videos are missing. If someone knows any way how to install these codecs, or if anyone thinks he might be able to port them from a newer iOS to iOS 3.1.3, then please reply here or on Reddit.

#

iOS 5 seems to have no issues, so if anyone is going to port anything I recommend starting with iOS 5.

ocean raptor
#

Cause I fixed that a while ago iirc

snow python
indigo peak
#

😭

snow python
#

Man I hate being an adult, I have no free time

#

I also need to fix harpy again, someone in #jailbreak brought up a good point that the UI is borked on iPad OS.

primal perch
pearl sail
indigo peak
primal perch
#

upgrade my m1 ram to 32gb

zenith hatch
ocean raptor
primal perch
hasty ruin
lyric timber
#

How do I get this number from a tweak?

#

I didn't start researching it myself, just wondering if someone already knows 😅

#

...although I'm on A11 so I'm not sure if the tweak I want to make is worth losing passcode

primal perch
#

idk if its the best way but this works

#

and only from preferences

#

if you dive lower level you can probably find the process independent way

#

CoreTelephonyClient

lyric timber
#

Ah hm I wanted to show it in the status bar or something

#

Which I guess means SpringBoard

primal perch
#

actually since its a client you can probably just make one

#

theoretically this will work

#

link CoreTelephony and create a client (although springboard might already have it linked)

CoreTelephonyClient *c = [[%c(CoreTelephonyClient) alloc] init];

[c dataUsageForLastPeriods:2 ^(CTDeviceDataUsage *dataUsage, NSError *arg2) {
    CTDataUsage *usage = [dataUsage totalDataUsageForPeriod:0];
    NSUInteger dataUsageBytes = usage.cellularHome + usage.cellularRoaming;
    // do stuff with dataUsageBytes, update UI on main thread etc.
}];
#

that seems to be apple's design paradigm since ive done the same thing to control white shift point

lyric timber
#

"last periods"

primal perch
#

i got 2 and 0 respectively by messing with numbers until it worked

#

on naming alone i figured 1 would work but idk

#

fiddle with it

#

could probably just do 0 and 0 come to think of it

#

i dont have a jailbroken device rn so i cant/dont care enough to test

lyric timber
#

oh interesting, so it's not "number of periods" but some kind of constant

primal perch
#

yea like per month or something

#

and in the block im only really using the first one

#

i wrote this like 2 years ago so it might just be shit code

lyric timber
#

Yeah I'll have to dig in settings code

#

I'd like to get per day, specifically defined as "since midnight", I could get the "current period" number and reset it at midnight (as if pressing the Reset Statistics button in settings)

primal perch
#

yeah

vivid dew
#

i have a reversing challenge for you

lime pivot
vivid dew
#

this file, originally named global-metadata.dat, was encrypted using an unspecified method. use any method available to you to recover the key. post the full key (hex preferred) and we can be discord friends permanently

ocean raptor
#

and apt update first

primal perch
#

pros: not capt

#

cons: shep

#

pros: would also piss off capt

vivid dew
primal perch
#

true

vivid dew
faint stag
lime pivot
snow python
lime pivot
vivid dew
lime pivot
#

ok quiprr's mirror broke again appleshrug

#

never mind me then

#

plenty of outdated packages

ocean raptor
faint timber
#

my dumbass tried to kernel RE after drinking two beers didn't work at all lol

zenith hatch
#

lol

primal perch
#

drinking

kindred portal
#

I don’t suppose there’s a simple way to download the IPAs for apps you own?

zenith hatch
kindred portal
#

Ahh yep okay

#

Why Apple silicon Mac though?

zenith hatch
kindred portal
#

Ohhh okay
I forget the name of it but is that with like the chip that Hackintoshs have to fake having to work?

zenith hatch
#

wrong

#

its apple’s arm architecture macs

kindred portal
#

Oh yeah but I mean like
What’s stopping me from doing it on a Hackintosh or something?

zenith hatch
#

the fact that it isn’t apple silicon

#

you wouldn’t be able to decrypt it

kindred portal
#

But like
Why haha
(I know I can’t I’m just curious why)

kindred portal
#

Ohh fair haha

zenith hatch
kindred portal
#

Ohhh nice thank you!

lime pivot
#

those decryptor tools take advantage of the fact that Apple Silicon Macs have the functionality needed to decrypt apps you own

primal perch
#

so only opt in apps works

lime pivot
primal perch
#

supposedly sideloadly works on m1 i guess

lime pivot
#

then it's up to the app to check UIDevice.current.isiOSAppOnMac or whatever it's called

#

I know Netflix does and exit(0)'s if so

#

but if you're decrypting anyway, you're injecting code that can run before main() and therefore can read the decrypted binary out of memory to disk

#

where you can patch it out and re-sideload it

primal perch
lime pivot
primal perch
#

still dumb its not OOTB even after apple advertised it with m1

#

"yeah uh nvm guys lmao"

lime pivot
#

they definitely got scared by companies like Netflix that didn't like that people could bypass checks and sideload their apps anyway

kindred portal
#

I’m kind of interested in patching and stuff like that not that I have any experience at all with it

#

Actually I have some experience
I once patched a really simple binary for a CTF
And that’s all haha

primal perch
#

search selrefs in ida for the method on uidevice mentioned by kirb, check cross references , find the relevant instance of its usage, patch a mov instruction 98% of the time, resign, done

zenith hatch
#

epic fail

faint stag
#

ye it just doesn't work lol

#

basically you can only use a jailbroken ios device for reasons unbeknownst to me

ocean raptor
#

Cause I don't take very regular backups of the repo

primal perch
#

fr

zenith hatch
#

yooo christmas shep

hasty ruin
hasty ruin
#

i like how we noticed at the same time tro

zenith hatch
#

true

primal perch
#

true

restive ether
#

shut up

proven urchin
#

ok lol

#

didn't mean to offend anyone

primal perch
lime pivot
#

I’d be preserving every deb ever released to a backup drive in your position

vivid dew
#

seems like a waste of space

#

yolo

lime pivot
#

makes me nervous to not have those things just in case

ocean raptor
#

yeah, just setup a crontab on my NAS to backup apt.procurs.us every week

primal perch
#

procur.sus

ocean raptor
#

as long as I don't break things on saturday at 11:59, I'll be fine

lime pivot
ocean raptor
#

I thought my NAS was bigger tbh...

primal perch
#

only 10 terabit rip

#

i have like 3 8Tb ssds

ocean raptor
#

I have like 3 6Tb in raid or something like that

#

I don't really remember

#

it's enough space for me monkashrug

ocean raptor
#

I've got a few spare 3.5 spinning disks, do y'all have any recommendations for adapters for those so that I can use them with my laptop?

faint stag
rain falcon
#

@primal perch fuck you x

gentle grove
#

should i use an alpine base to my bobashare docker image to make it be about 30 MB instead of 150 MB

primal perch
rain falcon
#

FU

vivid dew
#

@tepid olive happy birthday big man

primal perch
#

@tepid olive happy birthday big man

cloud yacht
#

@tepid olive happy birthday big man

lime pivot
#

whatever USB-C things you can find on Amazon are probably fine, just need to use external power because USB non-PD can't power a 3.5" drive

zenith hatch
#

@tepid olive happy birthday big man

ocean raptor
lime pivot
tepid olive
#

who PINGED me

#

Hey, thanks guys!

#

I really appreciate it :)

native dune
#

happy birthday

tepid olive
#

Thank you wholesome wholesome

indigo peak
#

has anyone messed with firebase apps and their sideload/jailbreak detection before?

faint stag
indigo peak
#

well i think it might be firebase

#

im unsure if it is or not lmfao

faint stag
#

it isn't lol

#

what app are we talking about here

indigo peak
#

i have the i64 binary if you want

#

and it seems to at least have a log of methods that pertain to 3rd party detection, but idk how many are actually implemented

#

bc from the looks of it, 90% of the app is just 3rd party frameworks/libs

faint stag
#

i do not see it

faint stag
indigo peak
#

like i cant even get flex loaded

faint stag
#

i mean i'm jailbroken and it works

indigo peak
#

im not, and im sideloading

faint stag
#

let me decrypt it, one sec

indigo peak
#

do you want the i64?

#

i have it

faint stag
#

no need

indigo peak
#

okay i made my own tweak that loads flex

indigo peak
#

no i wasnt

hexed knot
#

thats just dumb rumors that kids started

indigo peak
#

yeah ik

hexed knot
#

its a dumb app but its not illegal

indigo peak
#

i was looking into it to see if i could find anything

#

i get bored easily

hexed knot
#

also u should give urself the paid subscription free

#

10 dollars a week

#

its a fucking scam

indigo peak
#

fr

#

problem is

#

the app is in swift

#

and swift hooking is uhh

hexed knot
#

im sure the app is all bots too

hexed knot
indigo peak
#

like theres swift methods

#

and theres also objc functions for the swift functions

#

so like, if i hook the objc will it edit the swift???

zenith hatch
#

idk

upper hull
#

@zenith hatch I don't suppose you or anyone you know has catalina?

zenith hatch
#

why whats up?

#

i have enough storage to make a catalina partition

upper hull
#

Well, I have a bin dpkg-scanpackages that's valid on HS but upon running it on Cat, it gives me Illegal instruction 4

#

surprisingly though, all the other dpkg* bins work

#

I thought about compiling it from scratch but there's no sources that I've found for that and homebrew yields the same issue

upper hull
#

yeah..

proper reef
#

@grave sparrow Hello, did you ever get MSHookFunction working on stock?

#

can it work with trollstore?

#

there's no entitlements that'll allow it to work?

#

Oh.

#

Wait

#

What about get task allow

#

Ohhh ok

#

It can’t debug itself?

elder scaffold
#

Do you think this is my problem or substitute side?
Also, I deleted preinst because it caught in the version check when installing substitute.

iPhone X, 16.1 RC
@upbeat wyvern

#

(now that the xnu sources have been released, the system crashes are gone after applying the necessary patch.)

#

I'm considering opening this up for developers, so any support would be appreciated...

upbeat wyvern
#

It probably means remote injection failed

#

Probably missing some kernel patch

#

Not sure how you jailbreak works though

#

*your

elder scaffold
upbeat wyvern
#

You can try making launchd load substitute loader some other way too

elder scaffold
upbeat wyvern
#

Looks sort of like your substitute is not newest maybe?

elder scaffold
#

This is 2.3.1

upbeat wyvern
#

That means it couldn’t find the dyld methods to iterate shared cache

#

I turned on friend requests for a moment if you want to add me

elder scaffold
#

thanks!

hasty ruin
#

i do not like legacy firmwares frcoal

#

wholesome

#
  "___gxx_personality_sj0", referenced from:```
#

what the fuck is ___gxx_personality_sj0

#

ok i got copilot to add 5 random linker flags and it works :trollage:

vivid dew
hasty ruin
indigo peak
#

@naive kraken would it technically be possible to make an app for trollstore that spawns a binary that runs in the background that waits for a certain process to start and runs _dyld_get_image_header on the binary in order to run run MSHookMemory on that binary?

#

or is that like

#

not even close to possible

naive kraken
#

although you will need way more entitlements so your app still works properly once you give it platform-application

indigo peak
#

so like

binary has code that will execute when an app is loaded

the binary just runs MSHookMemory on that app's binary

naive kraken
#

that's.... not how it works

indigo peak
#

thats why i was asking

naive kraken
#

if JIT is enabled for the process, MSHookMemory should just work

#

(maybe)

indigo peak
#

im basically trying to make 1 part of gameseagull work

#

so a trollstore app would have a binary in the background that waits for the gamepigeon app to load, and when it does, it runs code on that

#

or some shit

#

idfk

naive kraken
#

ah I see

#

no

#

or maybe??? idk opainject may work on app store apps

#

but certainly not on system binaries

#

well I think the dylib still needs the same team id as the app store app

#

then it may work

#

system binary = binary either in dynamic or in static trustcache

indigo peak
naive kraken
#

but there is no point in using opainject on a ts installed app anyways

#

honestly someone (not me) should make "TrollDecrypt"

#

uuuhhh like... everything?

#

find out the team id of an app store app, resign dumpdecrypted.dylib with it using the ldid embedded into TrollStore (probably too hard thinking about it lol, you'd to generate a CT cert on the device itself I think), then inject that into the app using opainject

#

flexdecrypt needs kernel r/w I think

#

maybe you could dump an app just by getting the task port to it and reading the memory

#

that could work tbh, you should be able to get a task port of non platformized (app store) apps

indigo peak
primal perch
indigo peak
#

@naive kraken do you need a root binary for an app to run as root using trollstore

#

or can it just be done inside the app using entitlements somehow

primal perch
vivid dew
#

bfr

primal perch
#

bfr x30

vivid dew
#

nerd

primal perch
kindred portal
tepid olive
#

You are not wholesome

ocean raptor
#

I'm looking to add SEO to man.cameronkatri.com and want to know how you would handle it. I'm thinking I'll statically generate the html for each page and have program in the back handle any redirects and searches

#

Or what would you do?

lime pivot
#

looks like the urls are already pretty good actually

#

I'd also say consider copying through the name section of the manpage (if that's any easy to do), put it in the title and meta description like ```html
<title>ls — list directory contents</title>
<meta name="description" content="ls — list directory contents">

ocean raptor
#

Currently I just use the cgi program included in mandoc

#

But it's in C and I don't feel like figuring out how to use libmandoc

lime pivot
#

web services written in C scares me

ocean raptor
#

So what I'm going to do is use like Perl or something and shell out to mandoc(1) to gen html without a header, then use an html parser to extract the text for my description

ocean raptor
lime pivot
#

also is this on cloudflare?

#

I'd recommend add a page rule to set caching to cache everything

ocean raptor
lime pivot
#

cache all the rendered html so you don't need to do all that stuff as often

#

just go into cloudflare and clear cache when you update the manpages, of course

lime pivot
#

speaking of css, strong recommendation to comment out the hover overlay thingy, since it's a bit pointless to anyone except someone trying to write a manpage

lime pivot
#

these days you prob need an entitlement for that

gentle grove
#

markdown parsing is not working

lime pivot
#

looks fine to me

upper hull
snow python
#

I’m pretty sure TrollStore does that

cloud yacht
#

Plus how are you going to access the cli without first installing trollstore?

naive kraken
naive kraken
zenith hatch
#

true

urban zenith
#

This isn't a jailbreak specific question per se, but does anyone know if it would actually be possible to upload something to a user's ICloud Music Library programmatically?

sacred viper
#

Anyone know how the USB 3.1 DCSD cables work (I have one but I don't get a TTY on it)

upper hull
naive kraken
gentle grove
#

bobashare markdown display with syntax highlighting

hasty ruin
#

That’s some nice syntax highlighting

primal perch
faint stag
hasty ruin
#

Safari moment

faint stag
#

in dark mode, it just uses var(--text-0)

faint stag
#

the not logic doesn't seem to work with prefers-color-scheme in safari

#

so it's better to just specify dark and light lol

#

you can just use the color-scheme css property to choose a default for your page
then just override with the media query based on the preferred one

restive ether
#

am I blind what's wrong with the website

faint stag
faint stag
zenith hatch
#

gm “developers”

faint stag
gentle grove
gentle grove
primal perch
#

or your code is non standards compliant

gentle grove
#

how can it not be

primal perch
#

W3C documentation is like 100000 pages

#

so that might be why

faint stag
faint stag
gentle grove
#

see the :root and its media query

faint stag
gentle grove
#

wdym

faint stag
#

well, it doesn't make sense to use not just yet as the no-preference value isn't even supported on most browsers

gentle grove
#

I can't leave one of them out of the media query like I did for :root because they aren't perfect overrides

#

So the rules will be mixed up togethrr

gentle grove
#

@hasty ruin @faint stag @primal perch try it now, I changed the rule a bit

#

I don't know a browser that doesn't support prefers-color-scheme to test on

#
@media not all and (prefers-color-scheme: light) {
#

the amount of dumb stuff safari does

#

Like why do dropdown menus look like they're from iOS 6

#

go to the upload page and you'll see

gentle grove
#

wholesome

gentle grove
#

now I need a browser that doesn't support prefers ecology scheme to test that part

sacred viper
#

Ugh

harsh needle
#

i want to tinker a bit with the stage manager on osx but haven't found anything in the xcode sdk, can somebody give me some suggestions on where to look for? no frameworks/headers found..

lime pivot
#

can you PR por favor

lime pivot
#

Dock does most of the high-level window management stuff

harsh needle
#

i guess this calls for ida?

lime pivot
#

sure does

harsh needle
#

👀 any symbols already flying around somewhere?

lime pivot
#

it’d definitely need to be a separate flag, and default to gzip for the time being till I figure out how we can support it

#

honestly would really appreciate a dm.pl PR for it anyway and we’ll figure out the how can we make use of it part from there

#

ty

primal perch
ocean raptor
#

Wtf, @lime pivot dripped out in chariz merch?!

restive ether
#

we stan zst

#

openbsd added zst support to gzip

ocean raptor
#

Elu

restive ether
#

or was it freebsd I forget

ocean raptor
restive ether
#

common free BSD W

ocean raptor
#

FreeBSD has had zstd and libzstd for a while

pearl sail
lime pivot
#

lmao

#

thanks

ocean raptor
primal perch
#

its there if you use a functional OS

hasty ruin
primal perch
#

DISK PARTITIONING

zenith hatch
gentle grove
ocean raptor
#

No

#

You're right

#

dpkg wont work with a compression format it doesn't understand

lime pivot
#

he did? I didn't get an email

ocean raptor
#

What language do you recommend for writing CGI programs in?

#

(Common gateway interface, not computer generated imagery)

glacial matrix
glacial matrix
lime pivot
#

no idea why I didn’t get an email

glacial matrix
#

@grave sparrow could you match the compression algorithm unless is not one deb expects and you fallback to one that it does?

#

Tbh, I’ll have to sit for a couple hours to understand Perl again

#

I feared as much

#

And I fear Perl

ocean raptor
#

I was going to write my manpage thing in Perl

#

Cause I've been looking for a project to learn Perl for KEKW

glacial matrix
upper hull
tepid olive
#

I heard Perl is horrible

ocean raptor
#

Iirc

#

Yeah, cause emacs

lone bronze
#

perl is cancer

tepid olive
#

are all app store apps encrypted with fairplay?

primal perch
frail cedar
#

well

#

the uninstallable system apps aren’t

#

Music, Tips, Magnifier, iTunes Store, Books, Podcasts, etc

turbid fjord
#

This is dev nvm

indigo peak
#

@grave sparrow help

#

trying to run task_for_pid on an app from a trollstore root binary

#

but it still wont work

#

i got (os/kern) failure when i tried to run it as mobile/501 and when i ran root/0

#

?

#

its a user app

#

like google drive

#

im a rerd

#

get-task-allow

#

that one?

#

i think its task-for-pid_allow

#

it was task_for_pid-allow

#
Nov  8 12:40:35 not-iPhone TrollDecryptHelper[14617] <Notice>: [trolldecrypt] root helper go, uid: 0, gid: 0
Nov  8 12:40:35 not-iPhone TrollDecryptHelper[14617] <Notice>: [trolldecrypt] pid: 14588
Nov  8 12:40:35 not-iPhone TrollDecryptHelper[14617] <Notice>: [trolldecrypt] Got task port: 5635 for pid 14588
Nov  8 12:40:35 not-iPhone TrollDecrypt[14616] <Notice>: [trolldecrypt] spawnRoot returned: 0
faint stag
#
macOSversion=$(sw_vers | head -n2 | tail -n1 | cut -c 17-)
verscheck=$(bc <<<"${macOSversion} < 10.14")

if [ "$verscheck" -eq 1 ]; then
  echo "[!] macOS version too low"
  exit 2
fi

there's gotta be a better way to do this, right?

glacial matrix
#

You can grep the specific line and awk the second column

#

Another way to check versions would be to sort (with version flag) and check if 10.14 is last

ocean raptor
indigo peak
naive kraken
#

you should be able to get the aslr slide somehow and proceed from there

#

check out opainject source

indigo peak
#

thats what im doing rn lol

indigo peak
#

this seems like it should be easy

#

either its not or im just stupid

indigo peak
#

yeah i think its a mix of both

naive kraken
indigo peak
#

should

#

do you know who youre dealing with here

naive kraken
#

I do

#

do you have the allImageInfoAddress? @indigo peak

indigo peak
#

i think so

#

isnt it just

#

dyld_info.all_image_info_addr

naive kraken
#

just use the functions in this file then

indigo peak
#

ive been trying

#

im not that smart

naive kraken
#

well first get iterateImages working and print all the paths

indigo peak
#

yeah i got that working before

naive kraken
#

and then you find the path that's your main binary and well imageLoadAddress is the address in the process where it starts

#

I'm not sure how to find the size though

indigo peak
#

thats what ive been struggling with

#

getting the size

naive kraken
#

oh it's a macho

#

so the size should probably be in the header? maybe?

#

hm no

#

I mean worst case

#
  1. scan app bundle directory for all macho/fat files, get the sizes from there
#
  1. copy everything that's not a macho/fat (e.g. the resources) into some dir
#
  1. iterate through the images in the process, find all of them by the path you determined in 1. and write them into the dir of 2
#
  1. profit
indigo peak
#

hmm i think i can follow that?

#

maybe?

naive kraken
indigo peak
#

yeah yeah flex on me

#

ive only written 20 lines today

#

and 15 were copied

#

@naive kraken how do you get the bundle path from a pid

#

i dont have a mac so i cant use mac specific headers

naive kraken
indigo peak
#

i tried that last time

#

and the amount of shit i had to import

naive kraken
#

proc_pidpath

#

but that's also only the executable path

#

you would need to make the assumption that one path below is the bundle

#

but that's correct anyways

indigo peak
#

idk why it woudlnt work last time i tried it

#

but it works this time

crude swallow
fiery seal
brisk light
#

Any know any decent class dumpers for swift for linux?

#

Seems to be, from the readme, as you need to compile swift and he mentions apple support

#

Ive been using jtool.ELF64 for obj-c, but no swift

indigo peak
#

i want to give up but the thought of all 13 reddit upvotes id get is my motivation

native dune
#

happy birthday @lethal kayak

lethal kayak
#

ty

cloud yacht
#

Happy birthday

ocean raptor
indigo peak
#

@naive kraken progress!

naive kraken
lime pivot
#

yep that's how it's meant to work

#

you can embed any extra libswift dylibs you need in Frameworks/ inside your bundle

snow python
#

I mean if you are just trying to get access to the decrypted binaries, I think suspended should work

indigo peak
#

just finished the app to realize the decryption doesnt work

#

im going to fucking kill myself

naive kraken
#

wym

#

"doesn't work"

indigo peak
#

like i finished everything

primal perch
indigo peak
#

and its still encrypted

naive kraken
#

uhhhh

#

hm

#

I was under the impression that the app is running decrypted at runtime

#

but... maybe it's not?

indigo peak
#

wait maybe

#

just maybe

#

this doesnt launch the app

#

i just looked in cocoatop

#

and its not there

naive kraken
#

you need entitlements

indigo peak
#

which entitlement

naive kraken
#
<key>com.apple.springboard.launchapplications</key>
<true/>
<key>com.apple.backboardd.launchapplications</key>
<true/>
<key>com.apple.frontboard.launchapplications</key>
<true/>
indigo peak
#

just found that

#

pretty sure just springboard will work

naive kraken
#

FuguInstall has all of them

indigo peak
#

so when i go to install w sideloadly it doesnt say its encrypted like before

#

but the app crashes on launch

naive kraken
#

then you might have done something else wrong idk

#

maybe there is a crash log?

indigo peak
#

nope

naive kraken
#

oh wait, installing stuff through sideloadly often doesn't work because the app needs fixes

#

try installing it through TrollStore maybe

indigo peak
#

nope

#

i def did something wrong

naive kraken
indigo peak
#

oh 1000%

#

im surprised i was even able to make a functioning gui 😭

naive kraken
#

for instance, do you decrypt all machos/fat's in the app?

indigo peak
#

i believe so

tepid olive
#

ur sideloading imessage?

#

nvm that was capt’s message

naive kraken
#

it's about app decryption with just trollstore

#

by getting the task port to an app and reading the memory of the process

tepid olive
#

what happens if you put the binary in ida @indigo peak

indigo peak
#

probably nothing unusual

naive kraken
#

@indigo peak dump some common app like idk twitter and send me what you dumped, also comparing it to a known good dump could be benefitial

indigo peak
#

bet

#

lemme isntall twitter first 😭

tepid olive
#

send it here trol

#

why are you a real developer using hopper

#

oh right

#

you don’t have native ida

primal perch
#

we get it you have native ida

tepid olive
naive kraken
#

you know who else has native ida now?

tepid olive
#

cellebrite paid?

naive kraken
#

(certainly not me troll )

indigo peak
#

me too

naive kraken
indigo peak
tepid olive
#

you can just buy ida home it’s just as good now

naive kraken
#

I mean, need it for work and such

primal perch
tepid olive
#

only 365 usd

primal perch
#

fr

#

thanks cryptic

indigo peak
#

this

primal perch
#

@faint timber real one

tepid olive
#

IDA 8.2 >>

indigo peak
#

thanks cryptic

primal perch
#

thanks capt for ruining it rl

#

we do a little trolling tho

tepid olive
#

cryptic made another crack?

faint timber
#

@grave sparrow I'm bringing galaxy into the disassembler clique

tepid olive
#

ida 7.7 is publicly leaked very_neutral

fiery seal
#

ida77.tar.zst 🥺

zenith hatch
naive kraken
#

that's encrypted

#

don't know what you did, but it's not working lol

zenith hatch
#

damn

tepid olive
#

who need

zenith hatch
#

arm only?

tepid olive
#

both

fiery seal
zenith hatch
#

send ples

hasty ruin
#

I think you mean capt’s cdn is our gdrive

naive kraken
tepid olive
zenith hatch
#

idk

tepid olive
#

i can do pro with that

tepid olive
zenith hatch
tepid olive
#

what happens if i send this in here

naive kraken
#

I knew this at one point

zenith hatch
#

nothing

naive kraken
#

I feel like it doesn't matter

tepid olive
#

do yall tell aaron ⁉️

zenith hatch
#

no

hasty ruin
#

we’d never tell @shut stag

zenith hatch
#

true

hasty ruin
#

hello nebula

zenith hatch
#

gm nebu

native dune
#

i’m not here

hasty ruin
#

oh

#

okay

zenith hatch
tepid olive
native dune
#

ugh i have to join the telegram

naive kraken
#

ah I remember now, you need XPC_CONNECTION_MACH_SERVICE_PRIVILEGED for stuff inside /Library/LaunchDaemons on macOS

tepid olive
#

no

fiery seal
#

ida77.exe.pdf

hasty ruin
#

bc i already have 7.7

tepid olive
#

nobody has mac

#

u have to pay

naive kraken
#

don't think it matters that much on iOS but best to use it

zenith hatch
native dune
#

i think

zenith hatch
#

idk

native dune
#

idk if telegram shows that publically

zenith hatch
#

add me on telegram

#

it does

native dune
#

tr

naive kraken
#

idk I don't think this flag has any effect at all on iOS, at least I was able to both use and not use it at one point

indigo peak
indigo peak
#

why

zenith hatch
#

i hate telegram emojis

naive kraken
#

pretty sure it needs kernel rw on iOS

indigo peak
native dune
#

didn’t ask

tepid olive
naive kraken
#

@indigo peak for what it's worth, I don't think your code does anything because the Twitter binary has the same changed date as the other files

fiery seal
#

i'm sorry, i will look respectfully

indigo peak
naive kraken
#

how to you even check if a file is a binary

#

did you figure that out

indigo peak
#

because im copying all the files

naive kraken
#

yeah

#

you need to copy everything not a binary

#

and keep some sort of table of all binaries with their size

#

and get the data of them from the process memory instead

#

and then write that data to the files instead

indigo peak
tepid olive
indigo peak
#

which as you know

#

doesnt exist on ios 15

naive kraken
#

it does exist

tepid olive
indigo peak
#

well yeah

naive kraken
#

but apart from that, that's not your issue

tepid olive
#

u dont have to

indigo peak
#

it just like

#

doesnt

naive kraken
#

(I think)

tepid olive
#

u just get the task port and memcpy?

#

whats ur code

hasty ruin
#
from time import time, sleep

def add(num1, num2):
    start = time()
    sleep(num1)
    sleep(num2)
    return int(time() - start)```
cloud yacht
#

Yeah and?

tepid olive
#

Time to write an injector

#

@grave sparrow What does Substrate injector even do fr

indigo peak
#

oh well

#

i give up for now

#

fuck this

tepid olive
#

Show code

tepid olive
naive kraken
tepid olive
#

o

naive kraken
#

cause of the filter plists and stuff

indigo peak
tepid olive
#

show code

naive kraken
#

btw if you want to make an actually good injector I have some ideas to improve it

tepid olive
#

nfr

naive kraken
#

but I don't remember them rn

#

lmao

tepid olive
#

lmk when you do

#

So basically I dlopen all the libraries?

indigo peak
#

@naive kraken so mremap_encrypted & mmap should work on ios 15 right

naive kraken
#

ye

naive kraken
tepid olive
#

Very strange

#

But okay

naive kraken
#

idk but "Iridium" needs kernel rw to decrypt apps

hasty ruin
tepid olive
#

i already have the best function hooker

#

it hooks everything

native dune
tepid olive
#

better than libhooker too

naive kraken
tepid olive
#

libhooker fails to hook NSPopAutoreleasePool

naive kraken
#

it's what I'm using to dump my apps

hasty ruin
#

even with the same setup

naive kraken
#

yeah it only works on my X 13.7

native dune
#

lol it never worked for me

#

that’s funny

hasty ruin
#

Lakrware

zenith hatch
#

coom

tepid olive
#

swift is the best language for low level development ngl

indigo peak
#

i dont see anything that would hypothetically require krw

tepid olive
#

im right

#

my code is so clean + you cannot hook NSPopAutoreleasePool + ratio

naive kraken
# tepid olive So basically I dlopen all the libraries?

I think the biggest idea I had was the following: in whatever injects the loader dylib you do a basic sanity check whether anything at all filters the process and if not, you don't inject the loader dylib in the first place. (this is possible by parsing the machos, sample code is in choicy, it's probably beneficial to cache this for all dylibs / plists). One thing that cannot work this way is filtering for classes (old substrate feature) so you should simply not support it. Then one additional thing: Make a filter key that tells the system to only inject the dylib if any other tweak gets loaded. Also making a filter key for all applications because atm most tweaks solve system wide implementation injection by filtering for UIKit, BUT that will make the dylib load into several daemons that link UIKit AND there is some weird obscure App Store unity apps that don't link UIKit so the only way to guarantee your dylib gets loaded into all apps in todays environment is to specifiy com.apple.Foundation and just accept the fate that you get injected into tons of daemons too.

naive kraken
tepid olive
#

so a new filtering spec

#

when theres no new jailbreak

naive kraken
#

just make an additional key

tepid olive
#

i agree but nobody will adopt

#

this will be the libhooker API 2.0

indigo peak
naive kraken
tepid olive
#

Oh hey btw did yall notice how the only reason LHHookFunctions exists is so coolstar can allocate a single page for the orig functions

naive kraken
#

your option with the task port is as easy as it gets (if it works)

tepid olive
#

You could just reuse the same page every time

#

But nooo, you have to switch to a new API

naive kraken
#

as long as it's possible to fall back to old behaviour when not using your injection thing, people will adopt

tepid olive
#

this isnt about people adopting tbf

#

i needed a good injection library for macos because @grave sparrow isn't releasing zefram

naive kraken
#

yeah I mean it's about making things right lol

tepid olive
#

true

vivid dew
#

zefram doesn't really exist

naive kraken
#

I would suggest you just make a seperate key in the plist and then it would be compatible with both Substrate using old behaviour and your thing using the better one

tepid olive
#

WHAT

#

so whats the reaso

naive kraken
#

like idk { Filter = { Bundles = ( "com.apple.Security" ); }; Extra = "PlsOnlyInjectIfAnotherTweakIsAlreadyLoadedThx" }

tepid olive
#

why is she not using the same page

#

lolllllllll

#

can u send the list of 500 functions

#

i want to compare

naive kraken
#

you called LHHookFunctions once right??

#

wait

#

in a foor loop?

tepid olive
#

ok but thats gonna go out of the page

naive kraken
#

I see

tepid olive
#

what if you hook 3 functions

naive kraken
#

Yeah that should batch the hooks

tepid olive
#

does it use the same page

zenith hatch
#

whats 12 - 7

tepid olive
#

capt why does libhooker itself not support hooking 1 instruction beyond 128mb

#

everyone is soooooooooooo lazy

#

why

#

it does the same thing ?

#

i benchmarked too

#

its hardly slower

#

very close

#

i just crash the thread and restart it

faint stag
#

i wouldn’t know

tepid olive
#

not a big overhead

primal perch
tepid olive
#

@grave sparrow send 500 function list

primal perch
zenith hatch
tepid olive
#

it even works on sandboxed ios!

#

thanks

primal perch
#

crashing a thread and restarting it is just inherently crusty

tepid olive
#

dunno it worked for me

#

ill test again

primal perch
tepid olive
#

it worked when debugged

naive kraken
#

wait so I can just crash my app in all svc calls and set an exception handler that gets executed instead of the syscalls

tepid olive
#

i might have checked wrong when not debugged

vivid dew
#

yes

vivid dew
#

i've done that before

naive kraken
#

I wish I knew that in 2018

primal perch
vivid dew
primal perch
#

not yet

#

i know where to draw the line

vivid dew
primal perch
vivid dew
#

[redacted]s at the taco place spared no expense when making mine

#

bless them

tepid olive
#

@grave sparrow they do work on sandboxed ios

#

what if i did a thing where you run an exception handler that restarts your app when it crashes instead of leaving the process

#

passes both tests

#

the first checks if it starts and the second checks if i can set a variable after crashing a thread

naive kraken
tepid olive
#

swiftui

naive kraken
#

nvm then

tepid olive
#

i am a pro swiftui dev!

#

this ui is really satisfying

naive kraken
#

I'm a shit UI dev, the only thing I'm good at is making preference bundles

tepid olive
#

u should learn swiftui

zenith hatch
#

swiftui is seggs

tepid olive
#

it's worth it bro

zenith hatch
#

tell that to amy

naive kraken
#

idk I will learn it when there is a reason for it lol

zenith hatch
#

trollstore is a pretty good reason

naive kraken
#

I'm certainly not rewriting that in swift ui lol

#

(or am I?)

primal perch
#

amoung

primal perch
#

good

#

same

#

the results are good the performance just sucks

tepid olive
#

oh boy

#

why can't i hook posix_spawn

zenith hatch
#

didnt you say you want to make good ui tho troll

tepid olive
zenith hatch
#

as long as you don’t somehow end up fighting it, swiftui is pretty powerful

zenith hatch
primal perch
#

make swiftui open implementation

zenith hatch
#

i wish i was well versed in ios internals

primal perch
#

for windows and linux too

zenith hatch
#

so true

tepid olive
#

it sucks

#

k*triware

primal perch
#

procurs*s

#

@marble perch

#

where’s procursus2

tepid olive
#

#1 software engineer: eliminates all crashes

#

this cannot be real

slim bramble
#

GC overflow troll

turbid fjord
#

Ffs wrong reply

primal perch
turbid fjord
#

Thanks discord

tepid olive
#

@grave sparrow

primal perch
#

that is cursed

tepid olive
#

if it’s not hookable, kill thread

#

🙏

primal perch
#

unsafe swift

tepid olive
#

this works insanely well

primal perch
#

bottom text

tepid olive
#

how?

#

so ur saying brk #1 should continue execution

#

that’s what you’re saying

#

don’t uhh me

#

i should just be exiting the process

#

but killing a thread seems more stable

primal perch
#

bring back uhh

tepid olive
#

do i make this public @grave sparrow

#

it might be time

zenith hatch
primal perch
#

pubic

zenith hatch
#

pubic

tepid olive
#

@naive kraken injector trol

hasty ruin
tepid olive
#

this is probably incorrect

hasty ruin
primal perch
#

here

hasty ruin
#

W

indigo peak
#

this it?

robust bough
#

Hi…

shut stag
#

too late

undone nest
#

found it

robust bough
#

Oh shit

tepid olive
#

@shut stag make me verified

zenith hatch
#

cock

tepid olive
#

PLEASE

#

.

robust bough
#

Yeah do it to me

gentle grove
#

Is this the secret message

#

The link takes me here

zenith hatch
#

L not verified, opinions invalidated

tepid olive
#

i am a known figure in the community

robust bough
#

Samsung’s

native dune
#

ratio

zenith hatch
#

wait this is dev chat wtf