#development
1 messages · Page 380 of 1

no
nvim + coc.nvim + sourcekit




No, when trying to clone it, it complains that I don't have access to theos/orion
Dont call this man sir

nvim, not Xcode, fuck Xcode
True

Multipla is ugly
okay buddy
Multipla broke my page dots 
multipla raped me






a day
then cum on a steve jobs mouse pad
and make sure to lick your macbook 7 times
finally mmap will work
whatever it is im just gonna blame the M1 bro
pac or some shit ruined it
Mmap doesn't work for you?
maybe they turned on MTE in big sur
That's MAP_FAILED

So you are passing bad args to mmap
Remove prot_write
no remove prot_exec
what are you doing
Wait
Just remove prot_exec
You won't be able to write to it without prot_write
Nice
Why did you need executable writable memory
You can't have write+exec at the same time

Did you copy the original onto a separate page before replacing the first instruction

I believe so
Because you still need to execute the first instruction
to execute the original function
okay that's another option
yeah that'll work
fingers crossed it isn't pc relative lol
it's just sub sp, sp, n right
adrp, adr, b, bl, prfm, ldr (literal)
Those are off the top of my head
you are making your own function hook thing?
That's pretty sick
I should try and make one
Sounds like a fun little thing to do
i think you should save yourself the trouble and copy the orig onto another page before modifing
and then just call the copied original
hm
then you'll have to re-assemble all the pc relative instrs on that page then
maybe it would be easier to just execute the first, replaced instruction then branch to the second instruction of the original
then all you gotta do is figure out equal instruction sequences for that one replaced instr if it's pc relative
Only if the first instruction is pc relative
you gotta fix the pc relative instrs nonetheless but fixing up one is so much better than fixing up an entire pages' worth
oh sub sp sp n
Flip
flip the bytes
Shit
Okay so you can just execute the stp and have no problems
and then branch back to the second instr
then you gotta fix it
What are your trampolines gonna look like
You also have to deal with the possibility of modifying more than one instruction while multiple threads are executing the instruction sequence you're modifying
A small piece of asm that'll redirect execution somewhere else
You have the right idea, but then you're limited to branching 128 mb in both directions
so I would use BR instead of B
and load the addresss of the replacement procedure into one of the intra procedure registers
No cuz then you clobber x8
arm64 has 2 regs reserved for this purpose
x16 and x17
use one of those
then you have to overwrite 3 instructions to get that big range but its not a huge issue
yea the only part is making sure it's done completely before another thread starts executing on it
because arm64 cant load a 64 bit address in one instruction
okay so the way i see your trampoline going to your replacement is... or do you not want me to spell it out for you?
cuz i have an idea for this
Why the mov?
You already have the address of replacement procedure in x16
So just br x16
adrp, add, br
Yes
the entire concept of what youre doing is hacky
You can't possibly know every single adrp add br combo :p this is how function hooks work it isn't hacky
in the context of hooking
you should figure out how calling the original function is gonna work now that you're overwriting three instrs
















what if you overwrite a cmp 
what if you overwrite b.cond 
gm
gm
which one
mom #1

true
true
remember kids when the government says theyre going to help you, they mean it
@vivid dew u better be prepped to see me in the House of Representatives in a couple years
Not joking
im waiting
Im going to run for my district
i cant wait to vote for hayden outdoors
Its a pretty small place and im confident i can get it
Yep
If i run repub then i get the old people vote for being red and the young liberal vote because im young
if you want the young vote just be repub + pro lgbt
gg you won
yea id vote for that
Lol using the u0 logo in campaign material and rebranding it would be funny as shit
loool
gawr guraToday at 9:04 PM

gawr guraToday at 9:06 PM
robuxToday at 20:06
gawr guraToday at 9:04 PM

Yeah just gotta change the u to an h
lol
That should sweep you right into somewhere inside el1 🤩
Yea branches have signed immediates
what disassembler are you using
Can you use armconverter.com
wait nvm
keep using shell storm
cuz the fucking keystone armconverter uses is buggy
and dida wont update it
or if he did it's still buggy
uh, what are you planning on locking
How are you gonna lock threads out from executing on code you're currently changing

Yeah but how
okay
So if you're in the app's address space, then you have access to all its threads
I'd make a thread that does the patches
but before it does that
thta thread will suspend all the other threads
do the patches
then resume them
_ _
if there's anything thread currently executing on what you're about to replace, then just bail
inb4 gives up 2 seconds in
we'll come back to that later
cuz I can't think of a good solution
other than just modifying that thread's pc to the start of the replacement code after you replace the first three instrs
no lol
Be as non-instrusive as possible
how can I remove my tweak's preferences plist when uninstalling? I don't believe my postrm script has the right permissions to remove the file
But if you aren't in the app's address space you need it's task port
fuck the user
oh does it?

