Closed HNYuuu closed 3 years ago
Describe the bug 当使用指令 python3.6 octopus_wasm -f './go_samples/main.wasm' -s --onlyfunc main.main 来分析 Go 的 main 函数时会报错。
python3.6 octopus_wasm -f './go_samples/main.wasm' -s --onlyfunc main.main
main
通过查看源码发现,应该是位于 analyzer.py 的 analyze 函数中的 decode_module 函数对于 Go 编译来的 Wasm 字节码解析失败。然而 Wasm 库已经停止维护,需要我们自己去修改源码。
analyzer.py
analyze
decode_module
Expected behavior 正常分析,进入 main.main 函数
main.main
Additional context Octopus 开发者引入了 NAME_SUBSEC 尝试解决这个问题,但是并不奏效。因此并未把 analyzer.py 替换为 Octopus 的 analyzer.py,但是可以参考。
NAME_SUBSEC
Resolved in commit 3a9ead2
原因是 decode_module 函数中最后三行,当当前的 section 是 unknown 时,偏移值处理失败,注释掉即可
Describe the bug 当使用指令
python3.6 octopus_wasm -f './go_samples/main.wasm' -s --onlyfunc main.main
来分析 Go 的main
函数时会报错。通过查看源码发现,应该是位于
analyzer.py
的analyze
函数中的decode_module
函数对于 Go 编译来的 Wasm 字节码解析失败。然而 Wasm 库已经停止维护,需要我们自己去修改源码。Expected behavior 正常分析,进入
main.main
函数Additional context Octopus 开发者引入了
NAME_SUBSEC
尝试解决这个问题,但是并不奏效。因此并未把analyzer.py
替换为 Octopus 的analyzer.py
,但是可以参考。