IDA 显示 MEMORY[0x196F8B260](*(_QWORD *)(a1 + 40), 0LL);


#1

分析 某 动态库 , F5 后 显示大量“MEMORY[0x196F8B260](*(_QWORD *)(a1 + 40), 0LL);” 类似代码。在选中 0x196F8B260 地址 跳转后,提示跳转失败。出现这种情况的原因可能是什么呢?是缺少 binary 文件吗?

如下:
void __fastcall __noreturn -[MCMContainer url](__int64 a1)
{
  __int64 v1; // x19
  __int64 v2; // x0
  v1 = MEMORY[0x196F8B260](*(_QWORD *)(a1 + 40), 0LL);
  if ( v1 )
  {
      v2 = MEMORY[0x196F887D0](off_1A687A1B8, off_1A687A0D0, v1, 1LL, 0LL);
      MEMORY[0x196F887E8](v2);
   }
  JUMPOUT(0x196F887A8uLL);
}


#3

有样本嘛 想看看


#6

installd (945.1 KB)
MobileContainerManager (40 KB)
这是这两个bin文件。出现上述问题的是 MobileContainerManager 库。也搞不懂为什么,lldb 下完断点,进程就异常,也断不下来,也不报错


#8

installd还好。MobileContainerManager 分析出来就是上面的那个样子,难道 这个私有库也是 混淆过的?


#9

那应该不会,感觉像你的dyld cache的问题


#10

dsc_fix


#11

你的库是从 dyld_shared_cache 提取出来的,如果符号不是当前的 dylib 就会显示成这种


#12

明白了,thanks


#13

thanks


#14

确实是,现在明白了,感谢指导


#15

我用dsc_extractor提取出来的Mach-O文件放到IDA中也会出现MEMORY[0x196F8B260]这种情况,然后按照上面的方法执行dsc_fix会出现如下错误:

dsc_fix.py: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/Applications/IDA Pro 6.95/idaq64.app/Contents/MacOS/python/ida_idaapi.py", line 509, in IDAPython_ExecScript
    execfile(script, g)
  File "/Users/nikias/coding/dsc_fix/dsc_fix.py", line 760, in <module>
    main()
  File "/Users/nikias/coding/dsc_fix/dsc_fix.py", line 745, in main
    map_shared_bridges(dsc_file, adrfind)
  File "/Users/nikias/coding/dsc_fix/dsc_fix.py", line 629, in map_shared_bridges
    label_and_fix_branch_islands(dsc_file, adrfind, jmp_to_code)
  File "/Users/nikias/coding/dsc_fix/dsc_fix.py", line 645, in label_and_fix_branch_islands
    dylib_path, dsc_offset, macho_offset = res
TypeError: 'NoneType' object is not iterable

也有人提Issues,但没人解决。

那问题来了,有哪位大佬知道这个改咋解决吗?简单的python还能连猜带蒙,dsc_fix这种就完全懵逼了:joy:


#16

这个dsc_fix 对iOS12的dyld_shared_cache 不起作用


#17

遇到同样问题,不知道楼主解决了没有,据说IDA7.2解决了这个问题


#18

我是用上面的工具,是有点用的


#19

我也是用那个ida 的py脚本 会报错 提示 You forgot to call set_processor_type().用的是IDA7.0版本, dyld_shared_cache 是iOS12 系统导出的.请问楼主是什么环境下成功的.