#development
1 messages · Page 467 of 1
and its readonly ramdisk and it resets every reboot. xcode remounts it lmao
his method works for checkra1n
taurine has it so you can debug 3rd party apps without that method on xcode . its pretty nice
I wonder whether it’s possible to override the ddi-mounted lockdownd service to allow a custom one to take priority
without actually modifying the dmg
maybe by hooking lockdownd or something of the sort
hmm. thats a thought, i’ve been looking for a way to make it permanent and i might look into that.
fwiw ive automated this whole process https://github.com/kabiroberai/diskpics
i was literally in the process of automating it right now as you sent that. thank you so much
Hmm i did extern it, m not sure whats up
I looked there wasn’t a linkable library for it
knowing apple, be glad they even let you do that

capt's laptop after messing with SIP
your mom
Na its fine thank you
how much should I dedicate to a swap partition for my arch install? my system has 32gb of RAM already
@grave sparrow it isn’t possible to remove library validation from iMessage right
depends how much storage you have
I've got 500gb to work with for my linux install
well i’d give it the same swap size as the ram size but it’s up to you
usually that’s what people do iirc
but are swap partitions even needed nowadays?
thought you didn’t need one

oh nice, how does that work
did you need to edit it?
i know that
didn’t think it worked in /apps though
On
i never turn it off lmao
but not in /apps
didn’t test in there
also yes intel
nope
fair enough
you’re on Intel too right
M1 is sometimes weird
idk the guy in this tutorial gave his drive a 4gig one im just unsure what i should do mine for
might switch to M1 for the Xcode performance lol
he only uses like 50gb on his disk for the install
SwiftUI sometimes chugs the ram
if you can afford it, give it more
@grave sparrow can’t we clear library validation on Messages
can i resize it if its too much later down the road?
doubt it
yeah so there’s a function to clear library validation inside the apps now
csops
now the entitlement to disable it calls the app to disable it instead of actually disabling it from the ent only
interesting

https://github.com/apple/darwin-xnu/blob/main/bsd/sys/codesign.h
#define CS_OPS_CLEAR_LV



emoji farm 2 has the best emotes

why 
nice knife
kill
ok good
i am french canadian

True


oh god wtf
a cunt made an emote of someone that died

your mother
Is that joe?

was wondering if anyone has any inisght or opinion on what the best repo is to host a theme. i was using twickd, which i had heard wasnt great, and now they changed their entire policy to where i have to purchase "coins" to keep my theme active on their repo, in addition to them taking a percentage of the sales. seems sus to me
yea seems a little schemey to me
Where is the tokens thing?
its on their creator guidlines page under "creaive policy - Fees and Commission calculation"
!c TWICKD
just drop it on packix and call it a day
seems like the best option
anything is better than some sketchy ass “twickd coins”
k
k
n
n
i
n


love me some good pump n dump coins to liven up this community
shitcoins
are you saying you don’t like N E O N B L U R P L E

Quick question. Would there be a way to run my tweaks in a safe environment like a virtual machine?
joe simulator
@vivid dew
You probably didn't extern "C" it from a c++ file. But anyway, just include mach/mach.h, you don't need to link against anything.
cryptic moment
joement
Kali Linux is also very good virtual computer but I use it for hacking.
It was made for hacking.
Why are you hacking me
Please stop or I will report you to a discord server administrator
let’s just say I hooked a method that took 5 params, and I only wanted to edit one of those parameters in the %orig();
how would I do that
like I know if it was a one param method I would just go
%orig(1.0);
and in a multiple param method I would do %orig(1.0, 3.4);
you just edit the param you want to edit and just pass the variables along
if your method signature takes 5 params then you do have 5 vars at disposal to fuck around with, if you’d want to edit the 3rd you’d %orig(a, b, 420, d, e)
(presuming it’s just a simple call to orig rightaway)
@indigo peak
@tardy narwhal ty 
np
Ah, so HTML is fine /s
sounds good, I do have some typescript questions

