zoukankan      html  css  js  c++  java
  • erlang防止反编译

    前面提到了erlang的反编译,下面说下防止反编译:

    1)建立~/.erlang.crypt

    在编译的用户名的home目录中建立一个加密方法的文件.erlang.crypt,内容如下:

    [{debug_info, des3_cbc, [], "secret_key"}].

    %使用des3_cbc的算法来对文件进行加密,加密的密钥为secret_key。

    2)修改Emakefile

    修改Emakefile的内容为:

    { ["src/*", "src/**/*","src/***/**/*"]

            , [encrypt_debug_info,

                    {i, "include"},

                    {outdir, "./ebin"}]

    }.

    %使用.erlang.crypt方法对源代码进行编译,并输出到ebin目录。

    3)编译源代码

    进入sh目录,运行./make.sh对源代码进行编译。

    4)移除.erlang.crypt文件

    我们移除~/.erlang.crypt,然后在测试是否可以反编译,以下是测试的过程:

    [root@root1 ebin]# mv ~/.erlang.crypt ~/.erlang.old.crypt

    [root@root1 ebin]# erl

    Eshell V5.8.1  (abort with ^G)

    1> beam_lib:chunks(code:which(abc), [abstract_code]).

    {error,beam_lib,

           {key_missing_or_invalid,"./abc.beam",abstract_code}}

    当我们移除~/.erlang.crypt之后再进行反编译,得到找不到加密串的结果,这样对方就无法对我们的编译好的文件进行反编译。

  • 相关阅读:
    windows10使用记录
    DevOps理论与实践总结
    工资调整
    Node程序debug小记
    基于游标的分页接口实现
    util.promisify 的那些事儿
    如何编写 Typescript 声明文件
    async语法升级踩坑小记
    使用TS+Sequelize实现更简洁的CRUD
    使用 TypeScript 改造构建工具及测试用例
  • 原文地址:https://www.cnblogs.com/unqiang/p/3737457.html
Copyright © 2011-2022 走看看