在 NetBeans 中开发一般 Java 应用程序时配置 Allatori 进行代码混淆
要在 NetBeans 中开发一般 Java 应用程序时利用 Allatori 进行代码混淆,设置比 IntelliJ IDEA 稍微简单一点,首先在 NetBeans 项目所在硬盘目录内创建一个名为 allatori 的子目录,将 Allatori 自己的 jar 文件都复制到这个子目录下。然后在项目所在目录内创建一个名为 config-allatori.xml 的文件,即 Allatori 自己的混淆配置文件,其内容可参考如下,作为模板也可以:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<jars>
<jar in="dist/test.jar" out="dist/test-obfuscated.jar"/>
</jars> <classpath>
<jar name="lib/third-lib.jar"/>
</classpath> <keep-names>
<class template="class MainJFrame">
<method template="public main(**)"/>
</class>
</keep-names> <property name="log-file" value="log.xml"/>
</config>
这里注意,第 4 行的 test.jar 是你的项目最终编译生成的 jar,我这里假定你的项目名为 test,所以生成的 jar 肯定是 test.jar,而我们指定混淆后的 jar 名为 test-obfuscated.jar。所以要根据你的实际情况来确定。
然后修改项目的 build.xml 文件,这个文件也在项目所在目录内,在 build.xml 的“</project>”上一行添加如下内容:
<target name="-post-jar">
<taskdef name="allatori" classname="com.allatori.ant.ObfuscatorTask" classpath="allatori/allatori.jar"/>
<allatori config="${basedir}/config-allatori.xml"/>
</target>
注意,第 3 行必须要有 ${basedir},如果没有总是报找不到 config-allatori.xml 文件错误。
现在,你可以在 NetBeans 中对项目进行编译构建,然后在 dist 目录下就可以看到带有“-obfuscated”字样的项目 jar 文件,那就是混淆过的版本。
在 NetBeans 中开发一般 Java 应用程序时配置 Allatori 进行代码混淆的更多相关文章
- 使用 IntelliJ IDEA 开发一般 Java 应用程序时配置 Allatori 进行代码混淆
使用 IntelliJ IDEA 开发一般 Java 应用程序时通过 Allatori 进行代码混淆非常容易配置,下面总结一下本人经验,介绍一下配置方法. 首先在 IDEA 的 Module 所在硬盘 ...
- 使用 IntelliJ IDEA 开发 Android 应用程序时配置 Allatori 进行代码混淆
IntelliJ IDEA 提供了非常强大的 Android 开发支持,就连 Google 官方推荐的 Android Studio 其实也是 IntelliJ IDEA 的一个 Android 开发 ...
- Java:程序不过是几行代码的集合
程序不过是几行代码的集合.就像下面这样: public class Test { public static void main(String[] args) { System.out.println ...
- 【Java】Web 服务编程技巧与窍门: 在 UDDI 注册中心为 Web 服务注册开发 UDDI Java 应用程序
本技巧建立了一个使用统一描述.发现和集成 (Universal Description, Discovery, and Integration,UDDI) 来注册应用程序级消费的 Web 服务实例.作 ...
- 第一章 开发简单Java应用程序
1. 什么是程序? 程序一词来自生活,通常指完成某些事务的一种既定方式和过程(一组有序指令的集合). 2. Java的三个领域? Java SE:java技术核心(指桌面应用程序)如:QQ.百 ...
- Java项目源码为什么要做代码混淆(解释的很好)
代码混淆,是将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为.代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码.执行代码混淆的程序被称作代码混淆器.目前已经存在许多种 ...
- [Java]struts2-spring整合时配置监听器
1.struts2-spring整合时配置监听器 [在web.xml中] <!-- 上下文载入器监听器,确保web服务器启动时,直接完成spring容器的初始化 --/> [Ctrl + ...
- 在Visual Studio中开发一个C语言程序
→新建一个项目→选择"其他语言","Visual C++",并选择"win32控制台应用程序",并给控制台应用程序起名.→点击"下 ...
- delphiXE开发蓝牙BLE4.0程序时遇到的notification问题
IDE环境delphiXE8 蓝牙硬件ST17H26 service:0xfee7 chareter:0xfec9 const u16 my_OEMServiceUUID=0xfee7;const u ...
随机推荐
- C++ Primer读书笔记(一)第一篇:C++概述,第一章:开始
1. 主要内容 介绍程序语言的核心思想和C++的基本概念. 印象比较深刻的就是分而治之(divide and conque)的分解思想. 2. 知识广场 1) C++ 文件后缀 cc, cpp,,cx ...
- rest_framework之status HTTP状态码
Django Rest Framework有一个status.py的文件 通常在我们Django视图(views)中,HTTP状态码使用的是纯数字,像400,404,200,304等,并不是那么很好理 ...
- 初识Mysql之基本简单语法总结
一. DDL(data definition language)语句:数据定义语言. 这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象.常用语句关键字:create.drop.alter ...
- 学习路由器vue-router
vue-router:vue官方路由管理器. 功能:嵌套的路由/视图表模块化的.基于组件的路由配置路由参数.查询.通配符基于 Vue.js 过渡系统的视图过渡效果细粒度的导航控制带有自动激活的 CSS ...
- java中常用的集合的一些区别 (2013-10-07-163写的日志迁移
java中的以下几大集合: List结构的集合类: ArrayListl类,LinkedList类,Vector类,stack类 Map结构的集合类: HashMap类,Hashtable类(此是以k ...
- leetcode-14-basic-breadthFirstSearch
BFS: breadth first search 107. Binary Tree Level Order Traversal II 解题思路: 本来我是用map<int,int>存所有 ...
- ASP.NET Web网站中App_Code文件夹的作用及使用场景
原文地址:Web Site项目和ASP.NET Web Application中App_Code文件夹的作用作者:宾的宾 我现在要建一个ASP.NET的网站了,不难吧,开始动手.如下图: 这种方法建立 ...
- Linux学习-Boot Loader: Grub2
boot loader 的两个 stage 在 BIOS 读完信息后,接下来就是会到第一个开机装置 的 MBR 去读取 boot loader 了.这个 boot loader 可以具有选单功能.直接 ...
- LA 3790 Overlapping Squares DFS
题意: 给出一个字符矩阵,问能否是不超过6个2×2的正方形组成的. 分析: 每次找一个最表面的正方形然后DFS就好了. 一个正方形被移开后,用一个特殊符号标记上,下次再匹配的时候就直接忽略这些位置. ...
- 新线程 handler
class CalculateThread extends Thread { private Handler handler; @Override public void run() { super. ...