README dev
I saw people used it but interesting yea it’s working now after i extern "C" thanks
like why is it so bad
you would know editing chariz-web.ts for the past 2 hours 
exactly
Designing ui?
yarn.lock shouldn't be edited manually right?
shouldn't
doesn't mean anyone respects that 😛
seems just like a waste of time to edit it manually
don't extern "C" just include mach/mach.h
yea that doesn’t work it gives vm_region symbols im using c++ header file
I'm not sure what you mean, sorry
I can’t call and use mach_vm_region i know this one says vm_region the old method, but the new mach_vm_region dose the same thing as shown in the image
like i did what you said before extern "C" and it worked but idk y it wont work with out C
the reason it doesn't work without a C is because C and C++ use different symbol formats so if you don't explicitly tell the linker it is a C function it looks for the c++ symbol instead
extern "C" {
#endif // __cplusplus
#ifdef __cplusplus
}
#endif // __cplusplus``` 




ass
that's XML


ok
Assembly is a bit too high level for me, I prefer machine code
why
if u can bundle it all into a dylib sure
burn
i use python for cocoa stuff to change my mac icons for non big sur icons
that's the only theoretical problem i thought of
it's kinda cursed tho
import Cocoa
import sys
Cocoa.NSWorkspace.sharedWorkspace().setIcon_forFile_options_(Cocoa.NSImage.alloc().initWithContentsOfFile_(sys.argv[1].decode('utf-8')), sys.argv[2].decode('utf-8'), 0)
no
more like
Foundation.NSLog(Foundation.NSString.alloc("hi")))
this is some big brain shit right here
u don't get smaller than quarks
string theory
shut up
u think your cool?
you think you’re cool? i don’t code at all
i touch grass
my penis

your mother is a theory
quarks are theory bruv
life is a theory bruv
where is nfr theory


how do u check
also idk it makes sense ig, since i've been here for over a year chatting in #development
Which level do I need?
Wait, why is there no regular member?
no roles are regular
🤔
it was removed because of the discord member gating feature
i swear u joined like october of last year or something
adding the member role to 0 XP would effectively disable the gating and allow spammers
So I got this great idea for a tweak
You know how androids have that emergency mode thing where it blacks out the screen and gives access to only the phone, flashlight, a siren, and the web browser?
This needs to be a thing for iOS
Under emergency sos in power down
i got this shitty idea for a tweak
same
a tweak where you can plug one ipad into another and use the secondary ipad as a trackpad for the first ipad
You mean ultra low battery saver?
who tf has lightning to lightning cables
i think
Yeah that
i own hundreds
usb c to lightning
with the ipad pro
Is that a thing
true
male to male extension cord
IKR
i mean
[[emergency]]
that's how they were named
you remember sex differences with usbs?
#bot-commands
cock usb
shut the fuck up
eta wen they change this terminology too bc it's "sexist"
@tepid olive pls take down your messages, they conform to the ideal genderial norms of society which seek to take uphold the oppression that women face
😠
such as eating this cock
@tepid olive
Editing Joe.xm, Line 479
Workspace: joe, joe/Joe.xm
49:08 elapsed
logos if it were 2004 when XML was still cool












































@gaunt mesa shill
Tweaks in C# eta wen?
lol
Please, I do c# dev irl and would love that
where did southern girl who code go?
wait why are u hopeful?
what did she do? she get banned?
oh ok
where did he go
wtf u mean
he made great tweaks like jarvis and restriciton
[[svn]]
why
ok is there smthn im missing?
what am i missing then?
So many kirbs
how tho?
and this guy says sgwc is a bad dev lol
idk whats your problem with sgcw, i dont care tbh
i just wanna know where she dissapeard
yes

I legit thought that was you and found it weird you had no dev roles
Why did I become so dense smh
damn this server banned kritanta too?
Banned? Why?
who
"it happened like a year ago. mods convinced i had an alt who they banned. given them the benefit of the doubt there and assume they have a reason to think that. they have been extremely unhelpful in return.
but there’s a reason cydia doesn’t link to the sub anymore. it no longer represents any meaningful portion of the jailbreak community.
so to that effect, i could care less. it does suck when i’m unable to give support for my old paid products there, though."
Okay genuine question, do the recent iPhones have the hardware to support use of the Apple Pencil?
Besides charging, like actually using it
i mean yea
ok but how is this relevant to development
just find a way to trick the phone into thinking the pencil input isthe finger input
i guess
my bad, didnt realize
nothing here is
has been for a long time
Okay so then how does the Apple Pencil actually function with the iPad?
VIA bluetooth
and iPadOS
Are there any special syscalls that are just for Apple Pencil input?
idk bout that
where does it say he was banned from the server
that's talking about the sub

