#development

1 messages · Page 19 of 1

timid furnace
#

time to go make dinner

floral notch
#

can someone hook me up with an ipa of the latest Twitter?

primal perch
timid furnace
#

can I hook/reroute a C function from a standard binary? i need to patch out a check in a private framework that i dlopen, in a function that is not exported

#

currently i'm doing it from my tweak, but that gets dicey with setuid binaries apparently

#
  • i dlopen PrivateFramework A from my (helper) binary
  • i call function DoStuff from PF A
  • function DoStuff calls function CheckThisProcessAgainstWhitelistedProcessNames
  • my process name is not in that list

i want to hook CheckThisProcessAgainstWhitelistedProcessNames, but ideally independent of my tweak.

#

yea

#

well i wouldn't care if it weren't due to that fact that that binary runs with setuid, and in order for my tweak to load i have to dlopen substrate or something, except i have not managed to get that to work cross-hooking platforms

#

yes, and DoStuff is exported, CheckThisProcessAgainstWhitelistedProcessNames is not (but is a defined symbol)

#

i just want to ensure my end user can use whatever

#

yea

#

my other obvious option here is to split up the binary into the setuid parts and the non-setuid parts, which luckily i can do because all interactions with PF A will just be from a LaunchDaemon, but i'm not sure i want to have two helper binaries

#

this makes sense

#

how am i supposed to use MSHookFunction, theos is supposed to take care of linking for me right? i don't have to dlopen substrate or anything?

#

ic

#

ok this is great

#

i will try it tomorrow

#

along with fixing my makefile shenanigans

#

ty

#

ic

#

oh while i have you

#

if i need (the same) a function from different dylibs on different iOS versions, is the best option avoiding compile time linkage and dlopening and checking for the existence of the symbol

#

great thx

#

i mean

#

i could spend the extra effort to solve for non exported symbols

#

and reduce my dependency to a single dylib

#

did not know that

#

yikes

#

maybe i should stop being lazy and stop using dlsym for 26 constants

#

NSStrings

#

they're just keys that will never change so not much of a point

#

i guess i could use whether it solves or not to know whether it's supported on the OS

#

meh

#

my program execution already takes 1-5 seconds

#

SEP slo

timid furnace
#

no it's BCert shit

#

have you heard of BCert

#

delay OTA requires attestation from SEP which is sent to Apple Server and you get a certificate (BCert) back, which is given to TSS with your TSS request

#

that's To Be Investigated, i did a stupid with my device and restored back to 15.6 RC

#

nah i got a much more mundane and sad reason

#

this is the best idea on how to check SEP version

#

as far as i know, no one has discovered anything better

#

i would know for sure if i had reliable logs

#

but the last time people actually engaged in wide-scale logging was 14.3

#

and with my geniusness, i spent 30 minutes trying to checkra1n an iOS 15 device, gave up and restored to 15.6 RC because i thought DFU was broken, and then midway i realized checkra1n doesn't work on iOS 15

#

it's ok, i just have to futurerestore with 15.6 RC blobs and --latest-sep again

#

ez

#

i wouldn't know

#

this is the first day i used ios 15 on a (my) phone

#

iOS aesthetic is nice, however i am a committed android user for at least the next 2 years

#

¯_(ツ)_/¯

#

christ it's 1:43

#

time to play some Overwatch instead of doing my assignment troll

plain python
#

@native dune I should be able to get you an iOS 15 (and maybe iOS 16? though untested) checkm8 build of libhooker this weekend that you can drop into palera1n

primal perch
fervent verge
#

dladdr is a pain 🤦‍♂️

naive kraken
#

yes

#

either this or you can probably also use stuff in Security.framework to get it, TrollStore already uses that to get the entitlements

faint timber
#

/cc @naive kraken

vivid dew
#

@shut stag happy birthday big man

fervent verge
#

use "SecTaskCopyValuesForEntitlements" pass in a array with key "com.apple.developer.team-identifier"

#

the return value of that is just a dictionary pass in the key again

primal perch
#

if anyone wants

#

thanks @gentle grove

timid furnace
#

and instead of kSecCSRequirementInformation you want signing info

elder scaffold
native dune
#

and then we’d know that rootless tweak injection works

#

gm shel

#

she’s

#

shep

#

autocorrect moment

#

my autocorrect dictionary is all fucked up idk what happened

hasty ruin
#

shel

turbid fjord
hasty ruin
#

Always been a she

native dune
#

fr

sick crane
#

what's the ios alternative for mach_vm

native dune
native dune
#

tbh rootless already works there’s just no tweak injection

#

i don’t think you need tweak injection for testing procursus

tepid olive
#

@native dune u jailbroke on ios 16.1.1?

native dune
#

yea

tepid olive
#

with which jailbreak?

native dune
#

my own

tepid olive
#

ah gg

ocean raptor
#

Does palera1n have working setuid on 15 rootless?

rapid mirage
#

will stable diff actually run on a 14 pro

#

or do you need an m1 chip

#

i think u should be able to do inference on cpu/gpu/tensor cores aka coreml

#

i can't believe i can run it on an 8gb m1 macbook air with pretty great results

#

~30s an image

indigo peak
#

I LOVE YOU SO MUCH

#

[trolldecrypt] teamID: 2R6PE3P379

#

:)))

#
SecStaticCodeRef getStaticCodeRef(NSString *binaryPath) {
    if (!binaryPath) return NULL;

    CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (__bridge CFStringRef)binaryPath, kCFURLPOSIXPathStyle, false);
    if (!url) {
        NSLog(@"[trolldecrypt] failed to create url for %@", binaryPath);
        return NULL;
    }

    SecStaticCodeRef codeRef = NULL;
    OSStatus res;

    res = SecStaticCodeCreateWithPathAndAttributes(url, kSecCSDefaultFlags, NULL, &codeRef);

    CFRelease(url);

    if (res != errSecSuccess) {
        NSLog(@"[trolldecrypt] failed to create static code for %@: %d", binaryPath, res);
        return NULL;
    }

    return codeRef;
}

