需求: 使用restore-symbol恢复符号表,通过iOS App Signer重签名WhatsApp应用, 安装后闪退,签名证书为企业证书.
日志: crash日志,已上传WhatsApp.crash (59.0 KB)
操作步骤:
- app store 下载WhatsApp,脱壳处理
- 使用restore-symbol恢复符号表
- 使用iOS App Signer 重签名
- 安装成功后,启动应用闪退
环境: iOS 9.3.3 越狱
需求: 使用restore-symbol恢复符号表,通过iOS App Signer重签名WhatsApp应用, 安装后闪退,签名证书为企业证书.
日志: crash日志,已上传WhatsApp.crash (59.0 KB)
操作步骤:
环境: iOS 9.3.3 越狱
补充一下,后面又测试了一下, app store下载的包通过frida-ios-dump工具直接脱壳,脱壳后的app包不做任何修改,直接通过mobiledevice安装,也是闪退.
这有个Assert
4 Core 0x101b7d054 0x101900000 + 2609236
0 CoreFoundation | 0x18280adb0 __exceptionPreprocess + 124 |
---|---|
1 libobjc.A.dylib | 0x181e6ff80 objc_exception_throw + 55 |
2 CoreFoundation | 0x18280ac80 +[NSException raise:format:arguments:] + 107 |
3 Foundation | 0x1831901c0 -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 87 |
4 Core | 0x101b7d054 0x101900000 + 2609236 |
5 libdispatch.dylib | 0x18225547c _dispatch_client_callout + 15 |
6 libdispatch.dylib | 0x1822562c0 dispatch_once_f + 79 |
7 Core | 0x101b7cf40 0x101900000 + 2608960 |
8 Core | 0x101d11000 0x101900000 + 4263936 |
9 Core | 0x101d10250 0x101900000 + 4260432 |
10 WhatsApp | 0x10094d874 0x100018000 + 9656436 |
11 Core | 0x101d11cfc 0x101900000 + 4267260 |
12 WhatsApp | 0x100b60398 0x100018000 + 11830168 |
检查到异常 assert 了
app包里确实有一个Assert.car文件,但是是自带的没做过处理,一般这种情况怎样处理,小白不太了解,
第二个疑问就是,请教一下前辈是如何定位到问题所在的…
是的,包里有一个Assert.car文件.但是是自带的没处理也有问题吗,同楼上的问题,请教前辈什么思路定位到问题所在的,还有就是如何解决一下,望回复,十分感谢
神仙跨服聊天
一个是断言
一个是图片素材包
app文件下载到AppGroupp路径,重签app,自然找不到文件了。
原来是这个意思,知识储备薄弱,理解错了,十分感谢回复
你好,刚接触逆向没多久,所以一些隐含的意思get不到,请问您说的路径的问题是指的什么问题,
App Groups网上查询下就知道了;
NSURL *groupURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.simon.app.test"];
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.company.appGroupName"];
App Groups 的相关内容我查资料了解过,我的疑问是,App Groups 不应该会导致直接crash, 我是按照AloneMonkey @AloneMonkey 大佬的<iOS应用逆向与安全>的操作搞的,
whatsApp 会将一部分文件保存在app Group中,重签后app无法找到原来的App Group路径;
无法保存文件也无法获取文件。
// hook AppGroup 重定向
%hook NSUserDefaults
-(id)initWithSuiteName:(NSString *)suitename
{
DLog (@"======>>>>>> SuiteName orig → %@",suitename);
if([suitename isEqualToString:@"group.net.whatsapp.WhatsAppSMB.shared"])
{
suitename =@"group.com.x1";
}
if([suitename isEqualToString:@"group.net.whatsapp.WhatsApp.shared"])
{
suitename =@"group.com.x2";
}
if([suitename isEqualToString:@"group.net.whatsapp.WhatsApp.private"])
{
suitename =@"group.com.x3";
}
if([suitename isEqualToString:@"group.com.facebook.family"])
{
suitename =@"group.com.x4";
}
DLog (@"======>>>>>> SuiteName new -> %@",suitename);
id r = %orig;
return r;
}
-(id)_initWithSuiteName:(NSString *)suitename container:(id)path
{
DLog (@"======>>>>>> _initWithSuiteName orig -> %@,path -> %@",suitename,path);
id r = %orig;
return r;
}
%end
%hook NSFileManager
-(NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier
{
NSLog (@"======>>>>>> groupIdentifier → %@",groupIdentifier);
if([groupIdentifier isEqualToString:@“group.net.whatsapp.WhatsAppSMB.shared”])
{
groupIdentifier =@“group.com.x1”;
}
if([groupIdentifier isEqualToString:@“group.net.whatsapp.WhatsApp.shared”])
{
groupIdentifier =@“group.com.x2”;
}
if([groupIdentifier isEqualToString:@“group.net.whatsapp.WhatsApp.private”])
{
groupIdentifier =@“group.com.x3”;
}
if([groupIdentifier isEqualToString:@“group.com.facebook.family”])
{
groupIdentifier =@“group.com.x4”;
}
NSURL * path = %orig;
NSLog (@"======>>>>>> groupIdentifier path-> %@",path);
return path;
}
%end
太强了字数补丁
使用这个hook之后,还是崩溃
__pthread_kill + 8 frame #1: 0x00000001cb074094 libsystem_pthread.dylib
pthread_kill$VARIANT$mp + 380abort + 140 frame #3: 0x00000001ca620788 libc++abi.dylib
abort_message + 132default_terminate_handler() + 308 frame #5: 0x00000001ca637e00 libobjc.A.dylib
_objc_terminate() + 124std::__terminate(void (*)()) + 16 frame #7: 0x00000001ca62c8c4 libc++abi.dylib
std::terminate() + 84objc_terminate + 12 frame #9: 0x00000001cae9d7e8 libdispatch.dylib
_dispatch_client_callout + 36_dispatch_once_callout + 28 frame #11: 0x00000001025a835c Core
WASharedDirectoryURL + 56WAMenuItemImageInCoreForName + 26392 frame #13: 0x00000001026f0908 Core
WAMenuItemImageInCoreForName + 23600_mh_execute_header + 7110452 frame #15: 0x00000001026f1e60 Core
WAProcessInit + 68======>>>>>> groupIdentifier path-> (null)
默认 18:13:13.046448 +0800 WhatsApp *** Assertion failure in NSURL * _Nonnull WASharedDirectoryURL(void)_block_invoke(), /Users/radermacher/Development/iphone/Core/Core/Source/Global/WAContext.m:75
默认 18:13:13.143229 +0800 WhatsApp *** Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘No shared app group’
[/quote]
groupIdentifier =@“group.com.x1”; 写自己的groupIdentifier