源码使用try-catch代码包装下,如下:

public class CompileForbid {public static void main(String[] args) {try {System.out.println("-------");//防止反编译的处理if (654789 == new Random().nextInt()) {throw new Exception("fewt43");}} catch (Exception ex) {ex.printStackTrace();} finally {try {//防止反编译的处理if (654789 == new Random().nextInt()) {throw new Exception("fewt43");}} catch (Exception ex) {System.out.print(ex);}}}
}

使用 jd 反编译工具翻遍后的效果,别的反编译可能会反编译出来,效果不是很好,但是简单实用

public class CompileForbid
{// ERROR //public static void main(java.lang.String[] args){// Byte code://   0: getstatic 16    java/lang/System:out    Ljava/io/PrintStream;//   3: ldc 22//   5: invokevirtual 24    java/io/PrintStream:println (Ljava/lang/String;)V//   8: ldc 30//   10: new 31 java/util/Random//   13: dup//   14: invokespecial 33   java/util/Random:<init> ()V//   17: invokevirtual 34   java/util/Random:nextInt    ()I//   20: if_icmpne +90 -> 110//   23: new 38 java/lang/Exception//   26: dup//   27: ldc 40//   29: invokespecial 42   java/lang/Exception:<init>  (Ljava/lang/String;)V//   32: athrow//   33: astore_1//   34: aload_1//   35: invokevirtual 44   java/lang/Exception:printStackTrace ()V//   38: ldc 30//   40: new 31 java/util/Random//   43: dup//   44: invokespecial 33   java/util/Random:<init> ()V//   47: invokevirtual 34   java/util/Random:nextInt    ()I//   50: if_icmpne +93 -> 143//   53: new 38 java/lang/Exception//   56: dup//   57: ldc 40//   59: invokespecial 42   java/lang/Exception:<init>  (Ljava/lang/String;)V//   62: athrow//   63: astore_3//   64: getstatic 16   java/lang/System:out    Ljava/io/PrintStream;//   67: aload_3//   68: invokevirtual 47   java/io/PrintStream:print   (Ljava/lang/Object;)V//   71: goto +72 -> 143//   74: astore_2//   75: ldc 30//   77: new 31 java/util/Random//   80: dup//   81: invokespecial 33   java/util/Random:<init> ()V//   84: invokevirtual 34   java/util/Random:nextInt    ()I//   87: if_icmpne +21 -> 108//   90: new 38 java/lang/Exception//   93: dup//   94: ldc 40//   96: invokespecial 42   java/lang/Exception:<init>  (Ljava/lang/String;)V//   99: athrow//   100: astore_3//   101: getstatic 16  java/lang/System:out    Ljava/io/PrintStream;//   104: aload_3//   105: invokevirtual 47  java/io/PrintStream:print   (Ljava/lang/Object;)V//   108: aload_2//   109: athrow//   110: ldc 30//   112: new 31    java/util/Random//   115: dup//   116: invokespecial 33  java/util/Random:<init> ()V//   119: invokevirtual 34  java/util/Random:nextInt    ()I//   122: if_icmpne +21 -> 143//   125: new 38    java/lang/Exception//   128: dup//   129: ldc 40//   131: invokespecial 42  java/lang/Exception:<init>  (Ljava/lang/String;)V//   134: athrow//   135: astore_3//   136: getstatic 16  java/lang/System:out    Ljava/io/PrintStream;//   139: aload_3//   140: invokevirtual 47  java/io/PrintStream:print   (Ljava/lang/Object;)V//   143: return//// Exception table://   from   to  target  type//   0  33  33  java/lang/Exception//   38 63  63  java/lang/Exception//   0  38  74  finally//   75 100 100 java/lang/Exception//   110    135 135 java/lang/Exception}
}

最简单的 java 防反编译技巧相关推荐

  1. 【Unity】防反编译之windows平台加密dll

    功能取决于需求,在实现这功能之前,却有一个小小的插曲,有同学认为,并不需要去实现游戏加密,再怎样也会被破解,何必浪费精力.虽然这样说,但是我们所做的加密至少也会增加一点破解成本,不会让我们辛苦写的代码 ...

