在查阅了相关文档,想了解erlang反编译的东西。当然,源码可以打包成可以获取源码的,也可以保护源码的。
在ebin下,如果没有或者找不到源码,可以进行反编译,由beam文件得到erl文件。
可以通过以下步骤获取本地源码.如下: 在erlang shell下,进入shell,
%这里的a是a.erl 模块,是想得到其源码,之前进入其路径下,
1〉{ok,{_,[{abstract_code,{_,AC}}]}} = beam_lib:chunks(code:which(a), [abstract_code]).
2〉io:fwrite("~s~n", [erl_prettypr:format(erl_syntax:form_list(AC))]).
之后,源码将被反编译,可以尝试,可以对其进行处理.
%相关模块函数查阅API