反编译没有 debug_info 编译的 erlang .beam 文件

逆向工程 补丁反转 二郎
2021-06-23 19:53:42

我有一个使用 erlang .beam 编译文件而没有调试信息的应用程序。有人有一些关于如何反编译或逆向工程的提示吗?

提前致谢

1个回答

您可以使用beam_disasm:file(module_name)获取 .beam 文件的低级字节码源

阅读它并不容易,需要时间来弄清楚。但它比任何真正的硬件汇编代码都冗长且易于理解。你可以试一试。

例如,如果您有一个名为“my_module.beam”的 .beam 文件,请打开erl并键入

file:write_file("/tmp/my_module_disasm", io_lib:fwrite("~p.\n", [beam_disasm:file(my_module)])).

其中'/tmp/my_module_disasm'是您要保存结果的路径。