NSString *getTeamID(NSString *binaryPath) {
    SecStaticCodeRef staticCodeRef = getStaticCodeRef(binaryPath);
    CFDictionaryRef signingInformation = NULL;
    OSStatus result;

    result = SecCodeCopySigningInformation(staticCodeRef, kSecCSSigningInformation, &signingInformation);
    if (result != errSecSuccess) {
        NSLog(@"[trolldecrypt] ERROR: SecCodeCopySigningInformation failed with error: %d", result);
        return NULL;
    }
    CFStringRef teamID = CFDictionaryGetValue(signingInformation, kSecCodeInfoTeamIdentifier);

    return (__bridge NSString *)teamID;
}

works perfectly

glacial matrix
#

That’s not white, but there’s an api for gray color

hasty ruin
#

so capt is saying to just call whiteColor instead of colorWithRed:green:blue:alpha: repeatedly

tardy narwhal
#

the leading message just above the code feels like a youtube video Intro

snow fjord
#

i send my sh script here in morning, is this like a place where people can review ur work?

snow fjord
#

oh okay

ocean raptor
#

W, thanks

sick crane
#

oh thanks

#

i thought i was doing wrong cuz it instantly gets killed

restive ether
#

pastebin exists dog

worn cradle
#

joebin

sick crane
#

the binary that uses mach_vm and it gets killed instantly

#

it kinda looks like this

#

and i copied the whole header lol

restive ether
#

becuase they're piracy....

#

I'll do the response ahead of time, "it doesn't work"

sick crane
#

no crash log, what my code does is just reading some memory values to get the game score

#

also it is jailbroken ios 14.3

#

wdym

#

it doesnt read the memory address from itself

#

it reads another process' memory

#

getting the score from game

#

yeah

#

kay wait

#
#include <iostream>

#include "vm_mem.hpp"

using namespace std;

const uint64_t SCORE_OFFSETS[6] = {0xBA5D70, 0xB8, 0x20, 0x140, 0x358, 0x2CC};

const uint64_t MAX_ADDRESS = 0x7fffffffffff;

int main(int argc, char *argv[]) {
    Process *process = new Process();
    kern_return_t kret = process->Open((char *)"A");

    if (kret != KERN_SUCCESS) {
        cout << "Failed to open process" << endl;
        return 0;
    }

    uint64_t base_address = process->get_base_address();
    cout << "Base address: " << hex << base_address << endl;

    uint32_t score = 0;
    uint64_t current_address = base_address;

    for (int i = 0; i < 5; i++) {
        current_address =
            process->Read<uint64_t>(current_address + SCORE_OFFSETS[i]);
    }
    if (current_address > MAX_ADDRESS || current_address < base_address) {
        cout << "session not started" << endl;
        return 0;
    }
    current_address = current_address + SCORE_OFFSETS[5];

    cout << "Calculated address: " << hex << current_address << endl;
    score = process->Read<uint32_t>(current_address);
    cout << "Score: " << dec << score << endl;
    return 0;
}
#

wdym 'yourself'

#

like without the vm_mem thing?

#

ah i used it because i was too lazy to use the mach functions

#

welp it cant even print the base address

restive ether
#

is it signed? 😭😭

sick crane
#

yop

restive ether
#

with

sick crane
#

my dev acc

restive ether
#

with what entitlements...

sick crane
#

ah

#

nothing

restive ether
#

....

sick crane
#

oh wait right

#

im dumb MenheraDead2

restive ether
#

@grave sparrow

sick crane
#

i need to enable get-task-allow thingy right

restive ether
#

no

sick crane
#

i dont use theos

#

i used cmake

restive ether
#

😭😭😭

sick crane
#

im sorry i made a stupid mistake lol

restive ether
#

see 7 drinks Cam is good at this

sick crane
#

it is running as root tho

#

anyway yeah imma try signing with that entitlements

#

hmmmmm

sick crane
#

yayyyy

#

oh right lol

primal perch
#

use destructors fr

#

Process process;

#

problem solved

#

@grave sparrow gorn!

sick crane
#

literally get the base address of that process

#

yeah right

#

strange actually

#

but it works tho...

worn cradle
sick crane
#
  1. literally at the start
  2. i dont know since it crashes even before it prints the base address
  3. yes i tested it
#

yeah kay

#

it literally can't even print anything

#

like this right

#

and sign like this right

primal perch
#

ill --force it --deep in your mom

sick crane
#

yeah i already did that lol

#

atm should i just use theos

#

wdym

#

kay

#

it doesnt work

#

atm i wonder can it even run the normal hello world program lol

#

OH

worn cradle
#

man I'm dead

#

☠️

sick crane
#

i... wanna cry now

#

yes...

#

works very well MenheraDead2

indigo peak
#

@grave sparrow do yk how i would convert a openssl command call into libssl C code

#

useless

#

fuck you

#

@grave sparrow ifi do ldid -S -M -kKey.p12 binary , would it be possible check if the key.12 is actually codesigned to the binary

ocean raptor
#

-K

#

not -k

ocean raptor
#

Read idiot

restive ether
#

he doesn't read

indigo peak
#

bro

restive ether
#

found that out earlier

indigo peak
#

i dont know what im doing

#

okay

lime pivot
tepid olive
primal perch
vague hinge
#

So hopefully this is the right place to ask if not I’ll head over to the support section but, I’m trying to run an iOS 15 app on iOS 14.4 I’m jailbroken with Fugu 14 unc0ver. According to my crash log I’m missing the AVFAudio framework.
Is there a way to import this framework and others into iOS to enable newer apps to run?

primal perch
#

yeah just replace the dyld shared cache 100%

vague hinge
primal perch
#

pretty much yea

vague hinge
#

I see according to Apple this was implemented in 14.5 which is annoying

#

🥲

primal perch
#

if you do a shitload of patching maybe