  2. 给大家推荐一个.Net的混淆防反编译工具ConfuserEx

    给大家推荐一个.Net的混淆防反编译工具ConfuserEx. 由于项目中要用到.Net的混淆防反编译工具. 在网上找了很多.Net混淆或混淆防反编译工具,如.NET Reactor.Dotfusca ...

  3. Java 7 –反编译项目硬币

    大家好,该是从2012年开始写作的时候了.正如您在其他博客中可能已经看到的那样,有一些更改可以使您使用Java编程时的开发人员生活变得更加轻松:Diamond运算符,Switchs中的Strings, ...

  4. java如何编译和反编译,JAVA 如何反编译的自己的程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 JAVA 如何反编译的自己的程序 反编译的工具有好多, 在众多的JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎--JAD,其中主要包括:F ...

  5. 如何在Eclipse 3.3上安装jadclipse[java的反编译工具] 收藏

    如何在Eclipse 3.3上安装jadclipse[java的反编译工具] 收藏 jad是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高.可惜用起来不太方便.还好 找到eclips ...

  6. Java的反编译工具提供官网下载

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  7. 【项目实战】Java代码反编译工具的使用 以及 如何对Java代码进行混淆?

    一.背景 现在交付给客户的代码,虽然不是以源码的形式交付,但是还经常会需要进行反编译,如何更好的做到反编译呢?本文探讨的是如何进行反编译的方法. 二. Java代码反编译工具的使用 (1)使用jad ...

  8. python防反编译_用Python和Smali模拟器搞定一个加混淆、防篡改的APK逆向

    这个周末我和好友聊天时,他向我求助修改一个他正在编写Python脚本.他试图通过解混淆一个APK,来理解该APK的混淆基址和防篡改保护机制.同我以往的APK逆向过程(dex2jar->jd-gu ...

  9. Android笔记:防反编译、代码混淆中,解决第三方jar包不被混淆的一些心得,及gson防混淆方法...

    为了防止代码被反编译,一般在签名导出前需要对代码进行混淆.最近发现自己的一个项目工程在代码混淆后,使用中出现了异常.以下是自己这几天在解决代码混淆以及引入第三方jar包导致混淆出现的问题处理的一些心得 ...

最新文章

  1. VC中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法总结。
  2. go语言有哪些劣势?
  3. 【网址收藏】WIN10进入超级管理员账号(Administrator)
  4. WebIDE Initialization process
  5. java在集合中的方法变动的类_java中级面试题 之基础篇
  6. php mysql html 转义字符_php, html, javascript, mysql 之间的特殊字符处理
  7. Python天天美味(35) - 细品lambda(转)
  8. ifconfig命令举例
  9. window.onload和jQuery的ready函数区别
  10. 小米商城抢购脚本_小米十周年感恩季-816活动攻略
  11. 20191117每日一句 EVERYBODY DIES, BUT NOT EVERYBODY LIVES
  12. 0代码实现接口自动化测试-RF框架实践
  13. python snap7开发手册_python-snap7开发笔记
  14. 金士顿U盘格式化后不能识别,0字节存储空间
  15. 正则表达式 Regular Express
  16. Windows 10免费影音制作下载(Windows Movie Maker 2012)
  17. composer设置镜像
  18. NISP一级题库100题
  19. 希腊字母及对应的英文
  20. 把音频中的某个人声去掉_能不能把一段音频中的人声和背景音乐分开

热门文章

  1. 三十、开始前端Vue.js的学习之路
  2. 二十一、深入Python强大的装饰器
  3. 十六、去年写的pandas使用方法梳理,2020年5月13日整理
  4. 【webpack 中版本兼容性问题错误总结,耽误半天学习】
  5. CVPR 2020 三篇有趣的论文解读
  6. java常用算法_JAVA编程常用算法——冒泡排序
  7. 矩形脉冲信号的频域分析_矩形周期脉冲信号MATLAB实现
  8. Java实现单链表的逆序打印
  9. stream流【java8 二】
  10. 功能测试——Selenium自动化功能测试