I'm talking about modifying the saved state structure of the mach theead
i hate Canadians
Fuck canadians
armv6
ArmvShutTheFuckUpSlag
false false
arm64e is cool and all
but wen the f*ck eta arm64f ???
that link 404s
can we go higher level so I understand the conversation 
Oh true
task_for_who_asked()
lol
task_for_cum()
true
thanks bro, i will be committing this code to the unc0ver github, a project that will always be open source
Let me just consult my disassembler in my brain
ok
Oh good you put thr instr 
class unc0ver: OpenSourced {
override var isOpenSourced: Bool { get { false } }
}
Ghost if you see this. Reply

time for a new device
Can i use the pointinside method to register to a uiview and toggle its gesture recog?
Thats sounds like a horrible idea
i meant clu3less

i am joke
pointInside is called a lot more times then layoutSubviews btw
god sileo sucks ass
@twilit jungle is using. If cgrectcontains point then call this method?
time to hook pointInside 
if( CGRectContainsPoint(self.respringView.frame, point)){
[self respringTapped];
}
return %orig;
}``` is this bad?
inside
Thats horrible
this is my alternative to gesture reconginzers not working so why use them. 
u don't need one capt
Its literally going to kill the process return value means nothing at that point
god siwa can suck my balls
its for reachability, not like i need it
right?
it barely does shit to begin with
Delete the whole tweak and start over please
thank god clipboard handoff exists
delete life and start over
what would be the better alternative
cock
would using hittest be better?
hitTest calls pointInside
thats a route one can always take
yea but it doesn't get called that many times does it ?
VIEWDIDNTLOAD
SHUTUP
TRUE
You change pointInside to forward the event to the specific view you added, then those views will handle the gesture. The gesture system takes care of the performance in that case.
using the convert point method correct?
because that is what i was going to do right now
Yeah
okay sounds good because that is why i was looking for you
just so i can get the ghost knowledge rq
before i change my whole project
the ghost knowledge™️

90%
10% actual help


that 10% ends up helping alot
the biggest test of patience is waiting 30 seconds for idle timer to kick in
to see if ur idle timer changing code actually worked
You can change that time btw
what
ofc


wtf
Its also lesser on LS


c++
factual
does SBIdleTimer have a global instance
@twilit jungle
nice
consult SpringBoard-Class.h on limneos
@property (setter=_setIdleTimer:,nonatomic,retain) id<SBIdleTimer> idleTimer;

ghost
you think maybe you can help me 
SBDashBoardIdleTimerProvider also has it
yeah that's what im using
but addDisabledIdleTimerAssertionReason: works and remove doesn't
which makes 0 sense

so the screen just never turns off
Actually I think I was seeing that on some specific iOS version
im on 13.7
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
if( CGRectContainsPoint(self.respringView.frame, point)){
[self.respringView pointInside:[self convertPoint:point toView:self.respringView] withEvent:event];
}
return %orig;
}
``` ghost does this seem right
I saw it on pre iOS 12 or maybe iOS 12 as well
f
i found the issue
swiping away the view controller doesn't trigger what i need it to
i need to implement viewDidDisappear
Yeah... It was for FLEXall so I didn't really care much about fixing it (hopefully they disable FLEXall after they are done debugging on LS).
Well in that case LS timer is the last of your concern
yeah ur not
You'd return YES inside the if condition in this case, otherwise its going to go back to %orig which will most likely return NO
And that would go back to ignoring touches
lets see if this viewDidDisappear works and if not ig im coming back and bothering u
oh okay so the code is right except i have return YES inside the if condition
so theoretically if i added a gesture recog to respringView it should be working
Should probably return result of the pointInside call
Yeah assuming hitTest isn't overriden by reachability
so return orig got it
Not orig, the non-recursive call to the pointInside you are making
@twilit jungle ok im wrong, seems i just forgot to implement the method in the vc
seems to work fairly well
I have consistently seen that work on iOS 13, so thats good. Heres to hoping none of the iOS 12 users see the bug
okay got it return (CGRectContainsPoint(self.respringView.frame, point));
luckily ios 12 support is delayed till next update 

oh yea btw gh0st the gesture recog doesn't work 

