我有一个使用 erlang .beam 编译文件而没有调试信息的应用程序。有人有一些关于如何反编译或逆向工程的提示吗?
提前致谢
我有一个使用 erlang .beam 编译文件而没有调试信息的应用程序。有人有一些关于如何反编译或逆向工程的提示吗?
提前致谢
您可以使用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'是您要保存结果的路径。