yeah chariz

idk
im stupid
probably not
how do you disable interrupts
with a similar memcpyor what
does that even work does it just link with the actual kernel address
is KPP not a thing on macos


yea idk
even if you can somehow modify it the page permissions are likely set on X only
true
or just recompile it
i gotta get those os internal books for that reason
got no idea
anyway i’m finna drive to mcdongal
true
Is that terry davis?

Recently i have been really interested in swift, i have been trying to find some way to access swift strings that are not exposed to objc and was wondering if it is even possible at all.
wtf
Does anyone know?
Are these strings global variables or something?
No, they are properties in the class
Then just expose the class to ObjC
oh wow wtf
Remember, Google and StackOverflow is your best friend
yea i didn't think about researching beyond the scope of just jailbreak dev, thats my fault
i don't think this will be ideal for the usecase of someone that is trying to access a swift string by hooking it
or i might be wrong
You should ask @gaunt pewter, she's done that before
Is there a notification that will be sent when a bluetooth connection is made?
does anyone know how to access the usb through IOKit in jailbreak app on iOS 14? I had it working on iOS 13 a while ago using com.apple.security.exception.iokit-user-client-class entitlement but it seems that doesn't work anymore? Unless I'm doing something wrong
Trying to access the usb port on a camera dongle
hey guys is this code good: ```objc
%hook UILabel
-(void)didMoveToWindow {
%orig;
if ([self.superview class] == %c(MPRouteLabel))
self.hidden = YES;
}
%end``` 
^this is a joke please don't hurt me i saw this code somewhere 

5/10 is being generous
@primal perch
gm
i say at most a 3/10
true
nfr

you gotta take into consideration the curve. it doesn’t hook layoutSubviews so that makes it much better than a lot of code already
it’s not good but not terrible either so that’s why it’s a 5
not even ok either just like
slightly bad
i suppose maybe a 4 is more appropriate

hooking layoutSubviews is on another level than using layoutSubviews
bitch why
Nah this is 2 at max
i disagree but don’t care enough to argue



@tr1fecta
so i guess you win
ok that was delayed
iOS prevents the execution of unsigned binaries, and in iOS 12, CoreTrust enforces this even further, becoming a significant obstacle for jailbreaks. In this post, we will detail a practical attack against both AMFI and CoreTrust, utilising a time of check to time of use (TOCTOU) attack.
i assume it’s similar for all the processes libraries
any used the ios-debugger on ida running on wine. just a hypothetical question 
rfn
ok
Surely you know what Capt is like by now


yea, i do the same thing, find things to make my environment more easy to work with.
is UITextView generally slow on the iPad Air 1 gen?
well probably
it's not very recent
Is there anywhere I could use for help for making a tweak? I am trying to learn how to make a tweak but don't want to invade any channel where people are having an actual discussion. Should I just make a post on the subreddit about my issue?
Cause a Springboard crash from you app:
guard let window = UIApplication.shared.windows.first else { return }
window.layer.cornerRadius = UIScreen.main.value(forKey: "_displayCornerRadius") as! CGFloat
window.layer.masksToBounds = true
let animator = UIViewPropertyAnimator(duration: 0.5, dampingRatio: 1) {
window.transform = .init(scaleX: 0.96, y: 0.96)
window.alpha = 0
}
animator.addCompletion { _ in
while true {
window.snapshotView(afterScreenUpdates: false)
}
}
animator.startAnimation()
So is causing springboard to crash, what’s your point
you should apply this to all windows
hmm
lol
where it does crash?
Wym
I don’t know why, I just know it does
There’s no need
why do you have while true there?
You just need to apply it to the root window
it's a loop and it will cause stackoverflow
Which is the first window
The whole point of the code is to crash springboard, of course I’m trying to cause an error
It’s a way of killing springboard from an app without funky entitlements
I’m not wrong
they are not entitled to entitlements