#

technically possible but not really worth the effort

vague hinge
#

Annoying, oh well nothing that can be done I guess.
Thanks for the answer in any case

restive ether
#

idk about taurine

vivid dew
#

fr

ocean raptor
fleet ore
#

Is there a tool to decrypt iPAs without jailbreak on macOS ?

tepid olive
#

:3

fleet ore
#

Oh that’s unfortunate 🥲

tepid olive
#

yes it’s on the readme

graceful gate
tepid olive
tepid olive
#

@tepid olive how does ur tweak injection thing work on ios 16.1? are u jailbroken with palera1n or??

timid furnace
#
public func MSFindSymbol(_ image: UnsafeMutableRawPointer, _ name: UnsafeRawPointer) -> UnsafeMutableRawPointer {
    dlsym(image, name)
}
#

so that's why MSFindSymbol kept dying

tepid olive
#

forgot to do that

#

i’m currently doing launchd dlopen code

timid furnace
#

besides MSFindSymbol, my tweak works on iOS 15 with ellekit

#

now the next frontier is rootless

tepid olive
#

it is

#

It's a placeholder because I needed to focus on other things

timid furnace
#

alr

tepid olive
#

trying to figure out allocating a c string in launchd

#

lol

timid furnace
#

oh fwiw i got 2 errors while building (it could be my skill issue):
Logger is available on 14.0 and up, which i fixed by changing the deployment target from 11.0 to 14.0 in the places where it was 11.0

#

and on lines 75 and 127, target and replacement in the logger call are ambiguous

#

i just commented that out

tepid olive
#

I forgot to push it

timid furnace
#

the classic

#

well just wanted to make sure you were aware if you weren't already

#

nice work

tepid olive
#

done!

faint stag
#

it can

#

nothing is preventing you from using dpkg-deb -b or theos dm.pl lol

#

smh i needed to write a wrapper script to convert a bunch of android drawables to svg

in other words i'm trying to get icons from apks tr

faint stag
#

added a loop so i can do multiple apk dirs in one command
works thumbsUp

#

another app i didn't know i needed

faint stag
#

added what?

graceful gate
faint stag
#

i just named the most common ways debs are built

rapid mirage
#

any ios stable diffusion benchmarks?

#

apple seems to imply it should run on phones

vivid dew
#

i don't know why you keep asking

#

there are tons of them on the app store now

rapid mirage
#

i figure an xr can't run it

#

was curious about results on a 14 pro w a neural engine

primal perch
#

every ios 15 binary from DSC analyzed & decompiled from ida

#

bnR3ZXJrODMyMCRBZ2F5UDBybjkzJSU=

blazing vault
#

anyone know how jb apps work on XinaA15

#

appears that those dropped in /Applications won't be autocorrected, not sure what the new directory is though

primal perch
#

gorn

vivid dew
#

trolley

primal perch
ocean raptor
#

His "compat" is not some complicated, intricate system

graceful gate
primal perch
#

the binaries are from dyld extractor

#

i just wrote a python script to batch analyze it then waited like a day

hasty ruin
primal perch
#

thanks i7-13700K

graceful gate
#

Oh cool

hasty ruin
#

wholesome

primal perch
#

fr

primal perch
#

Captain Craze

#

@grave sparrow @hasty ruin

#

jaskldfjalsd;fjkjlkjkl

hasty ruin
graceful gate
primal perch
#

yea

graceful gate
#

mhmm

primal perch
#

and idaobjctypes imported for each db

graceful gate
#

Ok consider Preferences.framework
From your pack

#

From my own analysis

graceful gate
primal perch
primal perch
graceful gate
#

btw mine is from 15.5 iPod 7, still don't think that would make differences

primal perch
#

did you use krit's fork or the mainline one

graceful gate
#

mainline

primal perch
#

ok same

#

15.6.1 12 mini

#

hm

graceful gate
#

ok I guess that's a difference?

primal perch
#

should be like the same

#

the arm64e mightve done it

graceful gate
#

arm64e though

#

yeah

primal perch
#

whats the assembly of yours

#

regardless its probably pacibsp and autibsp

#

that confused hexrays

#

that or it just didnt find the method

#

idk

#

might not be a bad idea to redo it with arm64 i didnt really think about that

#

its definitely a bit easier to analyze

graceful gate
primal perch
#

weird brk too

cloud yacht
#

Ah yes people comparing their assembly

#

I've now seen it all

primal perch
#

depending on my motivation after i do my homework ill throw the iphone X one in overnight

blazing vault
lime pivot
#

tbh, packages should be responsible for doing their own uicache clearing these days

lime pivot
lime pivot
ocean raptor
ocean raptor
restive ether
#

like asking devs to use entitlements responsibly 😭😭

#

they just don't lol

ocean raptor
#

And a correctly built uicache will have -a scan /Applications and $(MEMO_PREFIX)/Applications

#

Can people using xina jailbreak put that in their nickname so that I know to ignore their stupid questions

#

What's the point of "compat" if everything is still broken 💀

#

"bUt tHeN DEvS dOnt hAvE tO uPDAte TheIR tWEAks" yet they have to update them to work around the complete breakage that the "compat" created

restive ether
#

we don't care about the long term here 💪🏼💪🏼

lime pivot
lime pivot
#

I guess some people don’t quite realise till it’s already been done that they just made the existing thing but with extra steps

#

and now I need to trust that your code works, and that you’ll fix it quickly if it doesn’t

#

less is more appleshrug

faint timber
#

fuck stack overflow, we got chatcpt now bitches

twilit jungle
#

With MVC, the goal is to have view controller communicate the model, either through a controller or directly to the backend system. The view controller would be presented somehow. Backend system shouldn't know about views and windows.

#

They follow that for most part

#

well than follow whatever design that the system you are hooking uses

#

If you are just trying to change what the UI does on wrong password then sure

faint stag
#

well ofc it does

#

you didn't need to disassemble to know that it calls shake

