Unity查安卓Native Crash的方法,定位SO报错函数

需要用到两个工具Il2CppDumper和IDA_Pro,网上可以下到对应的软件

可以看到报错的位置是libil2cpp.so 0000000000AFF820

接下来要做的事情就是找到0000000000AFF820对应的函数是哪个

解包

Il2CppDumper解析so文件和符号表,查看对应的函数表

把apk后缀改成zip后解压,获得包内的libil2cpp.so和global-metadata.dat

两个文件路径分别是

lib\arm64-v8a\libil2cpp.so

和assets\bin\Data\Managed\Metadata\global-metadata.dat(这里取arm64-v8a的文件是根据之前报错日志的显示的架构选择的)

打开Il2CppDumper,先选libil2cpp.so,再选global-metadata.dat

如果成功的话会输出

Dumping...

Done!

Generate script...

Done!

Generate dummy dll...

Done!

然后在Il2CppDumper所在的目录,可以看到dump.cs,这个就是函数表文件

IDA PRO解析SO文件,查看对应报错的函数

打开IDA PRO,把libil2cpp.so拖进去,选择ARM64

按G弹出跳转框

根据之前堆栈的地址

#20 pc 0000000000AFF820 lib/arm64/libil2cpp.so

输入AFF820 跳转到指定位置

可以看到sub_82EB84。sub后面的82EB84就是函数地址

 在之前的解出的函数表dump.cs搜索82EB84

找到对应的函数,之后通过相同的方式可以找到其他报错函数,可以获得整个调用的函数堆栈。

注意有的时候跳转到对应的行会出现以下的情况,这是因为IDA解析较慢,有时候还未解析出来,可以再等一等 

相关推荐

  1. 第三方app调用system/lib库问题

    2023-12-26 10:08:03       9 阅读
  2. 使用so

    2023-12-26 10:08:03       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 10:08:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 10:08:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 10:08:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 10:08:03       18 阅读

热门阅读

  1. Python爬虫---解析---BeautifulSoup

    2023-12-26 10:08:03       39 阅读
  2. http请求超时 ,用PHP如何解决的?

    2023-12-26 10:08:03       35 阅读
  3. MySQL联合索引

    2023-12-26 10:08:03       34 阅读
  4. Docker资源

    2023-12-26 10:08:03       30 阅读
  5. 制作spring boot docker镜像Dockerfile文件编写

    2023-12-26 10:08:03       34 阅读
  6. StarRocks-3.1.6升级

    2023-12-26 10:08:03       25 阅读
  7. PAT.1101.QuickSort

    2023-12-26 10:08:03       29 阅读
  8. 每日一水:leetcode1576.替换所有的问号

    2023-12-26 10:08:03       38 阅读