Then try hitTest
Also you need to make sure user interaction is enabled for the view and all its superview
yea i am adding a view to the window and i have interaction set as enabled. i will try hittest
Also probably should make sure reachability window doesn't subclass one of the SpringBoard's ignore hit test windows
it subclasses sbsecurewindow or something i think
Ah then it should be fine
can i just call hittest from pointinside
hitTest calls pointInside
i know 
its called efficiency ghost
calling the method that called you. come on
thats just genius
Looking at SBReachabilityWindow header, its overriding pointInside:withEvent: not hitTest:withEvent: so your hook should work atleast in forwarding the events to the next level.
@ everyone
go ahead
:2000: 💵
if( CGRectContainsPoint(self.respringView.frame, point)){
[self.respringView pointInside:[self convertPoint:point toView:self.respringView] withEvent:event];
return (CGRectContainsPoint(self.respringView.frame, point));
}
return %orig;
}
so this my method

@narrow mason dropped this

-(void)setupUIViewsAndImageViews{
//setup for views
CGRect screenRect = [[UIScreen mainScreen] bounds];
//setup bundle and image path
NSBundle *bundle = [[NSBundle alloc] initWithPath:reachPath];
NSString *respringImagePath = [bundle pathForResource:@"respring" ofType:@"png"];
self.respringView = [[UIView alloc] initWithFrame:CGRectMake(screenRect.size.width/11, screenRect.size.height/-3, 50, 50)];
self.respringView.userInteractionEnabled = YES;
self.respringView.layer.cornerRadius = 25;
self.respringView.layer.masksToBounds = true;
UIImage *respringImage = [UIImage imageWithContentsOfFile:respringImagePath];
self.respringImageView = [[UIImageView alloc] initWithImage:respringImage];
self.respringView.backgroundColor = [UIColor blackColor];
self.respringImageView.contentMode = UIViewContentModeScaleAspectFit;
self.respringImageView.frame = CGRectMake(0,0, 20, 20);
self.respringImageView.center = CGPointMake((self.respringView.frame.size.width / 2), (self.respringView.frame.size.height / 2));
[self.respringView addSubview:self.respringImageView];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
tapRecognizer.numberOfTapsRequired = 1;
[self.respringView addGestureRecognizer:tapRecognizer];
[self addSubview:self.respringView];
}
``` and this is my setup. please dont judge me ghost i am just testing ill fix all this shit i promise you
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
return (CGRectContainsPoint(self.respringView.frame, point)) || %orig;
}

Then hook hitTest and log the return value and the point, to make sure its returning your specific view when you tap it or touch above it.
yessir
Actually you need to convert the point before using CGRectContainsPoint
oh really?
Yeah unless respringView is direct subview of the view that you are hooking pointInside of.

respringView is directly inside of a window
UIKit ☹️
window is easier
what is this? it's blurry

its trol
am i doing something wrong @wicked summit except code being all over the place
testing the hittest rn ghost
If there is a view controller then there probably is a view that is getting the events.
Always hook view controller over windows

gh0st wen heist redo
rn
ghost when you robbing a bank
/s
I literally just did one though, and yeah its bedtime since work tommorow
Can do one tommorow
mfer acting like he aint just gonna play it during work hours anyway 

we need to do more than one bro i need online money
I'll be hardly working
he has the good job
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
return (CGRectContainsPoint(self.respringView.frame, point)) || %orig;
}
- (UIView *)hitTest:(CGPoint)point
withEvent:(UIEvent *)event{
NSLog(@"NSLogify %@ %@ %@", %orig, NSStringFromCGPoint(point), event);
return %orig;
}
show up but use discord and reddit all day
true
while being hard
yeah id hook SBReachabilityBackgroundViewController and do all your shit in viewdidload, then the window should pass touches to you easily if you add your shit to the vc's view
So your view is getting the event
as its view, SBReachabilityBackgroundView contains the chevron you see
Also yeah vc would be better
Also -[SBReachabilityBackgroundView _setupHitTestBlockerView] would explain any events not being forwarded
i have already tried this
yea i saw that
thats for if i click on reachability. it will register touches on my springboard icons if it is not setup
so hook the viewcontroller instead got it
utf-8 I believe
Yeah and you probably don't even need the pointInside hook since the background view is getting those events.
i have already tried adding a view as subiew
You'd just have to make sure your view is on top of the background view
No
do you have a PHD in 

it means deep gh0st

tho in hindsight that sounds really sus
bruh if i tell that to a 12 year old kid they wouuld die of laughter
this is their type of humor
though not as funny in 2009
compiling
also gg on getting HSWidgets in the ardctic
Thats probably the shitty version
@twilit jungle added a uiview from viewcontroller to the view. hitttest now returning null for everything in uiwindow
sent subview to front
set user interaction as enabled as well

@burnt niche u should ping @vivid dew because they appreciate the ping so they can help you

please spare my life
uiwindow was the only thing that mde it work for me
i said spare my life bro
This is the actual implementation of pointInside:
return point.y <= 0 && [super pointInside:point withEvent:event];
so am i missing something lmfao
🤤
hittest wont even return the background view now

wait
cmake pain

Does a call to pointInside:withEvent: inside the hitTest:withEvent: return YES?
What is sleep?
Looking at 1 line of code for the whole day
bruh i am so lost
basically slavery

immhi is the low part of the immediate
immlo is the high part of the immediate
Does a call to
pointInside:withEvent:inside thehitTest:withEvent:return YES?
Did you try doing this?
compiling rn ghost
immhi is unsurprisingly the high byte of the immediate

last time i checked one hex digit is only 16 values
aka 4 bit
so aim bigger






actually there are 17 bytes in a quadword

i suspect this question could be answered by reading the arm64 manual
imagine that

true
true
cpus are good at interpreting what humans want
cpus are good at interpreting what humans need
cpus are good at cumming
NSLog(@"NSLogify pointinside %d", %orig);
return %orig;
}
- (UIView *)hitTest:(CGPoint)point
withEvent:(UIEvent *)event{
NSLog(@"NSLogify %@ %@ %@", %orig, NSStringFromCGPoint(point), event);
return %orig;
}``` @twilit jungle this is what i am doing
running that in my sandbox rn
21.13 KB,
can't be fake
gm