i did

where did he go

not wrong

unironically yea




he does not
i just realized if you return TRUE in main() does that mean it doesn't exit as success
return probably instead
no
APNoncer
@quartz void
@vivid dew
does this look really messed up for anyone else
or is it just me
the spacing feels wrong
it happens on every theme too
have you any extensions enable that do some dark mode styling?
Is it possible to allow multiple values to be selected with PSLinkListCell?
it looks fine to me
try the default dark, if the dark dimmed isn't your taste
yeah
nope, plain github
can any1 help me modifying a widget quite hard, ? if so dm me pls
uhm I don't think that this should take 45+ minutes lol
classic brew
uhm that's weird, it was just a visual glitch that wasn't fixed with a page refresh. Github actions was a little weird
ld: warning: building for iOS, but linking in .tbd file (/home/nyuszika7h/.theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd) built for iOS Simulator
is this normal
I think so
Yes
Just change the tbd
negativeFeedbackGenerator go brrr...
tfw you just realized you can make clean package install instead of make clean && make package install


I just do make package install
well ya
or make do
make me a sandwich
make -j8 clean do
wait that's wrong
make -j8 clean package rrel ins
i shall try that
so tempted to use dragon but scared for all the bugs i hear it has
theos takes like fucking 40 seconds to compile libflex
actually the first time it took 2 minutes
bruh....
LOL I would do that
cat ~/.ssh/id_rsa.pub | ssh -p 22 root@IPADDRESSHERE "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
If anyone still enters their password every time on make package install
why not ssh-copy-id root@IPADDRESSHERE?
Make
Idk I just found that on reddit
entering it twice is annoying when I restored rootfs and haven't copied my SSH key yet
once to install the deb, another time to respring
Yeah idk why it can't do both in the first connection
Didn't know this was a thing tho, thanks
it could, theos is just dumb
well
actually the first one might be calling scp
which explains it
should just open a reverse shell 
Why is the limneos website (search function) so slow :(
probably because it has so search through thousands of files
or because it uses PHP
Error handling 100
well, then it's showing up in cr4shed lol
perfect

nevermind, respondsToSelector seems to work just fine in this case

where




databases can search through hundreds of thousands of entries within like a second

Bruh
fr
If only there were notification for when classes registered to the runtime changed.
oh wait

No the "notification for when classes are dynamically loaded" is not private API
cough cough
@grave sparrow that took like 2 seconds to find
gh0st even copy pasted ur google search


Only one way to find out
Except you can't have %init twice


Ight thanks
uninstall your keyboard tweaks
it "can", does it? probably not.
keyloggers 
yeah please download the
logger. it only logs what
types
I had emojiport maybe that’s why
try disabling it, see if it makes a difference
ngh0st 
Just deleted it and it’s still using hella
negative gh0st

than it could be an app, or maybe the jailbreak decided to just suck ass
what if you reboot, does that do something 
Sorry that was my keylogger, I'll remove it from your phone
Covid isn’t real you got scammed

peak virgin
This guys poor 😂😭
How am I trolling had an issue with my phone
apparently you’re broke too
Hm??
true
frghost

inb4 shitcode
it'll make u burn ur eyes
and then you will have to pray to god
even if you are athiest
because the satanic code in batcho is shit
lets not forget these separators
this is the golden directory
ignoredtweaks.txt
apt-key
apt-lib
apt1.4
apt7-key
base
bash
berkeleydb
bzip2
ca-certificates
com.bingner.snappy
com.ex.libsubstitute
com.ex.substitute
com.ps.letmeblock
com.saurik.substrate
com.saurik.substrate.safemode
com.you.batchinstall
coreutils
coreutils-bin
cy+cpu.arm64
cy+cpu.arm64e
cy+cpu.armv7
cy+kernel.darwin
cy+lib.corefoundation
cy+model.ipad
cy+model.iphone
cy+model.ipod
cy+os.ios
cydia
cydia-dark
cydia-lproj
darwintools
debianutils
debugserver
debugserver-10
diffutils
diskdev-cmds
dpkg
essential
file
file-cmds
findutils
firmware
firmware-sbin
gcrypt
gettext
gnupg
gnutls
grep
gzip
jailbreak-resources
jbctl
launchctl
ldid
libapt
libapt-pkg5.0
libassuan
libclang-cpp10
libgmp10
libgpg-error
libidn2
libksba
libllvm10
libplist
libressl
libssl1.0
libtasn1
libunistring
lz4
lzma
mobilesubstrate
ncurses
ncurses5-libs
nettle
npth
org.coolstar.sileo
org.coolstar.tweakinject
org.thebigboss.repo.icons
p11-kit
profile.d
readline
science.xnu.substituted
sed
shell-cmds
signing-certificate
system-cmds
system-memory-reset-fix
tar
text-cmds
trustinjector
uikittools
us.diatr.sileorespring
us.diatr.sillyo
wget
xz
zsh```
:nfruhh:
ignored repos
http://apt.bingner.com/
https://apt.bingner.com/
https://checkra.in/assets/mobilesubstrate/
https://diatr.us/apt/
https://diatr.us/dark/
https://diatr.us/sileodark/
https://repo.chimera.sh/
#!/bin/bash
echo ""
echo "To finish installing your .deb:"
echo "1. Install Batchomatic from BigBoss or https://captinc.github.io/"
echo "2. Go to the Search tab in your package manager"
echo "3. Tap the Batchomatic icon at the top left (the steering wheel)"
echo "4. Tap 'Install .deb'"
exit 0

what is this

what are the optimal separators
no separators
use fucking newlines
deb of your cock
deb of your mother
bruh just use newlines
or pragma if u really want
The ‘#pragma’ directive is the method specified by the C standard for providing additional information to the compiler, beyond what is conveyed in the language itself. The forms of this directive (commonly known as pragmas) specified by C standard are prefixed with STDC. A C compiler is free to attach any meaning it likes to other pragmas. Most GNU-defined, supported pragmas have been given a GCC prefix.
C99 introduced the _Pragma operator. This feature addresses a major problem with ‘#pragma’: being a directive, it cannot be produced as the result of macro expansion. _Pragma is an operator, much like sizeof or defined, and can be embedded in a macro.
Its syntax is _Pragma (string-literal), where string-literal can be either a normal or wide-character string literal. It is destringized, by replacing all ‘\’ with a single ‘’ and all ‘"’ with a ‘"’. The result is then processed as if it had appeared as the right hand side of a ‘#pragma’ directive. For example,
capt — Today at 7:40 PM
#line
Yulky #ObjcForDeprecation — Today at 7:40 PM
#warning
Christian — Today at 7:40 PM
#nfr
capt — Today at 7:41 PM
#uhh
Christian — Today at 7:41 PM


hey guys if you got the time and power i would love to hear some feedbacks on my code I am always looking to improve https://github.com/0xkuj/Green-Pass-Activator-Listener

nah he is a pro
functionality wise you shouldn't have any hooks for this
cuz its activator?
Way too many globals, some of those really should be instance variables (only reason why it works is because of shared instance).
Yes because activator is what is triggering the functionality you provide and you don't really need hooks to get the data (which you aren't doing anyways).
so where should I sign up to the activator action?
In ctor?
Or a notification callback if you really need to wait till springboard is done loading.
GPActivatorAction shouldn't be a method of SpringBoard... nothing in that method relies on SpringBoard, nor does it extend functionality of it.
right
i will change that and try to avoid the globals
so part of what this function GPActivatorAction should be?
I mean its a callback, but part of what scope?
Probably the custom class
ok im a bit confused. how do i write %ctor when i have no hooks?
Same way as before, hooks doesn't change anything
%ctor is what I meant btw and that does not correspond to the class. Its an anonymous constructor for your binary that is called when when your dylib is initially loaded.
and its initially loaded when springboard loads up cuz of the filter com.apple.springboard i guess
Yes, pretty much when tweakloader loads it in that process because of that filter
got it
Oh wait... thats not the same activator action I was thinking of. The callback notification doesn't even require %ctor, should be part of some custom class.
i was about to ask you that lol
Also avoid putting code (@implementation) in header file.
right got it
i will re-write and upload results tomorrow too tired now and probably rockets soon
so gn, and thank u
Actually that notification shouldn't even exist, just add your code directly to GPActivator
you mean this? -(void)activator:(LAActivator *)activator receiveEvent:(LAEvent *)event
Yeah
yea make sense you are right
wtf
lovely
hey so im trying to figure out xcode and simulator and realized i can setup an ios 14.3 simulator. can i use that to test and develop tweaks with?
sort of? probably better on ARM Macs, but you have to get injection working to simulator, some people have gotten that working but idk where the info is on it
im on an m1 mbp but gotcha! just wanted to confirm whether or not this was something people did. but i didn't consider getting tweak injection working
not sure if anybody has on M1 or not
but it'd be pretty realistic there as it's also ARM
Simject should work fine
no sorry, I just boot with args to tell the kernel to stop being a nanny
the kernel is such a pussy
amfi_get_out_of_my_way=1?
yeah that one
what about -do_your_mother
Is there any hope for a tweak to fix this https://youtu.be/6d86B5B7TDA
👉 Claim Your Free $100 Cloud Computing Credit https://linode.com/seytonic
0:00 Intro
0:52 2 Types of Hacks
1:27 The Design Flaws (Not that bad)
2:19 The Implementation Flaws (VERY Bad)
3:23 Which Devices Are Affected?
3:35 Are Exploit Tools Public?
4:04 Detection Tools Available!
4:22 How To Defend Against This?
4:53 Free Hosting (ad)
Sour...
Only thing different is how you build
You build Simject for arm64



Why is the orange guy scared of thumb thumb?
true
im currently trying to set my xinitrc file to do the following on boot:
#!/bin/zsh
xbindkeys &&
xrandr &&
xrdb -merge ~/.Xresources &&
exec awesome &&
export logitechid=$(xinput list --id-only 'Logitech Gaming Mouse G303') &&
xinput set-prop $logitechid "libinput Scroll Method Enabled" 0, 0, 1 &&
xinput set-prop $logitechid "libinput Accel Speed" 0 &&
xinput set-prop $logitechid "Coordinate Transformation Matrix" .5 0 0 0 .5 0 0 0 2.5 &&
xinput set-prop $logitechid "libinput Middle Emulation Enabled" 1
except when I run the export, the xinput list --id-only 'Logitech Gaming Mouse G303' doesn't get called. I can call the exact same line from my terminal, and it will load in the variable no problem. What am I doing wrong here?
thanks
damn
I guess calling awesome after setting the mouse cursor settings does the trick
I didn't think the mouse cursor would be initialized before awesome
Does anyone know a solid VS Code extension to remove duplicate lines?

bad choice
the most professional code written here probably has dick and cum in the logs
y'all don't just log "fuck" trying to debug shit ⁉️

print("AAAAAAAAAaaaaaaaaa")
yes i do that sometimes
sleep deprived programming
I usually print("varName:" + var) or something
and try to print out all the variables I care about till I figure shit out
if I need to check why a function/block isn' called then I do "fuck"
i usually resort to cum
ghost we know you do it too
but ur a robot so it’s probably like
8 inch ethernet cord
that you log



does anyone know what times kabir is awake, i have a (swift)question that he might be able to answer.
i believe he lives in asia
I guess i will just stalk his presence dot till he comes online
asia spans 11 time zones 
new delhi
true
ah its 11:52pm there
@nimble parcel Sorry to bother you, but is there any way to access swift strings. i have gone from demangling getter methods and hooking them and compring objc bridged strings and swift strings using a disassembler and honestly haven’t figured it out.
i can hook into setter/getter methods successfully but obviously would crash if i attempt to log original return value of the getter. I figure there has got to be a way to access them with maybe utilizing swift or some sort of stuff which seems the most logical, don’t know if it is possible
“access swift strings” in what sense? Do you want to read a Swift string’s value?
yes
I think you’re on the right track with utilising swift, try creating a helper function in swift (exposed to your objc/c code) which takes in an UnsafeRawPointer and reinterprets its pointee as a String
got it
make it return an NSString
alright, ill try that, thanks alot brother
np
actually this didn't work 😐
so back to the try catch lol
i have a method that works mostly
but for some reason sometimes fails
so i use a try catch
I got the same issue, sometimes it throws java.io.IOException: Remote endpoint does not respond to message
I guess it's because of the objc java mixing that the app is using
there is simply no way to make it work better
or have better code
it crashes sometimes and not others
doesn't change what i said

there is simply no way to make it work better because I can’t be arsed to do very little debugging required to fix it. Rather work on my next get rich quick tweak.
Java-objc interop, absolutely yes
you might be able to get away with declaring a swiftinterface
but i don’t know if that works for libraries compiled without module stability
@nimble parcel so i created the swift class but i am having little bit of issues regarding what to argument to pass in. here is what i am currently doing, I am testing with an Int right now so that is why value is an Int swift import Foundation @objc class Helper : NSObject { @objc public func swiftTest(pointer:UnsafeRawPointer) -> NSString{ //made changes //testing with int currently var value = pointer.load(as:Int.self) NSLog("pointer address : \(pointer) and \(value) ") return "hello" as NSString } } and in my tweak.xm ```objc
//made changes
static void *(*orig_ViewController_getNum)() = NULL;
int hook_ViewController_getNum() {
Helper *help = [[Helper alloc]init];
NSString *nice = [help swiftTestWithPointer:orig_ViewController_getNum()];
return 500;
}
// in my %ctor
MSHookFunction(MSFindSymbol(NULL, "_$s8SwiftDis14ViewControllerC3numSivg"),(void*)hook_ViewController_getNum,(void**)&orig_ViewController_getNum);which doesn't compile. I can make it compile and read pointer addresses by replacing this lineobjc
NSString *nice = [lo swiftTestWithPointer:&orig_ViewController_setNum];``` which i know is not what i am supposed to do.
The function actually returns an int
Swift int
you want to pass in a void* which is a pointer to the swift string type
and then if you’re using load(as:) call it with String.self
im not sure why you’re calling load(as:) twice
also as @grave sparrow said the signature is wrong
yea i did it twice because it was void ** . I was doing orig_getNum instead of orig_getNum()
i have made changes to the code above, unfortunately i am getting a crash. I am not the best with pointers lmao
Tried with both int/string type
could it be that i am trying to access the value outside the getter method?

gir is sentient now
i am


!jumbo 
He always has been.
He’s been plotting.
Waiting.
Waiting for the moment to attack.
is it bad to stack UIView animations.. like this
[UIView animateWithDuration:0.2
animations:^{
// Do something
}
completion:^(BOOL finished){
[UIView animateWithDuration:0.2
animations:^{
// Do something
}
completion:^(BOOL finished){
// Etc...
}];
}];
It feels wrong to have five animations nested together.
No its not wrong, just make sure you have a way to stop/speedup the animation in middle if user does something otherwise it could turn into an annoyance.
ah, got it
Also there is animateKeyframesWithDuration:... if you want better readability

ya that would probably be better
Its never done

Its a forever project


@lapis vessel mr m
rey, was looking at mrybootstrap.h and was curious that it has mrybootstrap_check_in() but not mrybootstrap_register(). any reason not to support normal registration?
m
rey
Partly because bootstrap_register is deprecated now, and partly because it just wasn't needed for MRYIPCCenter which is what the mrybootstrap code was written for.
should I consider that private/internal API then and not use it?
Oh you can definitely use it
was hoping to maybe write a universally compatible variant of rocketbootstrap_dynamic.h that supports every possible method of breaking the sandbox barrier
cy:, lh: (sigh), rocketbootstrap_*, mrybootstrap_*
also is there any reason not to support mrybootstrap as a drop-in replacement of rbs?
(do you want that much responsibility? 😛)
Pretty much lol
rocketbootstrap still works after all
yeah. my concern is, for how long
Lmfao

@nimble parcel I can finally access the value of the Bridged Swift String ```objc
@objc public func swiftTest(pointer:UnsafeRawPointer) -> NSString{
// this has to be done to bridge cast
let mySelf = Unmanaged<AnyObject>.fromOpaque(pointer).takeUnretainedValue()
NSLog("\(mySelf)") // prints Value of the Bridged Swift String
return " address:\(pointer)" as NSString
} in Objcobjc
Helper *help = [[Helper alloc]init];
void *ok = MSHookIvar<void *>(self, "nsStr");
NSString *result = [help swiftTestWithPointer:ok];``` But, there is a slight issue in this way, <AnyObject> obviously has to be a class and nonbridged Swift.String is a struct.
gives me strong "imagine a world without lawyers" vibes https://www.youtube.com/watch?v=uG3uea-Hvy4
From Season 4 Episode 21: Marge in Chains
I think i might be able to read values of an swift string soon. I also found out that Swift strings are UTF-16LE but not sure if that is really useful in my case
try UnsafeRawPointer.bindMemory(to:) instead of Unmamaged
got it
they’re usually UTF-8; they’re only UTF-16 if they’re bridged from an NSString
i think i tried that already, Ill give it a shot. Sorry for bothering you, i really appreciate your expertise.
no worries
if I have a tweak hooking UIKit, how do I tell it to "do nothing if injected in an app with this specific bundle ID"?
in ur ctor
check the bundleID
and then just return if it matches the blacklisted one
shit, I probably shouldn't have used exit(0) in the ctor
now I'm stuck in a respring loop
F
but return didn't work 🤔
can't even enter safe mode...
ok removing the tweak and doing sbreload worked
nvm figured it out
updated clang to try to fix a weird isuse i was having and now i can't compile shit at all gg
L
oh apparently now i have to have 30 #include's just to compile shit wtf
how the fuck is it so hard to work interchangeably with pointers in swift/objc 
swift 
I have spent the last 2 days of my life trying to print a value from a swift string and i am so close but yet so far away

went to make a tweak
tweak didn't work as i wanted it to ;(
i wholly agree with this
can someone tell me what this transition means. I am not that good with pointers. From:0x28272c9c0 To:0x000000028272c9c0 and what it would mean if i try to access the pointee of address 0x000000028272c9c0
what was that one tool that let you make notifications via the command line
That’s the exact same number? @hardy glen
do the extra 0's mean anything
The first number already is 64bits just with the zeroes hidden
If the two wasn’t there it would be 32bit with no zeroes
let mySelf = pointer.bindMemory(to: NSString.self, capacity:1)
``` would crash my app if i tried to access mySelf.pointee property
so devs really be modifying /etc/hosts in postinst
but not the repo that was actually spreading malware.. 
another question... is there a way to check if my tweak is running inside a daemon or an app
with libhooker UIKit doesn't hook daemons anyway but with Substrate/Substitute it does IIRC
libhooker: libhooker configurator; substrate: choicy
this is more of a #genius-bar or #jailbreak topic tho
Cringe
very
uh that's not what I'm asking
I want to ensure my tweak doesn't inject into any daemons, without people having to fuck with Choicy
I pirate harmony by revulate, my only tweak
very, they could’ve at least added these three #jailbreak message
psure the domains for all three already got popped anyway
according to Google
Who can make a login system tweak for licensing tweak i will pay login tweak connect with sql or api
true
or use Firebase authentication with Firebase hosting
but where’s the fun in that 
It's just an easy way to do authentication with auth providers (from google, twitter, apple, etc.) but you still gotta do a few things yourself
and the login details are safely stored
Dude just make for me i know swift not objective c
I will pay
I know 8 language aspen
But ob c hard
which ones?
To much details and complex
it’s not really about the languages you know but rather the sheer idea of a licensing server you don’t seem to understand. for almost all languages there are web frameworks
you get a string, you check against a db and poof
basic 101 licensing server
*minus a lot of extras
I have seen way worse languages, objective c is doable
oh get out how do you get along with c++ but complain about objc
Yes
no::u
But its much simpler for me





















