代码保护(三) java代码保护方案

编程知识 更新时间:2023-04-07 06:38:54

Java防止反编译的一种解决方案

一、使用ProGuard对代码进行混淆

1   下载并启动ProGuard代码混淆器

2   Input/output中选择要加密的Jar文件,并导入该项目使用的Jar

 

3   设置混淆参数选项

4   保存混淆配置

5   重新启动ProGuard载入保存的配置文件

6   混淆成功

7   使用JD-gui反编译软件进行混淆前后对比

结论:使用代码混淆仅增加了程序理解的难度,程序的逻辑及流程仍然清晰可见,(但可以将函数名、参数名、设置的更凌乱一些,进一步增加阅读难度)。

二、使用Excelsior JET将java可执行程序转化为C++可执行程序

1   安装并启动Excelsior JET

 

 

 

2   发布运行

3   再系统盘内找不到该程序运行的jar文件,通过查壳工具PEID查看该可执行文件,未加密

4   通过静态反汇编工具OD查看该文件汇编代码

 

至此,对该java项目的逆向工程的难度同C++写的程序一样困难,较难以得到程序的源代码。在此操作之上还可以进一步采取手段阻挠对源代码的逆向工程,如下所示的加壳操作。

三、使用VMProtect等工具对.exe文件进行加壳保护

1   使用VMProtect工具对该程序加壳

2   在使用VirboxProtector增加第二层保护壳时弹出如下提醒

猜测是VMProtect已经进行了虚拟化保护,在使用同样机制的VirboxProtector加密后出现了一些问题。

3   在使用UPX加壳软件增加第二层保护壳时同样提醒出现了错误

这表明已经成功的对该软件增加了VMP保护壳,软件的安全性得到了进一步的提升。

 

 

更多推荐

代码保护(三) java代码保护方案

本文发布于:2023-04-07 06:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/dc52e00c385d6359d6e4c20d94b5ac8d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:代码   方案   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 52554文章数
  • 14阅读数
  • 0评论数