we're going back to school in person tomorrow
it is, indeed, fr.png
Ig add your pointInside code back
but if i return self in point inside. it returns 1
and also sends views to hittest
so they are not null anymore
self in point inside... you mean YES.
self is overrated, use this
yea
true

it goes through my view and still returns the background view and window
it never returns my view

Is your view above the background view?
[self.view addSubview : self.respringView];``` self.view being the backgroundview
true
cant select reachability in flex
You don't have to select it
Just look at the view hierarchy and search reachability
:skin:
it all the way in the bottom of the subview array in background view
let stuff: Any? = nil
i messed up and did not see lol
[self.view bringSubviewToFront : self.respringView];
Subview of background view... and hitTest returns background view?
self addSubview
wot
i am not supposed to be adding it as a subview to the background view got it
No thats fine
Just trying to understand what hitTest is doing
yup still doing the same thing
gonna check the heirarchy
still all the way at the bottom
lmfao
so maybe when i am adding it to the front
someone else is adding themselves to the front after
me
Yeah so essentially you have this right?
SBReachabilityWindow
| SBReachabilityBackgroundView (SBReachabilityBackgroundViewController)
| | UIView <your custom view>
| | UIView <_hitTestBlockerView>
Or _hitTestBlockerView and your custom view is probably swapped
nope its still all the way the bottom
Where are you adding your new view?
Like what method are you calling your setup from?
- (id)initWithWallpaperVariant:(long long)arg1{ this method
because viewDidLoad wont NSLog

It should get called once

let me try again
It'll be called during init in this case since reachability background view controller's init is what is setting the view.
nope not getting called

yea this is why i went to the window

i'll be your one up girl
that song is catchy af
no idea what to do honestly rather than going back to the way i was doing it
but i feel wrong using that way
ngl
leviathan development corporation
tf is that lmao
Well using init is fine, just have to make sure your setup is called after _setupHitTestBlockerView
Or bring your subview to front after hit test blocker view is added.

:404:

true
by init you mean init with wallpaper varient method?
Yeah
time to smash my computer to pieces
oh wait
could i call a method that has a nstimer to call another method
so it gets called last 
Thats worse than hooking window
lmfaoooo
i know
man honestly idek at this point
i just want to try it to see if it works
It'll work as long as the device doesn't lag when reachability is getting initialized
your discord bugged

its still at the bottom 

@burnt niche What happens if you disable user interaction on the _hitTestBlockerView?
100% fake, canadians are too nice to do that
i am not sure but if i return nothing when setting up hittestblockerview. it makes it think that the phone is in the normal state even though its inreachability. and if i tap on reachability it will start tapping icons. sorry if that did not make any sense

i can try to set it as disabled
and the weirdos living on the east
Okay then what if you add your custom view as subview of that hit test blocker view?
hittest only returns background view and reachwindow
it's actually CNN tower but a letter fell off
ill try to add subview to the hit blocker
this is true
i want to die alone anyways
so it worked out
wtf
time to eat soap
tri i am coming to ur location
and sending you to bermuda
approaching shortly
wtf
so hamilton
or kitchener or something
even worse

fake canada
can i mshook _hitTestBlockerView from the bgvc? i dont see it
coming to fake vancouver
imagine living in maple syrup land
approaching YVR

the only yyz i wanna see is rush
@vivid dew could u pop by to the apple warehouse and ship my airpods faster please
send them to toronto pearson thank you


is there a Cmake variable that can add a header to a file
What does that mean?

it got deleted




char izard;
@gentle grove want to run more random executables
chariz
I have no computer rn so I can't
f
lol
[lol bringSubviewToFront : self.respringView];
``` and then this
Tomorrow
Don't need the bring to front part since it shouldn't have any other subviews but yes
I live in America
wtf
🇺🇸 MURICA
according to the international leviathan registry you live in antarctica
so its nil
For example if I wanted to have a flag like this add a header to a specific file when I compile my make files
"hm i have a problem building my project, i should use cmake"
this man now has 30 problems
u people spend more time in washington
i tried to do it from the viewcontroller for two weeks straight and i ended up going to the window lmfao
But what does adding a header to specific file mean? like force it to #include/#import?
yes
should i just go back to the window
Wtf
and forget that what i am doing is wrong lmao
That would be compiler specific, not cmake
I see
include your mom
include canada
Damn
ig, I'll have to figure out how reachability works some other time
#include <canada/bc>

