[Erlang]如何防止beam文件的反编译

来源:互联网 发布:ip端口号怎么打开 编辑:程序博客网 时间:2024/06/01 09:44

erlang自带了类似makefile的功能,Emakefile,可以自动化编译整个erlang项目的代码,使用非常方便,直接运行erl -make即可自动化编译。

Erlang项目编译

一个简单的例子,保存为Emakefile文件:

[plain] view plaincopy
  1. {'src/*',  
  2.   [debug_info,  
  3.     {i,"include"},  
  4.     {outdir,"ebin"}  
  5.   ]  
  6. }.  
使用erl -make编译。

erlang将查找当前目录有没有Emakefile这个文件,然后根据文件指示,对src目录所有的模块进行编译,include指定了编译需要的文件目录,ebin为编译后beam文件输出的目录。


Emakefile说明:

规则为 {Modules, Options}. 可以在一个Emakefile写有多块这样的内容。

Modules可以是一个atom,或者是一个atom的列表,如'src/*','src/mod',['src/*','src2/*']

Options是Erlang编译器的配置参数,想知道更多参数可以看官方文档

防止Erlang程序被反编译

修改 Emakefile文件,如下:

[plain] view plaincopy
  1. {'src/*',  
  2.     [debug_info,  
  3.     {debug_info_key,{des3_cbc,"my secret key"}},  
  4.     {i,"include"},  
  5.     {outdir,"ebin"}  
  6.     ]}.  

或者干脆不使用erlang调试功能:

[plain] view plaincopy
  1. {'src/*',  
  2.     [{i,"include"},  
  3.     {outdir,"ebin"}  
  4.     ]}.  

使用erl -make编译。

0 0
原创粉丝点击