首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Maven - 代码混淆proguard-maven-plugin vs 代码加密classfinal

    ProGuard,并应用指定的选项和库。...小结 采用proguard-maven-plugin插件, 在单模块中此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。...支持普通jar包、springboot jar包以及普通java web项目编译的war包。 支持spring framework、swagger等需要在启动过程中扫描注解或生成字节码的框架。...解密功能已经自动加入到 yourpaoject-encrypted.jar中,所以启动时-javaagent与-jar相同,不需要额外的jar包。...v1.1.2 修复windows下加密后不能启动的问题 v1.1.1 启动jar时在控制台输入密码,无需将密码放在参数中 v1.1.0 加密jar包时将解密代码加入加密后的jar包,无需使用多余的jar

    1.3K00

    build.gradle文件介绍,gradle版本对应

    com.android.application 表示这是一个应用程序模块。 都是module com.android.library 表示是一个库模块。...区别: com.android.application是代表可以直接运行的, com.android.library是只能作为代码依附在别的应用程序模块来运行。...proguard-rules.pro:是在当前项目根目录下的,里面编写当前项目特有的混淆规则。 dependencies闭包 在这个闭包下可以指定当前项目所有的依赖关系。...通常Android Studio 项目中一共有三种依赖方式:本地依赖、库依赖和远程依赖。 本地依赖可以对本地的Jar包或目录添加依赖关系 库依赖可以对项目中的库模块添加依赖关系。...同时也可以只指定一个文件,例如:compile files('libs/picasso-2.4.0.jar') 在本项目中并没有使用到库依赖。

    29310

    从JDK8升级到JDK11,看这篇就足够了

    ,是将类型和资源封装在模块中,并仅导出其他模块要访问其公共类型的软件包。...如果模块中的软件包未导出或打开,则表示模块的设计人员无意在模块外部使用这些软件包。 这样的包可能会被修改或甚至从模块中删除,无需任何通知。...我们需要的参数是: --add-exports选项:模块声明中的exports语句将模块中的包导出到所有或其他模块,因此这些模块可以使用该包中的公共API。...下的module,都可以访问source-module中的pakage包下的公共API --add-opens选项: 模块声明中的opens语句使模块里面的包对其他模块开放,因此这些模块可以在运行期使用深层反射访问该程序包中的所有成员类型...如果一个模块的包未打开,可以使用–add-opens命令行选项打开它。

    4.8K20

    在 Linux 上使用 jps 命令检查 Java 进程

    在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。...有一些可以用来监测这些进程的实用程序,比如包含在 procps-ng 包 中的程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据需要过滤结果列表。...在 Linux 中,可以通过 ps 命令查看进程。这是查看当前系统上运行进程最简单的方法。...Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop...当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具包和运行时环境仍然很重要。它们包含着许多适用于 Java 应用程序开发和维护的工具。

    2.7K30

    在 Android Instant App(安卓即时应用程序)中启用 ProGuard (混淆)

    想一下你的项目中可能存在的典型的 common(公共) 模块(在 Instant Apps(即时应用程序)术语中,我们将称这个模块为 base feature(基础功能) 模块):它可能依赖于支持库的许多部分...功能模块的行为与库相似,它们都将代码和资源提供给编译的最后阶段,在应用程序模块中这些都发生在将所有东西打包成一个 APK 之前。...在这种情况下,ProGuard(混淆)能够分析你的整个代码库,找出哪些类被使用,哪些可以被安全地删除。 **在即时应用程序构建中,每个功能模块都会生成自己的 APK。...因此我们可以先通过 SDK 中的 android.jar 获取框架类的列表来进行过滤: $ jar tf ~/Android/Sdk/platforms/android-27/android.jar |...但这会让本教程的其余部分(例如筛选框架类)变得更加复杂,所以我将它作为练习给读者你。

    2.6K30

    Android NDK开发:打包so库及jar包供他人使用

    代码 4.4 测试库 五、打包so库 六、打包jar包 七、如何使用 Android的NDK开发相信各位已经精通各种姿势了。...因为jni中的函数名是有特殊要求的,它会指定jni的java接口的路径,如果不提供jar包,那么使用者就要按照我们在jni头文件中声明的函数名来建立java文件,这将是非常痛苦的。...它是作为我们的调用方,因此不需要什么特殊的操作。 为了避免剩下的操作报错,调用方工程先到此为止,在准备好了被调用方(也就是jar包和so库)后,再继续完善。...这里我们选择直接把库的module作为app module的项目依赖,这样一来,每次我们运行app module时,都是以sdk module作为依赖实时编译的,不必我们每次都要导出so库和jar包。...六、打包jar包 通过上一步我们已经打包出了so,但是只有so是很难使用的,因为jni接口是指定包名的,使用者的包名基本不可能和我们的一样,因此提供一个jar包来调用so库。

    2.7K21

    在 Linux 上使用 jps 命令检查 Java 进程

    在 Linux 中,有一些用于查看系统上运行进程的命令。进程是指由内核管理的正在进行的事件。...有一些可以用来监测这些进程的实用程序,比如包含在 procps-ng 包 中的程序,但它们往往都是对各种进程通用的。它们会查看计算机上的所有进程,你可以根据需要过滤结果列表。...在 Linux 中,可以通过 ps 命令查看进程。这是查看当前系统上运行进程最简单的方法。...Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.desktop...当下的 Java 仍然是一种流行的语言,所以熟悉 Java 开发工具包和运行时环境仍然很重要。它们包含着许多适用于 Java 应用程序开发和维护的工具。

    2.8K20

    Java 混淆器

    在脑海中假想一下,在你苦苦经历 81 难,摸爬滚打研制的技术轮子,终于成型得以问世,遂打个 JAR 包投放于万网之中。...作为臣服于 Java 的子民们,一切又都是那么的幸福,诸多开源的轮子帮你解决了这个问题,今天不妨尝试用一用 ProGuard 这款轮子。...如官方图示(看不清,懵懂就行) ProGuard 会对输入的 JAR 文件按照压缩、优化、混淆、预验证的顺序依次进行处理,最后得到输出 JAR 文件; ProGuard 使用依赖类库(Library jars...)来辅助对 Input jars 类之间的依赖关系进行解析,但是依赖类库本身不会被处理,也不会被包含到 Output jars 中。...在 Input/Output 中,Add input 选择要混淆的 JAR 包,注意一定要添加待混淆的 JAR 包依赖的所有类库,Add output 指定输出文件名(例如 a.jar);压缩(Shrinking

    1.6K10

    “码码”再也不用担心我的代码被反编译了!

    四、使用proguard工具对挑选出来的特定.jar进行代码混淆 (1)通过eclipse将工程中com.stkj.action包下的所有类,打包成com.stkj.action.jar。...2、进入【输入输出】选项 添加要输入/输出的.jar包(输入.jar包是你要混淆的jar包,输出.jar包是混淆后得到的.jar)。...1、注意:【类库】栏目中是工程必须要引用的资源,所以要将ssh的.jar全部加载到类库中。建议直接将webapps\JGJ_V2\WEB-INF\lib包添加。...2、注意:【类库】栏目中默认会自带rt.jar(JAVA基础类库),需要将其修改为和工程相对应的版本。此外应该是jdk1.6中的rt.jar。...解决方案:调整混淆中的【保留】选项 问题3:执行时报错,执行失败,提示缺少类库。 解决方案:在【类库】时添加工程必须的lib,其中JDK下面的rt.jar(java基础类包)必不可少。

    3K60

    Android安全攻防战,反编译与混淆技术完全解析(下)

    对Utils类中的未调用方法进行保留,防止其被移除掉。 对第三方库进行保留,不混淆android-support库,以及LitePal库中的代码。 下面我们就来逐一实现这些目标。...这里再举个例子,之前一直有人问我使用LitePal时的混淆配置怎么写,其实真的很简单,LitePal作为开源库并不需要混淆,上面的配置已经演示了如何不混淆LitePal代码,然后所有代码中的Model是需要进行反射的...在开始讲解这个工具之前,首先我们需要先准备一个Jar包,当然你从哪里搞到一个Jar包都是可以的,不过这里为了和刚才的混淆逻辑统一,我们就把本篇文章中的项目代码打成一个Jar包吧。...然后由于我们导出的Jar包中有Android相关的代码,比如Activity、Fragment等,因此还需要添加Android的编译库,android.jar。...由于我平时混淆Jar包时里面很少会有Activity,所以没遇到过这个问题,但是本篇文章中的演示Jar包中不仅包含了Activty,还是继承自AppCompatActivity的。

    1.7K70

    【Android 安装包优化】资源混淆 ( 资源混淆效果 | APK 构建流程简介 | 资源 ID 组成 )

    还有各种引入的依赖库 ( Dependencies ) , 包括 : Android 依赖库模块 ( Library Modules ) Android 依赖库包 ( AAR Libraries )...Java 依赖库 ( JAR Libraries ) ; 应用模块 和 依赖库 放在一起进行编译 , 先编译成 class 字节码文件 , 然后使用 dex 工具 , 编译成 DEX 文件 , 同时也会对...ID , 以 0x7f010000 为例 , ID 的格式分为三部分 , 7f | 01 | 0000 , 7f 表示包 , 一般的程序的包都会被编译成 7f 开头 ; 01 对应资源类型 , 动画类型以...混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt ) 【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息 | retrace.bat...命令执行目录 | 暴露更少信息 ) 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt ) 博客资源 :

    1.4K20

    android代码混淆

    proguard 问题和风险 代码混淆后虽然有混淆优化的好处,但是它往往也会带来如下的几点问题 1,混淆错误,用到第三方库的时候,必须告诉 proguard 不要检查,否则proguard 会报错。...{classpath}    指定要处理的应用程序jar,war,ear和目录所需要的程序库文件 -dontskipnonpubliclibraryclasses    指定不去忽略非公共的库类。...-dontskipnonpubliclibraryclassmembers    指定不去忽略包可见的库类的成员。...命令: apktool.bat d xxx.apk destdir 配置实例 -injars  androidtest.jar【jar包所在地址】 -outjars  out【输出地址】 -libraryjars...    'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】 -optimizationpasses

    1.6K80

    ProGuard 在 Android 上的使用姿势

    尽管有很多其他工具供开发者们使用,但是 ProGuard 作为 Android Gradle 构建过程的一部分,已经打包在 SDK 中。 当我们构建应用时,使用 ProGuard 有很多好处。...在您的项目中开启 ProGuard 只需简单到添加如下几行代码在您的主应用模块的 build.gradle 文件中: buildTypes { /* you will normally want to...在您读 ProGuard 手册时,您没必要看那些 输入 / 输出的部分,因为这些 Android Gradle 打包插件会替您指定输入源(您和第三方库的代码) 和 Android jar 库(您构建应用时用到的...不过有个更好的方法,第三方库的维护者们如果发布的库是 AAR ,那么可以指定规则打包在 AAR 中并会在应用构建时自动暴露给构建系统,通过添加下面几行代码到库模块的 build.gradle 文件中:...Android 插件的 jar 中解压出来。

    2.6K40
    领券