前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

-------------- \ ^__^ \ (**)\__$__$__ (__)\ )\/\ U ||------| || || --> erlang 防止反编译 - 推酷 推酷 文章 微博 主题 站点 活动 应用 周刊 编程狂人 设计匠艺 登录 × --> erlang 防止反编译 时间 2013-05-21 14:00:36 CSDN博客 相似文章 (0) 原文 http://blog.csdn.net/phyzhou/article/details/8954931 添加到推刊 收藏到你的推刊 创建推刊 erlang 防止反编译 选择推刊 收藏 取消 已收藏到推刊! 创建推刊 × Modal header --> 请填写推刊名 描述不能大于100个字符! 权限设置: 公开 仅自己可见 创建 取消 erlang 编译后的文件极易被对方反编译得到源代码, 对编译后的源码进行加密后,可以起到防止反编译的目的。 下面是如何进行防止反编译的:(环境linux下) 1>在root目录下, 创建.erlang.crypt这个文件 2> 在 .erlang.crypt中加入[{debug_info, des3_cbc, [], "this_is_my_secret_key"}]. (des3_cbc 的算法来对文件进行加密,加密的密钥为 :this_is_my_secret_key ) 3> 修改 Emakefile { [ 'src/*', 'src/*/*', 'src/*/*/*' ] ,[ encrypt_debug_info ,{i, "include"} ,{outdir, "ebin"} ] }. (注意的是encrypt_debug_info,不要用debug_info) 4>编译源文件 erl -make 5>测试加密 5.1、 [root@phyzhou]# erl -pa ./ebin Erlang R14B (erts-5.8.1) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false] 5.2 、beam_lib:chunks(code:which(loop), [abstract_code]). (我随便写了一个叫loop.erl的测试模块) {ok,{loop,[{abstract_code,{raw_abstract_v1,[{attribute,1, file, {"src/test/performance/loop.erl",1}}, {attribute,9,module,loop}, {attribute,10,compile,export_all}, {function,15,do_loop,2, [{clause,15,[{nil,15},{var,15,'_Data'}],[],[{atom,15,ok}]}, {clause,16, [{cons,16,{cons,16,...},{var,...}},{var,16,'Data'}], [], [{call,17,{...},...}]}]}, {function,19,do_loop2,3, [{clause,19, [{nil,19},{var,19,'_Data'},{var,19,'_X'}], [], [{atom,19,ok}]}, {clause,20, [{cons,20,{cons,...},{...}},{var,20,'Data'},{var,20,...}], [[{op,20,...}]], [{call,21,...}]}, {clause,22, [{cons,22,{...},...},{var,22,...},{var,...}], [], [{call,...}]}]}, {function,25,test,0, [{clause,25,[],[],[{match,26,...},{match,...},{...}|...]}]}, {eof,36}]}}]}} 5.3 、退出(ctrl+c) BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution 5.4、移除 .erlang.crypt 5.5、[root@phyzhou]# erl -pa ./ebin Erlang R14B (erts-5.8.1) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false] 5.6、beam_lib:chunks(code:which(loop), [abstract_code]). {error,beam_lib, {key_missing_or_invalid,"./loop.beam",abstract_code}} 6.总结: 从日志可以看出,移除.erlang.crype文件后,无法进行反编译。 7.谢谢。 如果你感兴趣 --> 喜 欢 收 藏 分享该文章 分享到 印象笔记 人人网 Facebook Twitter Linkedin Google + E-Mail 有一些书要送给你 > --> 相关微博 共有()条 请登录后评论 已发表评论数() 评论加载中 没有更多评论了^^ 所有评论--> 更多评论 评论加载失败,重新加载 × 文章纠错 邮箱 错误类型 正文不准确 排版有问题 没有分页内容 视频无法显示 图片无法显示 补充信息 提交 × 用户登陆 邮箱 密码 登 陆 关于 应用 反馈 讨论 友链 推创 × 有一些书要送给你[第一季] -->