React Native Hermes 反编译

本文介绍了Hermes,ReactNative中的优化引擎,如何通过启用它来提升应用性能。同时提到Hermes默认从0.70版开始启用,以及如何使用官方提供的hbcdump和开源工具hbctool进行代码反编译和回编译,解决安装过程中遇到的问题。
摘要由CSDN通过智能技术生成

Hermes 是专门针对 React Native 应用而优化的全新开源 JavaScript 引擎。对于很多应用来说,启用 Hermes 引擎可以优化启动时间,减少内存占用以及空间占用。从 React Native 0.70 版本开始 Hermes 已经默认启用,无需开发者再做任何配置。

也就说在0.70 后基本上 index.android.bundle是Hermes的bytecode,没办法直接查看源码,需要借助其他工具进行反编译。

Hermes官方提供了hbcdump工具,可以进行反编译,但使用起来比较麻烦,有另一个开源工具hbctool可以对hermesbytecode进行反编译与回编译

https://github.com/bongtrop/hbctool 提供了59, 62, 74, 76版本的反编译

https://github.com/niosega/hbctool/tree/draft/hbc-v84 对84版本的Hermes进行补充

安装可以反编译84版本的hbctool

pip install https://github.com/niosega/hbctool/archive/ac6fabb69a7229ed9764997d153d4f703d1381aa.zip

反编译

hbctool disasm index.android.bundle bundle

回编译

hbctool asm bundle index.android.bundle.re

这里我安装的时候出现了一个问题 :

-bash: hbctool: command not found

并没有自动配置全局命令

这时候可以去看下 pip install 完成后的日志

在这里插入图片描述

这个就是安装路径,进入到该文件夹:
执行 python3 __init__.py 等同于执行 hbctool

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值