简单记录camera postproc因configureRpcThreadpool崩溃解决方法
侧边栏壁纸
  • 累计撰写 7 篇文章
  • 累计收到 2 条评论

简单记录camera postproc因configureRpcThreadpool崩溃解决方法

ReallySnow
2023-08-28 / 0 评论 / 64 阅读 / 正在检测是否收录...

因为在Android 12+之后已经不允许shrinking threadpool,如提交所示,从而导致相机崩溃。

修复

我们可以用IDA定位到configThreadpool
(_ZN7android8hardware22configureRpcThreadpoolEmb) 的位置,如下
photo_2023-08-28_22-18-49 (2).jpg
然后我们选定它,然后Edit > Patch program > Change byte...
然后可以看到

BL     ._ZN7android8hardware22configureRpcThreadpoolEmb

它的HEX是1F 20 03 D5(部分blobs可能不一样,具体情况得汇编分析)
photo_2023-08-28_22-19-43.jpg
我们将

BL     ._ZN7android8hardware22configureRpcThreadpoolEmb

改为NOP,对应的HEX是1F 20 03 D5
photo_2023-08-28_22-21-33.jpg
修正完成后如图
photo_2023-08-28_22-21-39.jpg

extract-files配置

function blob_fixup() {
    case "${1}" in
        vendor/lib64/[email protected])
            hexdump -ve '1/1 "%.2X"' "${2}" | sed "s/210080521F0A0094/210080521F2003D5/g" | xxd -r -p > "${TMPDIR}/${1##*/}"
            mv "${TMPDIR}/${1##*/}" "${2}"
            ;;
    esac
}

function blob_fixup() {
    case "${1}" in
        vendor/lib64/[email protected])
            "${SIGSCAN}" -p "1F 0A 00 94" -P "1F 20 03 D5" -f "${2}"
            ;;
    esac
}

参考:
https://github.com/LineageOS/android_device_xiaomi_gauguin/commit/07987caaf4d4fe35a7ada7fdd90cb567faf115b0
https://github.com/LineageOS/android_device_oneplus_sm8250-common/commit/901baf95a955903be7138467e4d0082efd26ae1c

2

评论 (0)

取消