二进制文件OC符号恢复求助

啥 app ?使用 restore_symbol 报啥错?

没有报错 新生成的二进制文件反汇编还是看不到oc类信息

1 个赞

dy?做了AntiClassDump吧

可能是啊 还没找到解决办法

1 个赞

导出头文件 .h里面全是空的,这是什么操作

某音吗哈哈哈

你所面对的的方案,可能就是4ch12dy大佬搞的

1 个赞

等一个怎么搞得教程

1 个赞

我觉得可以lldb导出,有时间的同学可以试验一下

建议给dump出的头文件每个load方法下一个断点,然后打印一下 _shortMethodDescription

1 个赞

字节家好几个产品都如此了,某小说也是

1 个赞

***** 可执行文件才 70+KB,里面的确没有OC方法的信息。
*****Core.framework 动态库 200+MB,明显逻辑放这里面了吧,里面有 OC 方法信息。

对 ***** 做符号恢复当然没用,可以对 *****Core 进行操作。

一个个谜语人 :sweat_smile:,整的我也好怕,这也没干啥呀 :joy:

就是*wemeCore,自己试试看看吧

1 个赞

是啊,就是什么都没干啊,哈哈哈哈

1 个赞

原理跟windows的隐藏输入表原理一样,这个app是在dylib的类load方法里面把加密的字符串,符号,类方法属性等数据恢复回指定位置,在app运行后dump出数据自己处理重新组合到mach-o文件即可让ida正常解析,需要简单了解下mach-o文件结构

1 个赞

动态导出然后写入到文件, 但比不上class-dump, 至少能看了

+ (NSString *)dumpTargetClass:(NSString *)cls_name {
    Class cls = objc_getClass([cls_name UTF8String]);
    NSLog(@"≥ cls %@", cls);
    id ret = [cls performSelector:@selector(_methodDescription)];
    NSLog(@"≥ %@", ret);
    NSMutableString *str = [[NSMutableString alloc]init];
    [str appendString:ret];
    return str;
}
5 个赞

这个得提前获取到所有的类名才能导出来是么?

是的, 不过这是个笨办法, 你也可以基于这个改改

frida可以获取所有类名和方法

楼主现在找到方法恢复了不