bongtrop/hbctool

The HBC version (94) is not supported.

Opened this issue · 10 comments

lt1023 commented

please!

i have a version with support of hbc v94

Hi, where is the version that help with v94.

thank you @jamesmacwhite for your comment, Do you have documentation for the bytecodes of Hermes?

thank you @jamesmacwhite for your comment, Do you have documentation for the bytecodes of Hermes?

This exists, which P1 security wrote: https://p1sec.github.io/hermes-dec/opcodes_table.html. The hermes-dec tool can also generate psedo JavaScript from the bytecode, but it's not technically going to be 100% accurate to the original JavaScript.

thank you so much for this link @jamesmacwhite, I'm trying to change the logic of the application and rebuild it successfully from the hasm file which outputs from hbctool the app that I'm working on is hermes v94 and the opcode table stops at 89, do you have recommendation for this?
I want to do simple things like swap the condition from if not to if or something like that.

You need to use the forked version and build the source yourself: https://github.com/gilcu3/hbctool/tree/hbc94

Then install package directly: https://github.com/gilcu3/hbctool/tree/hbc94?tab=readme-ov-file#contribution.

There is an alternative tool that has direct support for newer versions: https://github.com/P1sec/hermes-dec/, however I don't believe it can re-assemble.

I can't advise on modifying bytecode itself, as I've only done it for reverse engineering, not to modify an application.

thank you for that if u find a way to re-assemble it i will be thankful if you share it with me https://twitter.com/FlEx0Geek, thank you so much

@flex0geek If you take a look at: https://www.linkedin.com/pulse/reverse-engineering-lovebox-react-native-app-high-level-zagaria-vmhre/, the author details how they reassembled a change they made. I haven't personally tried it, but use that as your reference.

As mentioned before you will need to clone the fork linked with the hbc94 branch, build the source and install the locally built package for hbctool to have version 94 support, then do what you need to do.

Thank you so much for this reference it will be helpful.