FLEXTool / FLEX

An in-app debugging and exploration tool for iOS
Other
14.08k stars 1.7k forks source link

Crash when accessing Keychain on WhatsApp (Unable to parse non-NSString) #545

Closed yur1xpp closed 3 years ago

yur1xpp commented 3 years ago

Environment

Bug Report

Looks like when trying to pupulate the tableview cells in Keychain controller caused the crash as it's of class NSData instead of NSString:

Process: WhatsApp
Bundle id: net.whatsapp.WhatsApp
Device: iPhone X, iOS 14.3
Bundle version: 2.21.131
Exception type: NSInvalidArgumentException
Reason: -[__NSCFData isEqualToString:]: unrecognized selector sent to instance 0x282c04f10
Culprit: libFLEX.dylib
Call stack:
0   CoreFoundation                      0x000000019dbd19ec 0x19dab7000 + 0x11a9d8        // __exceptionPreprocess
1   libobjc.A.dylib                     0x00000001b1f3ab54 0x1b1f34000 + 0x6b54          // objc_exception_throw
2   CoreFoundation                      0x000000019dae1bbc 0x19dab7000 + 0x2abbc         // -[NSOrderedSet initWithSet:copyItems:]
3   CoreFoundation                      0x000000019dbd401c 0x19dab7000 + 0x11d01c        // ___forwarding___
4   CoreFoundation                      0x000000019dbd5f8c 0x19dab7000 + 0x11ef8c        // _CF_forwarding_prep_0
5   UIKitCore                           0x00000001a05d06d8 0x19f90c000 + 0xcc46d8        // -[UITableViewLabel setText:]
6   libFLEX.dylib                       0x0000000107b58e1c 0x107ad0000 + 0x88e1c         // __42-[FLEXKeychainViewController makeSections]_block_invoke
7   libFLEX.dylib                       0x0000000107ae7984 0x107ad0000 + 0x17984         // -[FLEXMutableListSection configureCell:forRow:]
8   libFLEX.dylib                       0x0000000107ae06a0 0x107ad0000 + 0x106a0         // -[FLEXFilteringTableViewController tableView:cellForRowAtIndexPath:]
9   UIKitCore                           0x00000001a064e6f8 0x19f90c000 + 0xd426f8        // -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:]
10  UIKitCore                           0x00000001a061c178 0x19f90c000 + 0xd10178        // -[UITableView _updateVisibleCellsNow:]
11  UIKitCore                           0x00000001a06395cc 0x19f90c000 + 0xd2d5cc        // -[UITableView layoutSubviews]
12  UIKitCore                           0x00000001a0944448 0x19f90c000 + 0x1038448       // -[UIView(CALayerDelegate) layoutSublayersOfLayer:]
13  QuartzCore                          0x00000001a0e49f2c 0x1a0cf4000 + 0x155f2c        // -[CALayer layoutSublayers]
14  QuartzCore                          0x00000001a0e504d0 0x1a0cf4000 + 0x15c4d0        // CA::Layer::layout_if_needed(CA::Transaction*)
15  QuartzCore                          0x00000001a0e5b820 0x1a0cf4000 + 0x167820        // CA::Layer::layout_and_display_if_needed(CA::Transaction*)
16  QuartzCore                          0x00000001a0da7160 0x1a0cf4000 + 0xb3160         // CA::Context::commit_transaction(CA::Transaction*, double, double*)
17  QuartzCore                          0x00000001a0dd1324 0x1a0cf4000 + 0xdd324         // CA::Transaction::commit()
18  UIKitCore                           0x00000001a046a5a8 0x19f90c000 + 0xb5e5a8        // _afterCACommitHandler
19  CoreFoundation                      0x000000019db5087c 0x19dab7000 + 0x9987c         // __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
20  CoreFoundation                      0x000000019db4af50 0x19dab7000 + 0x93f50         // __CFRunLoopDoObservers
21  CoreFoundation                      0x000000019db4b498 0x19dab7000 + 0x94498         // __CFRunLoopRun
22  CoreFoundation                      0x000000019db4aba0 0x19dab7000 + 0x93ba0         // CFRunLoopRunSpecific
23  GraphicsServices                    0x00000001b4888598 0x1b4885000 + 0x3598          // GSEventRunModal
24  UIKitCore                           0x00000001a043a3d8 0x19f90c000 + 0xb2e3d8        // -[UIApplication _run]
25  UIKitCore                           0x00000001a043f958 0x19f90c000 + 0xb33958        // UIApplicationMain
26  WhatsApp                            0x0000000101103154 WhatsApp + 4714836
27  libdyld.dylib                       0x000000019d829568 0x19d828000 + 0x1568          // start
NSExceptional commented 3 years ago

Please update to 4.4.1, I believe this was fixed. Please reopen this issue if the crash persists

yur1xpp commented 3 years ago

They're indeed fixed in 4.4.1, didn't notice this since the repo is still on 4.4.0, sorry about that.

NSExceptional commented 3 years ago

You sure? My repo has a 4.1.1 package on it, are you able to see it?

yur1xpp commented 3 years ago

I just double checked, it's still on 4.4.0, neither Zebra nor Installer shows there's any update either.

Repo: https://nscake.github.io/ https://imgur.com/a/sWznzTQ

NSExceptional commented 3 years ago

Oh I bet I forgot to push it. Oops. My repo is a GitHub repo. Check back sometime tomorrow

— Tanner Bennett On Jul 26, 2021, 12:51 AM -0500, yur1xpp @.***>, wrote:

I just double checked, it's still on 4.4.0, neither Zebra not Installer shows there's any update either. Repo: https://nscake.github.io/ https://imgur.com/a/sWznzTQ — You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.

Abod05575 commented 3 years ago

https://nscake.github.io