indigo peak
#

idk why I just saw this now

#

that’s why it wasn’t working yesterday 😭😭

gentle grove
#

(it doesn't work but I'm not sure why)

#

it just says bad integer value even if I put an integer scale

wheat grotto
#

Can someone help me with some MySQL bullshit ? I cant stand it. This is about that project i was talking about here previously

Basically i have 4 tables: Devices, Reading Timestamps, Air statistics and Soil statistics.

The plan is to Save the timestamps when the readings were made with the device, and then the air and soil statistics attached to that

#

I have no f idea how to explain it. I hate mysql with all my passion

#

What i want is to someone just tell me what data types i should put in and all that stuff fr

#

might slip a month of nitro to whoever helps whenever i finish this bs

tardy narwhal
#

don't need nitro but why 4 separate tables? or did you mean 1 table with 4 columns?

wheat grotto
#

Requirements...

#

yes, i know, but again, i dont make the rules

#

I need atleast 4 tables and i just didnt know what data to put in them

#

and if i decide to change that arrangement now, i basically have to redo half of my documentation about it

primal perch
#

spreadsheets also exist

tardy narwhal
#

ouch, yeah then you'd want to start creating relationships between the tables. The "Devices" table presumably holds some sort of unique identifier (primary key) and extra information, you'd preferably want to use that as the foreign key in the other tables to create the relationship between the data.

#

(assuming you get a reading per device)

wheat grotto
#

The devices table has info about the device name the reading was done from and the IP address of it (cause its probably going to be a bunch of ESP8266s and theyre wifi MCUs OR arduinos with eth shields)

Reading Timestamps has, well, reading timestamp and the interval between the current and last one

Air statistics has info about air moisture, air temp and air pressure

Soil statistics has soil temperature and soil moisture

tardy narwhal
#

assuming you can use the IP as a "static" / unique field (device retains the same IP every time it connects), create a foreign key to that in the other tables; Otherwise opt for the device name to be the primary key of your devices table and use that as foreign key.

the other tables will essentially get another column, but when you think about it, you enter data row-by-row, so whenever you do/receive a reading, you can simply ingest the data into MySQL by first registering the device if necessary and then simply using the chose primary key as the foreign key while inserting the rest of the data into their respective tables.

#

that way when you perform a select across the tables to retrieve (f.e.) all data from IP 192.168.0.100 (some ESP), it'll try to fetch all associated data

wheat grotto
#

The plan is to set them to static IPs yes, and if im using arduinos with eth shields, i think static was pretty much the only option for those

#

ESP are a bit more forgiving

tardy narwhal
#

using the ip as primary key was just a suggestion, you can use whatever suits your case best tbf.

in regards to data types, you can go the lazy route and just everything non-numeric to varchar and the numeric values to double. For precision you can condense the IP field for example to be char(15) since an IP won't be beyond 12 chars + 3 dots

#

(granted its ipv4)

#

you might want to read up on the difference between char & varchar on your own for further education & knowledge, it's definitely good to know why they're different

