/var/stash/Applications.BTFCTa/MobilePhone.app
. Let's use the class-dump
utility and get a list of class prototypes. ➜ class-dump -H -o MobilePhone MobilePhone.app
➜ ls | grep -i "key" PHStarkInCallKeypadViewController.h TPDialerKeypadDelegate-Protocol.h
TPDialerKeypadDelegate-Protocol.h
turned out to be quite interesting. In it, as you can see, describes the methods responsible for pressing the buttons. #import "NSObject.h" @protocol TPDialerKeypadDelegate <NSObject> @optional - (void)phonePad:(id)arg1 dialerCharacterButtonWasHeld:(unsigned int)arg2; - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2; - (void)phonePadDidEndSounds:(id)arg1; - (void)phonePadWillBeginSounds:(id)arg1; - (void)phonePad:(id)arg1 keyUp:(BOOL)arg2; - (void)phonePad:(id)arg1 keyDown:(BOOL)arg2; - (void)phonePadDeleteLastDigit:(id)arg1; - (void)phonePad:(id)arg1 appendString:(id)arg2; @end
➜ grep -l -r "TPDialerKeypadDelegate" . ./DialerController.h ./InCallController.h ./PHEmergencyDialerViewController.h ./PHHandsetDialerView.h ./TPDialerKeypadDelegate-Protocol.h
DialerController
is the class we need, and phonePad:replaceLastDigitWithString:
is the method we need. You can verify this by writing the following code: #import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { %log; %orig(arg1, arg2); } %end
<Warning>: -[<DialerController: 0x165e91e0> phonePad:<TPDialerNumberPad: 0x1677fc40; baseClass = UIControl; frame = (28 84; 264 296); opaque = NO; layer = <CALayer: 0x1677f1d0>> replaceLastDigitWithString:+]
DialerController
. #import "PhoneViewController.h" #import "ABNewPersonViewControllerDelegate.h" #import "ABPeoplePickerNavigationControllerDelegate.h" #import "DialerViewDelegate.h" #import "TPDialerKeypadDelegate.h" #import "UIActionSheetDelegate.h" @class NSString, NSTimer, PHAbstractDialerView, UINavigationController; @interface DialerController : PhoneViewController <ABNewPersonViewControllerDelegate, ABPeoplePickerNavigationControllerDelegate, DialerViewDelegate, UIActionSheetDelegate, TPDialerKeypadDelegate> { PHAbstractDialerView *_dialerView; UINavigationController *_newContactNavigationController; NSTimer *_deleteTimer; NSTimer *_lookupTimer; NSString *_lastDialedNumberCache; NSString *_myPrefix; int _shouldUseMyPrefixAsHint; unsigned int _calledNumber:1; unsigned int _didDeleteRepeat:1; unsigned int _dtmfPlaying; int _dialerType; } + (id)defaultPNGName; + (id)tabBarIconName; + (id)tabBarIconImageSelected; + (id)tabBarIconImage; + (id)tabBarIconImageName; + (int)tabViewType; + (BOOL)launchFieldTestIfNeeded:(id)arg1; + (BOOL)shouldStringAutoDial:(id)arg1 givenLastChar:(BOOL)arg2; @property int dialerType; // @synthesize dialerType=_dialerType; @property(readonly) PHAbstractDialerView *dialerView; // @synthesize dialerView=_dialerView; - (void)_statusBarHeightChanged:(id)arg1; - (void)_handleSIMInsertionOrRemoval; - (void)performDeleteAction; - (void)performCallAction; - (void)_deleteButtonDown:(id)arg1; - (void)_deleteButtonClicked:(id)arg1; - (void)_stopDeleteTimer; - (void)_startDeleteTimer; - (void)_deleteRepeat; - (void)peoplePickerNavigationController:(id)arg1 insertEditorDidConfirm:(BOOL)arg2 forPerson:(void *)arg3; - (BOOL)peoplePickerNavigationController:(id)arg1 shouldShowInsertEditorForPerson:(void *)arg2 insertProperty:(int *)arg3 copyInsertValue:(id *)arg4 copyInsertLabel:(id *)arg5; - (BOOL)peoplePickerNavigationController:(id)arg1 shouldContinueAfterSelectingPerson:(void *)arg2 property:(int)arg3 identifier:(int)arg4; - (BOOL)peoplePickerNavigationController:(id)arg1 shouldContinueAfterSelectingPerson:(void *)arg2; - (void)peoplePickerNavigationControllerDidCancel:(id)arg1; - (void)newPersonViewController:(id)arg1 didCompleteWithNewPerson:(void *)arg2; - (void)actionSheet:(id)arg1 clickedButtonAtIndex:(int)arg2; - (void)_dismissNewContactView:(BOOL)arg1; - (void)actionSheet:(id)arg1 didDismissWithButtonIndex:(int)arg2; - (void)_addButtonClicked:(id)arg1; - (void)_addToExistingContact; - (void)_addToNewContact; - (id)_qualifyNumberIfNecessary:(id)arg1; - (void *)_newPersonWithValue:(id)arg1 forMultiValueProperty:(int)arg2; - (void)_hideNewContactView; - (void)_showNewContactView; - (void)_dialVoicemail; - (void)phonePad:(id)arg1 keyUp:(BOOL)arg2; - (void)phonePad:(id)arg1 keyDown:(BOOL)arg2; - (void)phonePadDidEndSounds:(id)arg1; - (id)_myPrefix; - (BOOL)_shouldUseMyPrefixAsHint; - (void)phonePadDeleteLastDigit:(id)arg1; - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2; - (void)_phonePad:(id)arg1 appendString:(id)arg2 suppressClearingDialedNumber:(BOOL)arg3; - (void)phonePad:(id)arg1 appendString:(id)arg2; - (void)phonePad:(id)arg1 dialerCharacterButtonWasHeld:(unsigned int)arg2; - (void)starkInCallViewControllerAppearedNotification:(id)arg1; - (void)_callButtonPressed:(id)arg1; - (void)_callButtonLongPress; - (void)_updateCallButtonEnabledState:(id)arg1; - (void)_updateLCDNameLabelWithOriginallyPastedString:(id)arg1; - (void)_updateLCDNameLabelWithAMatchingName:(BOOL)arg1; - (void)_updateCallButtonEnabledState:(id)arg1 updateNameNow:(BOOL)arg2; - (void)dialerView:(id)arg1 stringWasPasted:(id)arg2; - (void)dialerViewTextDidChange:(id)arg1; @property(retain) NSString *lastDialedNumber; - (void)_getPersonName:(id *)arg1 personLabel:(id *)arg2 personUID:(int *)arg3 forPhoneNumberString:(id)arg4; - (void)_updateName; - (void)_stopLookupTimer; - (BOOL)shouldSnapshot; - (void)prepareForSnapshot; - (void)_clearDisplayIfNecessary; - (void)dealloc; - (id)initWithDialerType:(int)arg1; - (void)applicationDidResume; - (void)viewDidDisappear:(BOOL)arg1; - (void)viewWillDisappear:(BOOL)arg1; - (void)viewDidAppear:(BOOL)arg1; - (void)viewWillAppear:(BOOL)arg1; - (BOOL)_isFirstLaunchFromDefaultPNGToDialer; - (BOOL)isShowingDoubleHeightStatusBar; - (void)unloadView; - (void)didReceiveMemoryWarning; - (void)dialerViewPhoneNumberWasTapped:(id)arg1; - (void)loadView; @end
_dialerView
variable and the PHAbstractDialerView
class. #import "UIView.h" #import "DialerLCDFieldDelegate.h" @class UIControl, UIView<DialerLCDFieldProtocol>, UIView<TPDialerKeypadProtocol>; @interface PHAbstractDialerView : UIView <DialerLCDFieldDelegate> { BOOL _inCallMode; UIView<DialerLCDFieldProtocol> *_lcdView; UIView<TPDialerKeypadProtocol> *_phonePadView; id <DialerViewDelegate> _delegate; UIControl *_addContactButton; UIControl *_callButton; UIControl *_deleteButton; } @property(retain, nonatomic) UIControl *deleteButton; // @synthesize deleteButton=_deleteButton; @property(retain, nonatomic) UIControl *callButton; // @synthesize callButton=_callButton; @property(retain, nonatomic) UIControl *addContactButton; // @synthesize addContactButton=_addContactButton; @property(nonatomic) id <DialerViewDelegate> delegate; // @synthesize delegate=_delegate; @property(retain, nonatomic) UIView<TPDialerKeypadProtocol> *phonePadView; // @synthesize phonePadView=_phonePadView; @property(retain, nonatomic) UIView<DialerLCDFieldProtocol> *lcdView; // @synthesize lcdView=_lcdView; @property(nonatomic) BOOL inCallMode; // @synthesize inCallMode=_inCallMode; - (void)dialerField:(id)arg1 stringWasPasted:(id)arg2; - (void)dialerLCDFieldTextDidChange:(id)arg1; - (void)dealloc; @end
UIView *_lcdView, DialerLCDFieldProtocol .
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
view UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )
, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )
, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )
, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )
, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
UIView *_lcdView, DialerLCDFieldProtocol
.
DialerLCDFieldProtocol-Protocol.h #import "NSObject.h" @protocol DialerLCDFieldProtocol <NSObject> - (void)setDelegate:(id)arg1; - (void)setHighlighted:(BOOL)arg1; - (BOOL)highlighted; - (void)setInCallMode:(BOOL)arg1; - (BOOL)inCallMode; - (void)deleteCharacter; - (void)setText:(id)arg1 needsFormat:(BOOL)arg2; - (id)text; @optional - (void)setText:(id)arg1 needsFormat:(BOOL)arg2 name:(id)arg3 label:(id)arg4; - (void)setName:(id)arg1 numberLabel:(id)arg2; @end
setText:needsFormat:
text
. !
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); NSLog(@"text: %@", currentText); objc_msgSend(lcdView, @selector(setText:needsFormat:), @"+375123456789", YES); } %end
'0' , :
<Warning>: text: (0 )

, . .
#import <substrate.h> %hook DialerController - (void)phonePad:(id)arg1 replaceLastDigitWithString:(id)arg2 { id dialerView = MSHookIvar<id>(self, "_dialerView"); id lcdView = MSHookIvar<id>(dialerView, "_lcdView"); NSString *currentText; currentText = objc_msgSend(lcdView, @selector(text)); currentText = [currentText stringByReplacingOccurrencesOfString:@"(" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@")" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@"-" withString:@""]; currentText = [currentText stringByReplacingOccurrencesOfString:@" " withString:@""]; if ([arg2 isEqualToString:@"+"] && currentText.length && [currentText characterAtIndex:currentText.length - 1] == '0') { currentText = [currentText stringByReplacingCharactersInRange:NSMakeRange(currentText.length - 1, 1) withString:@"+"]; objc_msgSend(lcdView, @selector(setText:needsFormat:), currentText, YES); } else { %orig(arg1, arg2); } } %end
, , , ()-
.
github .
, http://gennick.ru/cydia/ . Plus4Belarus.
iPhone 4 iPhone 5 c 7.0.4.
Source: https://habr.com/ru/post/209990/
All Articles