Information Security/iOS
Add UIButton on ViewController Tweak
hackcatml
2022. 2. 13. 11:48
반응형
FlexAll로 최상단 ViewController를 특정한 다음 해당 ViewController를 후킹하여 버튼을 띄우도록 함니다.
예시 앱의 최상단 ViewController는 UIEditingOverlayViewController 입니다.
최상단 ViewController를 후킹하여 UIButton을 추가하는 트윅을 작성합니다.
#import <QuartzCore/QuartzCore.h>
@interface UIEditingOverlayViewController : UIViewController
@end
%hook UIEditingOverlayViewController
- (void)loadView {
%orig;
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
// button title, color
[btn setTitle:@"hackcatml!" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor whiteColor]];
// add button touch action
[btn addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchDown];
btn.frame = CGRectMake(10, 10, 100, 30);
// button border color, thickness
[btn.layer setBorderColor:[[UIColor blackColor] CGColor]];
btn.layer.borderWidth = 1.0f;
// add button
[self.view addSubview:btn];
}
// button action
%new
-(void)myAction:(UIButton* )sender {
NSLog(@"[hackcatml] uibutton test");
}
%end
UIButton이 추가된 것을 확인할 수 있습니다.
※ 출처
https://github.com/DGh0st/FLEXall (FlexAll github)
https://qiita.com/SsS136/items/ddbf5805205dba2d6504 (Add UIButton)
반응형