I have an app that use erlang .beam compiled files without debugging information. Someone have some tips how to decompile or reverse engineering these?
Thanks in advance
Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. It only takes a minute to sign up.
Sign up to join this communityI have an app that use erlang .beam compiled files without debugging information. Someone have some tips how to decompile or reverse engineering these?
Thanks in advance
You can get low-level bytecode source of .beam file with beam_disasm:file(module_name)
It's not easy to read it and takes time to figure it out. But it's much verbose and easier to comprehend than any real hardware assembly code. You can give it a try.
For example, if you have a .beam file called "my_module.beam", open erl and type
file:write_file("/tmp/my_module_disasm", io_lib:fwrite("~p.\n", [beam_disasm:file(my_module)])).
where '/tmp/my_module_disasm' is the path where you want to save the result.