`
ppju
  • 浏览: 79813 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

java anti-compile

阅读更多
方案一

1,首先要添加一个参数为Exception类型的函数,例如这样。

public static void Fake(Exception e)
{
e.toString();
}

一定要有e.toString();,因为要防止你的混淆器把无用的代码过滤。

2,然后在每个类中调用这个函数,放在try...catch(Exception e)..中的catch里面,例如:

try
{
...
}
catch (Exception e)
{
Fake(e);
}

请注意 ,一定要放在catch才有用,其他地方无用。


方案二

如果以上方法还不够专业,我们再来一个。

1,同样的,我们定义一个类,这个类叫做AntiCrack.。名字好像有点大。。。代码如下:

public class AntiCrack
{

private AntiCrack()
{
}

public static Throwable Fake(Throwable throwable, Throwable throwable1)
{
try
{
throwable.getClass().getMethod("initCause", new Class[] {
java.lang.Throwable.class
}).invoke(throwable, new Object[] {
throwable1
});
}
catch(Exception exception) { }
return throwable;
}
}

2,同样的,我们在catch里面调用该函数。例如如下。

try
{

//your code here

}
catch(IOException ioexception)
{
IllegalArgumentException illegalargumentexception = new IllegalArgumentException(ioexception.toString());
AntiCrack.fake(illegalargumentexception, ioexception);
throw illegalargumentexception;
}

或者也可以这样

public class AntiException extends Exception
{

public AntiException()
{
}

public AntiException(String s)
{
super(s);
}

public AntiException(String s, Throwable throwable)
{
super(s);
AntiCrack.fake(this, throwable);
}
}

然后在你的程序里面

try
{

}

catch(IoException e)

{

throw new AntiException(ioexception.toString(), ioexception);

}

当采用以上方式后,任何类只要调用了该函数,生成的class反编译后出错,得不到结果。

Decafe、FrontEnd和YingJAD,反编译时都有exception,然后无法进行下去。大家可以测试。

推荐用第二种方案。
分享到:
评论

相关推荐

    color-compile - 源码

    在"color-compile-master"这个压缩包中,可能包含以下内容: 1. `color-compile`脚本:这是一个可执行文件或shell脚本,用于拦截`gcc/g++/make`的输出并添加颜色。 2. `README`文件:提供关于如何安装和使用`color-...

    前端开源库-post-compile-webpack-plugin

    const PostCompileWebpackPlugin = require('post-compile-webpack-plugin'); module.exports = { // 其他Webpack配置... plugins: [ // 在这里添加插件 new PostCompileWebpackPlugin({ // 配置你的自定义...

    kotlin-compile-testing,用于测试kotlin和java注释处理器、编译器插件和代码生成的库.zip

    《Kotlin-Compile-Testing:测试Kotlin与Java编译环节的利器》 在软件开发过程中,确保编译器插件、注解处理器以及代码生成的正确性是至关重要的。Kotlin-Compile-Testing库正是为此目的而生,它提供了一个强大的...

    js-conditional-compile-loader-1.0.15.tgz

    【js-conditional-compile-loader 1.0.15】是一个专为JavaScript代码条件编译设计的加载器,用于处理项目中的环境特定代码。在软件开发中,有时我们需要根据不同的运行环境(例如开发、测试和生产)来编译不同的代码...

    play-java-compile-di-example.zip_java_play

    标题中的"play-java-compile-di-example.zip_java_play"暗示了这是一个关于使用Java语言在Play框架中实现编译时依赖注入(Dependency Injection, DI)的示例项目。Play框架是一个流行的开源Web应用框架,它基于Scala...

    v8-compile-cache:需要挂钩以实现自动V8编译缓存持久性

    v8编译缓存 v8-compile-cache附加了一个require钩子,以使用来加快实例化时间。 “代码缓存”是V8进行的解析和编译工作。 中引入了利用V8生成/使用此缓存的。用法添加依赖项: $ npm install --save v8-compile-...

    使编译器带颜色color-compile.zip

    color-compile 在 Linux 终端中使用 gcc/g /make 编译软件时,可以显示带颜色的 error/note/warning 效果对比如下: 使用 color-compile 后: 标签:color

    conditional-compile-loader

    conditional-compile-loader conditional-compile-loader 根据设定的参数对 vue、js、jsx 和 css(less, sass 等) 代码进行条件编译。 安装 先安装 conditional-compile-loader npm install -D conditional-compile-...

    3D-blender-compile.zip

    3D-blender-compile.zip,编译Blender 2.8的Docker环境,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。

    frida-compile:编译由一个或多个Node.js模块组成的Frida脚本

    在`frida-compile-master`这个压缩包中,可能包含了`frida-compile`项目的源代码。这通常包括以下几个部分: 1. `src`目录:存放`frida-compile`的源代码,你可以查看其内部实现和工作原理。 2. `package.json`:...

    color-compile 源码

    《color-compile源码解析:让gcc/g++/make编译过程更加醒目》 在编程过程中,使用gcc/g++/make进行源代码编译时,我们常常会遇到各种错误、警告和提示信息。这些信息对于查找和修复问题至关重要,但默认情况下,...

    webpack-post-compile-plugin:一个webpack post编译插件

    webpack-post-compile-plugin 一个webpack post编译插件。 它用于在node_modules中包括后编译模块。 安装 npm i webpack-post-compile-plugin --save-dev 用法 const PostCompilePlugin = require ( 'webpack-post-...

    openssl1.1.1i-compile.tar.gz

    1、直接将编译好的包openssl1.1.1i-compile.tar上传包至/opt 2、解压 tar -zxvf openssl1.1.1i-compile.tar.gz 3、将解压出来的openssl移动到/usr/local下 mv openssl /usr/local/ 4、备份原来的,设置软链(参考我...

    elasticsearch-head-compile-after.tar.gz

    elasticsearch-head这个插件是es提供的一个用于图形化界面查看的一个插件工具,可以安装上这个插件之后,通过这个插件来实现我们通过浏览器查看es当中的数据 直接使用已经编译好的安装包,进行修改配置即可

    gulp-compile-handlebars, 从把手文件编译模板.zip

    gulp-compile-handlebars, 从把手文件编译模板 gulp-compile-handlebars从 gulp模板,由 grunt-compile-handlebars激发。编译车把模板模板安装安装使用 npmnpm install --save-dev gulp-comp

    v8-compile-cache-lib

    v8-compile-cache-lib fork作为API公开,可在其他库和工具中以编程方式使用。 v8-compile-cache-lib附加了一个require钩子,以使用来加快实例化时间。 “代码缓存”是V8进行的解析和编译工作。 中引入了利用V8...

    brainfuck-compile.py

    brainfuck-compile

    哈工大2022春编译系统(HIT-Compile_System)资料(实验期末复习资料)

    哈工大2022春编译系统(HIT-Compile_System)资料(实验期末复习资料)_HIT-Compile-2022Spring_HIT-Compile-2022Spring.zip

    maven-compile-plugin-1.4.0-incubating.jar

    maven-compile-plugin-1.4.0-incubating.jar

    Python-2.7.13-xcompile.patch

    Python-2.7.13-xcompile.patch

Global site tag (gtag.js) - Google Analytics