harsh needle
#
       if (!strcmp((char *)path, "/Users/nand/dumper/build/libdumper.dylib")) {
         syslog(LOG_ERR, "Found correct dylib, dumping..");
         dyld_image_info dylib_info = infos->infoArray[i];
         vm_offset_t header_addr;

         vm_read(task, (mach_vm_address_t)dylib_info.imageLoadAddress,
                 sizeof(mach_header_64), &header_addr, &count);
         mach_header_64 *header = (mach_header_64 *)header_addr;

         syslog(LOG_ERR, "magic: %X", header->magic);

         size_t image_size = 0;
         // sizeOfLibrary(header, (uint64_t)dylib_info.imageLoadAddress, task);

         mach_vm_offset_t lc_offset =
             (uint64_t)dylib_info.imageLoadAddress + sizeof(mach_header_64);
         load_command *lc;

         syslog(LOG_ERR, "Load address: %08x\n", dylib_info.imageLoadAddress);

         syslog(LOG_ERR, "log: %i", lc->cmd);

         for (int i = 0; i < header->ncmds; i++) {
           kern_return_t err = vm_read(task, lc_offset, sizeof(load_command),
                                       (vm_offset_t *)lc, &count);

           syslog(LOG_ERR, "Load command: %i size: %i, vm_read: %i", lc->cmd,
                  lc->cmdsize, err);

           lc_offset += lc->cmdsize;
         }
``` im trying to load a dylib that dumps itself to later on dump others, ive taken a look at the mach-o format and the load commands should be right under the header but the cmd values are immensly big, err is always 0 and the cmdsize is always 1, can anybody point me into the right direction?
tardy narwhal
harsh needle
faint timber
harsh needle
tepid olive
#

a basic question guys. i want to hide the flashlight and camera icon on the lockscreen when playing a song or something else which is a media.
when settings the hideFC to true, it hides the two buttons. but the script doesn't registered when playing a media.

#import <Tweak.h>
#import <MediaRemote/MediaRemote.h>

bool hideFC = NO;

%hook CSQuickActionsView
- (void)didMoveToWindow{
    %orig;
    self.hidden = hideFC;
}
%end

%hook SBMediaController
-(void)setNowPlayingInfo:(NSDictionary *)arg1 {
    %orig;

    MRMediaRemoteGetNowPlayingInfo(dispatch_get_main_queue(), ^(CFDictionaryRef information) {
        if (information) {
            hideFC = YES;
        } else {
            hideFC = NO;
        }
    });
}
%end
indigo peak
#

@ocean raptor the headers wont compile for openssl

#

like i copied the files from lib and include

#

into theos lib and include dirs

#

and when i include a header, a million and one errors happen

ocean raptor
#

I need more information than that

#

Idiot

#

I have never met someone with the developer role that I like

#

(except maybe kirb)

indigo peak
#

also

#

req_main

#

doesnt exist

#

in the headers

ocean raptor
#

💀

#

No way you just said that

indigo peak
#

i did

#

and ill say it again

#

(no i wont)

ocean raptor
#

Obviously?!!! req_main is from the command line tool openssl, it's not part of libssl

indigo peak
#

so do i also need to put the apps dir into my project

ocean raptor
#

💀

#

I meant for you to read req_main to see a how the certs are generated using libssl

indigo peak
#

bro im slow

#

idk how this works

ocean raptor
#

THATS WHY I SAID TO READ REQ_MAIN

#

NOBODY EXPECTED YOU TO KNOW HOW TO USE LIBSSL, BUT WE EXPECT YOU TO BE ABLE READ DOCUMENTATION AND EXISTING CODE TO LEARN HOW TO USE IT

indigo peak
#

i give up

primal perch
#

capt face reveal

lime pivot
#

@ocean raptor hm

#

also can we update yt-dlp pls

ocean raptor
#

😭

#

I'll delete the cache and rerun

#

Which will take a while

primal perch
#

?????
😭
I'll delete the cache and rerun
Which will take a while

ocean raptor
faint timber
#

time cook on his way to remove the next port

hasty ruin
#

Power buttons are an unnecessary entry point for water to seep into the device’s internals. For this reason, we have decided to make the courageous decision to remove it from our new generation of iPhones. You can use tap to wake and auto lock as a replacement for all meaningful functionality. For anything else, go fuck yourselves glad

vivid dew
#

Power buttons are an unnecessary entry point for water to seep into the device’s internals. For this reason, we have decided to make the courageous decision to remove it from our new generation of iPhones. You can use tap to wake and auto lock as a replacement for all meaningful functionality. For anything else, go fuck yourselves :glad:

cloud yacht
#

Also the volume rocker had the same issue so we removed it. You can instead go into the CC and slide the little bar up or down

hasty ruin
#

we've decided to remove it

#

and you can use assistive touch instead

#

(or siri, if you have no hands)

cloud yacht
#

Also you have to use hey siri cause no power button

vivid dew
#

ok but what if

#

they replaced the volume rocker with a wheel

cloud yacht
#

It's a volume ball that's magneted to the side of the phone and when you drop it it falls off

lime pivot
#

will test in a bit

#

am I the only one using mac procursus? FlushedFluent

restive ether
#

joe is

vivid dew
restive ether
#

joe bama

vivid dew
#

what is obama's last name

worn cradle
#

hi

trail niche
#

anyone know how to get every notification (on MacOS)?

#

like through cocoa or smth

primal perch
#

Power buttons are an unnecessary entry point for water to seep into the device’s internals. For this reason, we have decided to make the courageous decision to remove it from our new generation of iPhones. You can use tap to wake and auto lock as a replacement for all meaningful functionality. For anything else, go fuck yourselves :glad:

lethal kayak
#

average apple announcement

primal perch
plain python
#

@lime pivot @marble perch @native dune I pushed libhooker 1.6.9-1 to the odyssey repo which should fix the crash on iOS 15 w/ checkm8 (ported over the launchd fix from cheyote)

#

took me a bit longer than expected since I had to remember things about stuff I haven't touched in months (ok I got distracted a bit too)

#

I'll do a rootless deb next, but that should get you libhooker up and running for now

crisp frost
opal ridge
#

need to use Procursus ldid

#

and although it doesn't crash, it doesn't work either, and /etc/rc.d/libhooker exit 0 as soon as it says Starting libhooker

#

1.6.9-1 right

tepid olive
#

development

primal perch
#

real

tepid olive
#

i am pro dev because i am on palera1n team so i need developer role fr

tardy narwhal
#

what you may also need is a reality check

tepid olive
#

true

sly knoll
#

libhooker for ios15👀

native dune
#

fuck it i’ll install it lol

#

doesn’t seem to be working, maybe i’m doing something wrong

  • uninstalled substitute, safe mode, and prefloader
  • installed LH and it’s depends from odyssey repo
  • userspace rebooted
  • ran /etc/rc.d/libhooker without root, outputs no tfp0 / checkm8
  • running with root says starting libhooker
  • respring, no tweaks injected
#

the tfp0 patcher doesn’t work on 15.7.1+, but that doesn’t stop substitute from working

#

later i can try manually patching tfp0

#

i could test it on my 15.7.1 device maybe it’s a 16 thing

plain python
#

@native dune might need to run updated ldid on the bins since I forgot to

native dune
#

oh i only ran it on /etc/rc.d/libhooker

#

i’ll try that

#

got further this time

#

ios 16 by the way, i’ll test 15 when i get home

tepid olive
#

@plain python what’s the launchd fix?

elder scaffold
#

oh ok

#

still need ldid

tepid olive
#

a

spice epoch
#

Palerain with ryzen cpu?!

tepid olive
#

hgsp4 >> anyways

#

Would some kind person write me a safe mode tweak that i can use

restive ether
restive ether
#

why not use the libhooker safe mode

#

BSD-3 Licensed

#

looks like it needs a few path changes for rootless though

tepid olive
restive ether
#

it's literally an app with a message bro. 😭😭

tepid olive
#

also i’m not gonna use someone else’s code for it

#

it also depends on many strange concepts

restive ether
tepid olive
#

like adding an app to uicache every time

tepid olive
#

I’ll just do it myself fine

tardy narwhal
#

talk about reinventing the wheel

#

god bless fragmentation

rustic fiber
#

I cannot get arm64e to compile on Ubuntu with WSL

#

redefinition of module std_config and could not build module 'Darwin'

rustic fiber
misty cradle
#

you're only looking for attentioooon

snow fjord
#

yall ik i sound stupid but anytime i try run this on my mac it gives me unexpected end of file, with fi it says syntax error near unexpected token fi

#

anyone know how to fix this

misty cradle
#

nvm they're down

high citrus
snow fjord
#

wll do

#

github release is crying

#

i have edited latest v1.1-alpha release 9 times

#

the old y/n prompts worked fine but 10.13 has BASH3 and they only support BASH4+

#

also apt on macos is hardly the same as apt on ios

#

livin in a world where an unjailed system is hard to jailbreak fml

tepid olive
#

Simply stop making bash scripts

restive ether
ocean raptor
snow fjord
#

i did not know that rxisted

#

thank you

snow fjord
tepid olive
snow fjord
#

fr fi crashes script on macos

snow fjord
native dune
#

no it doesn’t

snow fjord
#

well

#

it gives syntax error

#

on 10,13

snow fjord
#

maybe because BASH3 and not BASH4

tepid olive
#

if you had a kernel exploit it would be cooler

restive ether
#

so write it in bash3...

snow fjord
#

all the shit online is bash4

restive ether
#

ok

#

so write it to be posix complaint then

#

if you aren't then switch the shebang cause it's wrong

snow fjord
snow fjord
restive ether
#

bash

snow fjord
#

this is shebang i use on everything

restive ether
#

yeah it's wrong

#

your scripts arent probable

#

so sh is wrong

snow fjord
#

lemme check my bootjb shebang

#

POSIX works on newer macos too?

#

like 11+?

restive ether
#

😐

ocean raptor
ocean raptor
# restive ether 😐

They are calling disabling sip a "macOS jailbreak", I wouldn't expect them to be intelligent

restive ether
#

oh

#

fair enough

turbid fjord
restive ether
#

thats ban worthy

ocean raptor
snow fjord
#

man just wants to occupy some time

ocean raptor
#

Why are people so dumb

restive ether
#

that seemed obvious

#

like it said right there

#

like the most basic part of scripting

snow fjord
#

i closed the statements

#

now it has 1 error and its some parsing shit

#

i put fi on every other elif statement but it has a parsing error with this one

timid furnace
#

you need to learn to google

#

and to read

snow fjord
#

i have googled it

timid furnace
#

i also googled it

#

i found the answer in the first result

vivid dew
#

they have a padoru avatar you need to use smaller words

snow fjord
wheat grotto
#

Whats the character length of a sha512 hash

#

64 ?

snow fjord
#

i just searched "^-- SC1089 (error): Parsing stopped here. Is this keyword correctly matched up?"

timid furnace
timid furnace
wheat grotto
#

ah

#

alr

snow fjord
#

this it?

timid furnace
snow fjord
#

that is too complicated for my smooth brain

restive ether
unkempt raft
#

How can I start my daemon in a TrollStore app? Since the iOS 15 filesystem is sealed we can no longer add them to /System/Library/LaunchDaemons/.

Maybe it's possible to run them temporarily with fork() and execve()?

pearl sail
restive ether
#

you have no PPL

snow fjord
restive ether
#

unless it does idk I was under the assumption trollstore doesn't bypass PPL

timid furnace
unkempt raft
restive ether
#

to use fork

unkempt raft
#

ah I see

snow fjord
#

i just dont understand some of this stuff

#

is my second time doing stuff in bash

ocean raptor
restive ether
#

posix spawn trolling

unkempt raft
ocean raptor
#

I was going to say you can posix_spawn your binary on another thread

unkempt raft
ocean raptor
#

A12+?

unkempt raft
#

yes

ocean raptor
#

If it's not making a new pid then it's not actually working

wheat grotto
#

Daily annoucement: I hate SQL databases

unkempt raft
ocean raptor
#

So just say it didn't work

unkempt raft
#

are there any resources where launchd api is being used on ios?

#

seems like the launchctl binary has been removed

vivid dew
#

i don't think its been there for a long time now

#

everyone just used a pirated one from somewhere

unkempt raft
#

where can I get it? trolley

snow fjord
#

yk what fuck these if statements im just gonna make it run either way

vivid dew
#

from another jailbreak perhaps

ocean raptor
snow fjord
#

it work fully yay

ocean raptor
unkempt raft
#

also, what does 1400 1500 etc mean?

restive ether
unkempt raft
#

got it

unkempt raft
#

hm it throws an error

#

I used ldid -s beforehand

restive ether
#

so I'm just going to assume you did not use those

unkempt raft
#

do I copy entitlements from MacOS?

#

or from somewhere else

restive ether
#

you copy the entitlements from the procursus repo

unkempt raft
#

didn't see them

#

thanks

gentle grove
lost nebula
#

who make multitasking15

#

fr

lost nebula
#

ipad ultitasking

faint stag
restive ether
#

didn't build it

#

just took the bin

#

you can't read build it anyways

#

just repackaging

faint stag
#

oh there's a bin

#

i didn't read build_misc lel

restive ether
#

yeah write an open source launchctl

#

that would be very cool

lime pivot
#

@ocean raptor is it just me or does pro macos keep complaining about conffiles being modified when I haven't touched them whatsoever

#

as in natural upgrades from one version of the original distributed files to another

blazing adder
#

How I can start developing tweaks for iOS 15 Xina A12+ Jailbreak?

faint timber
#

your mom

#

its telling you not to use the jb, with that same logic, why would support be provided for something not recommended for anyone to use

blazing adder
#

I know Java I’m learning C++ now but alright I’ll wait till full release and when it’s recommended. Thanks.

sour ruin
#

anyone know any good tutorials for SceneKit development (macOS)

sour ruin
#

im trying to move a model when a key is pressed but idk how to move the node in the first place

indigo peak
#

I can’t get ssh working on xina, I can’t even test making tweaks 😭

#

I also can’t even get xina to work anymore

vivid dew
#

rip bozo

indigo peak
#

nah fr tho

#

rip bozo

jolly citrus
#

Does anyone have a good starting point for porting node.js 16 to ios?

#

I stumbled upon a node package, but it's only node 12

spice egret
jolly citrus
#

haven't looked into it yet

#

Will pick it up later today

indigo void
#

That explanation makes way more sense, thanks! 🙂

#

XinaA15 seems to use iphoneos-arm I guess that has to be changed by Xina?

#

Hmm okay, Xina is really busy rn working on "something". I will just support rootless for now (iphoneos-arm64)

#

Thanks for the info

wheat grotto
#

Translate this to a language that a human can understand

#

Why cant i use mongo woeis

wheat grotto
#

DeviceIP in the Devices table is a PK, and i have a Device FK in both SoilStatistics and AirStatistics

#

And now, for whatever reason, i cant f connect them

primal perch
#

captware

turbid fjord
primal perch
turbid fjord
wheat grotto
tardy narwhal
wheat grotto
#

let me just export the entire DB as a .sql file rq

#

all of the data there is placeholders

#

What i did in the start was set an auto_increment deviceid as the PK, but realised that its a pretty shit way of doing it

#

tried changing the PK to the IP and now its this

tardy narwhal
#

going by the error and assuming how the table looks, you might be missing the actual device which the data is trying to reference.
also please start fresh instead of modifying existing table layouts if it's not too late. You'll avoid unnecessary complications/ oversights

wheat grotto
#

Got it to work...

#

Yea i just created the database from scratch

#

as i said, there were only placeholders, so dont really care about the data that was on it

lost nebula
#

i ttink imma make another tweak

kindred wigeon
primal perch
#

true

unkempt raft
unkempt raft
#

Eg. the app has pid 950 and starting a daemon results it having ppid also 950

tepid olive
#

heyyyy

restive ether
#

😭😭😭😭

restive ether
tepid olive
#

what?

#

there’s only me doing it

#

I’m not copying you

#

I needed a solid hooking lib for macOS

#

Ok?

#

libhooker was 2 years ago

#

who copied it

#

what are you talking about ryan isn’t making anything

#

mine works better

#

u can’t hook some functions

restive ether
#

@grave sparrow give me the code

tepid olive
#

source?

#

what’s ur better idea then?

restive ether
#

I made it the fuck up

tepid olive
#

So?

#

It’s the fallback method

#

No

restive ether
#

we need launchctl

tepid olive
#

It just has no symbol finder

#

Atm

#

That’s like 2 hours of work

#

@grave sparrow i strongly doubt zefram works better

#

then again, what does it matter, zefram will not release

#

when i’m done with launchd it can fully replace libhooker

#

and this is probably happening soon

#

@naive kraken if I grant launchd CS_DEBUGGED with kernel rw and patch posix spawn so it loads tweaks that are signed with the apple root cert, could tweaks work without amfid bypasses

#

fugu15 users can use the coretrust vuln sooo

naive kraken
#

if you can do that then you do not need an amfid bypass, correct

#

but for doing that, you need to handoff everything (krw, PAC bypass, PPL bypass) to another process

#

or rather, to launchd

#

besides, idk if you can get CS_DEBUGGED with just krw

#

But that doesn't matter like this solution can work but you need PAC + PPL bypass as explained

#

I envision there being a daemon that registers for file events in /var/jb and manages trust caches automatically (it needs to ensure that all processes in it are always in trustcache)

tepid olive
naive kraken
#

but idk about 15

pearl sail
exotic spire
#

Some C nerd around? How do you install clang? I find it nowhere

ocean raptor
exotic spire
pearl sail
wheat grotto
#

and yes ik airhumidity and airmoisure is the same fr

#

Keep in mind that the IP is the PK now

#

BUT before this, when i had that A_I DeviceID as the PK, it showed the ID AND the IP for whatever reason

onyx ember
naive kraken
onyx ember
blazing vault
#

If I, say, flat out delete the binary of a user installed app, if the app is offloaded (not deleted) and then reinstalled through settings/app store, the binary is added back correct

vivid dew
blazing vault
#

don't ask why i'm asking

unkempt raft
blazing vault
#

actually now that I think about it

it's probably better to just fake an empty container in fs for stock, and when jb use the actual container

vivid dew
#

troll

blazing vault
#

less sus since in stock app shouldn't crash, just appears to never have been open

#

and still can access all data in jb

next wadi
#

i forgot this channel existed

#

gm

hasty ruin
ocean raptor
#

@lime pivot can you add the BEGIN_DECLS stuff to all the theos/headers headers?

#

I know sandbox.h needs it

restive ether
#

your mom

ocean raptor
blazing vault
#

how bad of an idea would it be for a package manager to instead of using apt to install the deb, to instead download it and dpkg -i url on it

#

seems like a fairly stupid and bad idea, but not sure of how bad it would be to do

indigo peak
#

@primal perch can i use slight code from birdpoop in gameseagull

blazing vault
primal perch
#

yea

#

i do not give a fuck

indigo peak
#

sick

primal perch
#

literally use it all

restive ether
#

you did not consult scoober.

indigo peak
#

LMAO

primal perch
#

he also does not give a fuck

#

hes a sad boy now like jynx

restive ether
#

he's too busy smoking crack

indigo peak
#

i updated ChangeMethodOffset to work on iOS 15

#

¯_(ツ)_/¯

primal perch
#

hell just take the code and relist it and sell it

#

if you update it have the money idc

restive ether
#

so real for that

primal perch
#

ill give you the twickd acct

indigo peak
primal perch
#

if you will actually maintain it

#

im deadass

restive ether
#

twickd don't pay taxes it don't matter

indigo peak
#

how much does it rake in nowadays

#

will it be worth it

primal perch
#

nothing cuz i delisted it cuz i gave up

#

im not gonna sell a broken app

indigo peak
#

well, if youre interested

restive ether
indigo peak
#
void HookMemory(Class class, SEL selector, uint64_t offset, uint32_t data) {
    void *final_offset = (void *)[class instanceMethodForSelector:selector] + offset;
    
    struct LHMemoryPatch patch;
    patch.destination = final_offset;
    patch.data = &data;
    patch.size = sizeof(data);
    patch.options = NULL;

    struct LHMemoryPatch *patches = malloc(sizeof(patch));
    patches[0] = patch;

    LHPatchMemory(patches, 1);

    free(patches); // love you shepgoober <3
}
primal perch
#

its not even taht i gave up on its just that the 2.2.4 update broke offsets and idc enough

indigo peak
#

theres prob like a million and one ways for it to work better

restive ether
#

I'm not sure what sileo does

#

can't remember

indigo peak
#

but it works, so im not changing anything

primal perch
#

i got work and school now i cant be assed to do anything but brainless discord in my free time

#

productivity requires effort

restive ether
primal perch
#

so real for that

primal perch
#

also you didnt free the malloc

#

so youre not real for that

indigo peak
#

TRUE

restive ether
#

yet you still can't figure out how to use openssl

primal perch
#

use std::unique_ptr

#

or rust

indigo peak
#

@primal perch check edit

#

fixed

restive ether
#

use zig

primal perch
#

so wohlesome

restive ether
primal perch
#

also it takes a pointer so you can just like

#

do &patch

#

no wait thats not how the api works

#

but you can make the struct on the stack

indigo peak
#

i just got it to work

#

im not changing anyuthing

primal perch
indigo peak
#

if it works

#

it works

#

okay

#

okay

primal perch
#

no yeah you can do &patch

#

no wait you cant

#

ok im done my brain cant handle this

#

i fell off

#
void HookMemory(Class class, SEL selector, uint64_t offset, uint32_t data) {
    void *final_offset = (void *)[class instanceMethodForSelector:selector] + offset;
    
    struct LHMemoryPatch patch;
    patch.destination = final_offset;
    patch.data = &data;
    patch.size = sizeof(data);
    patch.options = NULL;

    LHPatchMemory(&patch, 1);
}```
#

yes you can

#

holy fucking jesus

#

that was like 3 nested loops

restive ether
#

crack cocaine.

primal perch
#

so real

indigo peak
#

I swear I could drink a whole bottom of cough syrup

#

that shit is so good

ashen birch
#

incredibly based

primal perch
#

fr

primal perch
#

@azure sail

#

ban JetV#9045

azure sail
primal perch
#

yum

unkempt raft
#

Is it theoretically possible to fix battery drain issues on early versions of iOS 15?

#

Using tweaks of course

indigo peak
#

care? license who?

graceful gate
lost nebula
#

dont think they were talking about you (?)

unkempt raft
#

Of course there’s no way to tell, but usually these issues are caused by iOS right?

tepid olive
#

do they happen without tweaks

unkempt raft
#

Not yet. I’m on 15.4, which has battery issues on SE 2022. Was just wondering if it would be theoretically possible to fix once jailbreak comes out

native dune
#

15.4.1 was fine on my device

hasty ruin
#

15.1 sucks for battery

#

literally got an hour less each day after going from JB 14.3 to stock 15.1

tepid olive
#

go to 16.1

unkempt raft
#

Anything <15.4 is a buggy mess

native dune
#

i’m waiting for 16.2

tepid olive
lost nebula
#

9.3.5 👉👈

shell sphinx
indigo peak
#

@lime pivot

#

Version & By are borked on iOS 15

lost nebula
native dune
#

anyone know how to properly exit a preinst if something goes wrong

#

exit 1 doesn’t seem like the best idea since it’ll temporarily break dpkg

ocean raptor
#

exit 0 💀

lone bronze
#

😁

hasty ruin
primal perch
lone bronze
#

dev is for plebs but i want it

lime pivot
#

needs to try calling dpkg in /var/jb/usr/bin/dpkg

indigo peak
#

makes sense

primal perch
#

that was a wet shit

hasty ruin
primal perch
#

fr

hasty ruin
#

i'm not sure i want to open this

indigo peak
lime pivot
#

yep

indigo peak
#

do u want me to pr it

ocean raptor
indigo peak
#

yeah

#

i am checking

#

i cant find libMobileGestalt.dylib tho

indigo peak
#

like

if ([fileexistsatpath: path]) {
  // use /var/jb
} else {
  // use /
}
primal perch
#

no thats slow and bloat because it uses objc run time

#

use system calls only

indigo peak
#

is that like the better way to do it

primal perch
#

uhh better

#

but that uses a syscall wrapper adding an extra call

#

you gotta use inline asm

ocean raptor
primal perch
#

i mean it is kinda hard bro you have to like

#

isntall the library

#

and type -l

#

AND include the header

#

already forgot the steps fr

indigo peak
#

@primal perch do i have to use asm

#

or can i jhust use HBOutputForShellCommand

primal perch
#

oh you thought i was serious

indigo peak
#

bro

#

i trusted you

primal perch
indigo peak
#

i gave you my trust

#

and you violated me

#

i cant

#

blocked

indigo peak
primal perch
#

use the most generic api

#

so [NSFileexists blah blah ]

primal perch
indigo peak
#

fuck you

#

im using access

primal perch
#

i

#

its like an extra 10 nanoseconds but yea ok

indigo peak
#

can you join vc

primal perch
#

i can

indigo peak
#

i need to call you a slur

indigo peak
#

update cephei

#

to work on ios 15

#

bc it makes calls to binaries and dylibs in /usr/lib

#

and not /var/jb/usr/lib

#

but

#

ios 14

#

isnt rootless

#

so id need to make a check

native dune
#

please do not assume ios 15 == rootless

indigo peak
#

i could not care less

#

theres a reason im checking for the path

#

and not the version

native dune
#

yeah just check /var/jb

#

if exists then probably rootless

indigo peak
#

THATS WHAT IM DOING

primal perch
indigo peak
#

your input was not needed at all

native dune
#

make sure to check that /.procursus_strapped or something doesnt exist

#

ok

indigo peak
#

@primal perch @grave sparrow should i put a global check

#

for like an extern

#

thats IS_ROOTLESS

primal perch
#

globals bad

indigo peak
#

and it just checks for /var/jb exists & /.procursus_strapped doesnt exist

primal perch
indigo peak
#

/var/jb/.procursus_strapped

#

so just do like

#

so a global