Several people are typing...
lol
I got the code to compile earlier by setting the compiler to add the header to the needed file but unfortunately I cannot do that
Several people are typing...
#include <canada.h>
int main() {
while (1)
thank(everyone)
}
Its not bold
apologize(&everyone)
@twilit jungle is it fine if i do "cgrectcontainspoint" and if it does then call my method acting as a gesture recognizer. or should i make gesture reconginzers and make the point inside method convert point to my view?(which didnt work)

was gonna pin but we hit the limit
hm well im correct in britain
but who cares about the uk
gotta fix it for the american folk
actually i never tried to convert point from inside the hittest method
Procursus got me in pain
so i might try that
Uhh no, go back to hooking window + point inside. Which should get the hitTest to return your view. Then your view (UIView code) should be responsible for recognizing gestures and calling the corresponding method.
true
the sus is multipled the amount of page u have to scroll down
wait yes it did
pro
compiling cmake with cmake sucks ass
it returned my view but it never recongized the gestures
xd
unless i did it wrong
If hitTest returns your view then UIView code should be forwarding to your gesture.

let me test again
yes it returns my view and the backgroundview
but my gesture recognizer never gets called

no i have it set up so reachability does not dismiss
-(void)_setKeepAliveTimer{}
-(void)_tapToDeactivateReachability:(id)arg1 {}
-(void)deactivateReachability{}
%end```

so if i tap anywhere in reachability, it does not dismiss reachability
Get rid of that, and check if it dismisses.
oaky
If its dismissing on tapping your view then something else is hijacking the events
@#
anyone wanna buy 1.67 meter skis

if i dont setup blockerview. i tap on random shit on the screen 
i could get rid of it and try to implement my own blockerview
which sounds a lil confusing
and probably not a good way
Nah that would be redundant, well depends on how you implement it but you'd end up doing the same thing + make it not block events going to your custom views.
But if you can re-implement it then go for it
probably not fit for it honestly
i get i can just do point inside
the problem with that is if the user holds the view. it still registers as a tap
so if u touch it, ur basically fucked
Yeah which is why you need gestures
Reimplementing the blocker view might be the best option you have right now, assuming gestures work on that blocker view currently.
no idea if they do
true
not sure if its the one on top even
i recommended imgupload to an r/datahoarder user today
i am just going to sleep and try next week
Lmao
with that approach
imgupload can do the fancy invisible path thingy now btw
or i might just leave it for later and start making my tweak 
will be fixed in 1.0.1
lmao
but i knows ome ppl like it
thanks ghost for all your help
No
The invisible thing is fully forwards and backwards compatible
That invisible url is going to https://img.bbaovanc.com/XUpCdYXk.png
I copied the idea from pays.host
@half walrus
oh dear
I’m not sure if cygwin was ever released for win9x
if it was, it’ll all be like 2006-era binaries or some shit
however there was 4DOS, which was kind of a very early version of msys
first released in 1989
I mean those 1989 binaries probably even work on Win98
ok I’m wrong 4DOS is very different and not vaguely POSIX compliant at all
back when POSIX was relevant lmao
ok, msys does run on win9x, super quick google showed up a random post about a build from 2002 lol https://sourceforge.net/p/mingw/mailman/mingw-msys/?viewmonth=200207
have fun then, if you can even find any builds that old





















