首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一猿小讲

    Java 混淆器

    面对此景,我们有没有办法,去混淆一些核心代码,来捍卫自己劳动成果呢? 作为臣服于 Java 的子民们,一切又都是那么的幸福,诸多开源的轮子帮你解决了这个问题,今天不妨尝试用一用 ProGuard 这款轮子。 ProGuard 是一个压缩(shrink)、优化(optimize)和混淆(obfuscate) Java 字节码文件的免费的工具。 在 Input/Output 中,Add input 选择要混淆的 JAR 包,注意一定要添加待混淆的 JAR 包依赖的所有类库,Add output 指定输出文件名(例如 a.jar);压缩(Shrinking 采用 JD-GUI 打开根据混淆输出的 JAR,效果貌似像那么回事儿。 ?

    2K10发布于 2019-10-21
  • 来自专栏悟道

    2-5 快速幂模板

    这个就是在快速乘的基础上改一下 sum=0--->sum=1 x+=x--->x*=x //快速幂模板 public double quickPow(double x,long y){ double sum=1; while(y>0){ if((y&1)==1){ sum*=x; } x*=x; y=y>>1; }

    38420发布于 2021-06-01
  • 来自专栏岚的工作随笔

    Java 代码混淆快速上手

    这种方式就是本篇的主题,代码混淆(Obfuscation)混淆的核心概念在正式开始实战前,先对代码混淆的核心概念有一些认知。场景为什么需要代码混淆呢? 原理Java 是编译成Class字节码再被JVM所运行的,所以编译和运行阶段都是可以混淆的关键阶段。字节码工具: ASM、Javassist、Byte Buddy。 使用 ProGuard 混淆一款老牌的开源代码混淆器,截止目前,github上最新版为:v7.6,支持JDK 23。下载与打开任意版本都可以,内部自带快捷使用、演示包。 环境,可以直接双击lib/proguardgui.jar来启动,这是一个友好的 Java 构建的桌面版。 启动失败请检查环境或者尝试用java -jar 的命令来打开。使用说明首页就是广告,从第一个input / output上手,设置要输入等待混淆的jar包,以及设置输出路径。下图就是我的设置完的效果。

    1.1K00编辑于 2024-11-15
  • 来自专栏代码混淆

    java离线日期授权解决方案 解决改系统日期 Java代码混淆 日期混淆

    在java项目中,需要客户定制离线授权时,怎么保证软件时效性呢? 如果用日期授权比如一年,如果单纯的获取系统时间,在离线的情况下,如果客户修改系统时间,软件的授权无法控制. 导致经济利益的损失. ; import java.text.SimpleDateFormat; import java.util.Date; /** * * ClassName:TestStrings * Description date.getTime()) { //执行相关操作 System.out.println("时间验证通过..."); } } } 2.采用混淆方法 ; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.text.DateFormat ; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Base64; import java.util.Base64

    1.6K20编辑于 2022-07-11
  • 来自专栏AI机器学习与深度学习算法

    学习分类 2-5 线性可分

    感知机非常简单同时又很容易理解,但是相对应的,缺点也很多。感知机最大的缺点就是它只能解决线性可分的问题。

    63710编辑于 2022-11-08
  • 来自专栏ek1ng的技术小站

    js混淆与反混淆

    为什么要进行混淆 由于设计原因,前端的js代码是可以在浏览器访问到的,那么因为需要让代码不被分析和复制从而导致更多安全问题,所以我们要对js代码进行混淆。 JS混淆和反混淆常见思路 在了解了js代码的执行过程后,我们来看如何对js进行混淆。 可以想到比如我们想实现一个js混淆器我们该怎么做呢,要不就是用正则替换,要不就是在AST阶段生成混淆代码,用正则替换实现简单但是效果也比较差,现在js混淆大多数都是在不改变AST的情况下去生成混淆后的代码 代码混淆 这里我们抛砖引玉,讲一些比较常见的混淆方式,实际上混淆的办法非常的多。 常见的混淆/反混淆工具 亲手尝试反混淆 HGAME 2023 Week1 Classic Childhood Game 当然直接执行mota()就能出,但是我们来尝试一下通过调试反混淆这段代码,看看是什么逻辑

    14.8K41编辑于 2023-03-08
  • 来自专栏Hank’s Blog

    2-5 R语言基础 factor

    #因子:分类数据 #有序和无序 #整数向量+标签label #Male/Female #常用于lm(),glm()

    47710发布于 2020-09-16
  • 来自专栏pangguoming

    利用proguard对java web工程代码混淆

    目标: 将代码混淆,也就是给第三方源代码,让他们只能运行,却看不懂代码。 用到的工具: 混淆jar的工具:proguard5.1  下载地址:http://download.csdn.net/detail/lk7688535/9625472 反编译jar的工具:xjad2.2 如上操作后便得到混淆后的jar包,再用xjad反编译就可得到混淆后的源代码了~

    2.1K10发布于 2018-09-19
  • 来自专栏CodeWwang

    修改混淆过的JAVA字节码文件

     这俩天遇到了这样的问题,反编译JAR包之后,出现了没法再javac的问题(修改java文件再编译回去的想法泡汤),原因大概是因为JAR的发行商对其作了很多的加密混淆处理,和签名处理。   另外,它还提供一个库,可以让开发人员读写Java类文件和字节码。 这里有一点其实在java文件中定义的各种参数,编译成字节码文件的时候,都变成了字符串,只是逻辑位置不同,处于不同的域中。 // 使用JDK编译代码 javac XX.java 将需要去签名的jar包放到编译好的class文件的目录,或者记住jar包目录,打开DOS窗口: // 执行XX,如果是同一个文件夹 java XX <JAR名称> <去签名之后的JAR包名称> java -cp .

    1.8K20编辑于 2022-08-24
  • 来自专栏红蓝对抗

    哥斯拉Godzilla | 基于tomcat webshell的有效通杀混淆方式&通用的java代码混淆

    PS:对实现原理不感兴趣的同学可跳到结尾看混淆的效果实现,实现过程的代码均在下方贴出 2 思路来源 1. tomcat混淆 本文中的tomcat混淆大部分思路来源自2022年补天白帽大会yzddMr6师傅的议题 input = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream())); String line 加密器的生成木马逻辑代码修改 也就是将第2点提到的功能应用到Godzilla中JAVA_RSA加密器的生成木马逻辑中(代码逻辑比较简陋粗糙) //修改后的JAVA_RSA加密器的Generate类的代码如下 webshell的功能选项如下: 经测试,混淆后的webshell均可连接成功,部分混淆的效果如下 混淆后的代码能够极大地增加蓝队的解密/还原代码的成本,连接测试,如下举例 11 总结 此次webshell 无论是tomcat混淆或者是代码层的混淆,都只能增加蓝队的解密/还原代码的成本。tomcat混淆更偏向于代码不可读,代码层混淆更偏向于代码的可读性差。

    1.7K10编辑于 2024-01-23
  • 来自专栏javascript技术

    「JS混淆」免费JS混淆工具

    github上的,免费的,英文的,JS混淆工具:https://js-obfuscator.github.io/UI:混淆测试:JS源码:(function (){ var domain = "js-obfuscator.com getFullYear() + "," + domain; }; var console_log = console.log; console_log(copyright())})();JS混淆结果 u006F\u0067']; _0xd = (885711 ^ 885702) + (139322 ^ 139320); _0xbe(_0xea());})();没改变代码结构,只是对代码中的每一行进行混淆变化

    3.7K01编辑于 2024-12-26
  • 来自专栏Deep learning进阶路

    2-5 线性表之循环链表

    2-5 线性表之循环链表 循环链表就是链表首尾相接连成一个环,可以用单链表 和 循环链表来实现。

    45440发布于 2019-07-02
  • 来自专栏刷题笔记

    2-5 Two Stacks In One Array (20 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/101173005 2-5 Two Stacks In One Array (20 分) Write

    86430发布于 2019-11-08
  • 来自专栏NetCore 从壹开始

    2-5 安装容器Web工具:Docker Portainer

    现在已经习惯了容器化了,不仅可以很快的配合CICD来实现部署,同时主要是也能解决一些疑难杂症,比如在Linux中经常会有各种图形图像的依赖包问题。特别是内网环境。

    1.1K20编辑于 2023-01-09
  • 来自专栏刷题笔记

    2-5 修理牧场 (35 分)【优先队列】

    2-5 修理牧场 (35 分) 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L​i​​的总和

    1.1K10发布于 2020-06-23
  • 来自专栏韩曙亮的移动开发专栏

    【Android 安全】DEX 加密 ( ProGuard 混淆 | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 )

    文章目录 一、Proguard 默认混淆结果 二、-keepclassmembers 混淆效果 二、-keepclasseswithmembernames 混淆效果 更多 ProGuard 混淆配置参考 , Thread , 其余 Java 文件都被混淆 ; 二、-keepclassmembers 混淆效果 ---- -keepclassmembers 作用只是保证类成员 ( 成员变量 , 成员方法 ) 不被混淆 , 类名还是会被混淆的 ; # 指定 kim.hsl.handler.Handler 类成员不被混淆 -keepclassmembers public class kim.hsl.handler.Handler 在编译后的结果中 , 类名与成员名称都被混淆了 , 因为没有配置不被混淆的成员 ; 使用 -keepclassmembers 指定保留 Handler 中的 public void *(*) 样式的方法不被混淆 *(*); } 下面是在一个被混淆的类中 , 找到了没有被混淆的 kim.hsl.handler.Handler 的成员方法 ; 二、-keepclasseswithmembernames 混淆效果

    5.3K00编辑于 2023-03-28
  • 来自专栏码匠的流水账

    使用proguard混淆java9代码

    序 本文主要研究一下如何使用proguard混淆java9代码 maven <plugin> <groupId>com.github.wvengen }/jmods/java.base.jmod(! Home/jmods/java.base.jmod(! }/jmods/java.base.jmod(! >/jmods/java.base.jmod(!.

    3.3K10发布于 2018-09-17
  • 来自专栏数据科学CLUB

    混淆矩阵

    混淆矩阵是一个表,经常用来描述分类模型(或“分类器”)在已知真实值的一组测试数据上的性能。混淆矩阵本身比较容易理解,但是相关术语可能会令人混淆。 让我们从一个二进制分类器的混淆矩阵示例开始(尽管它可以很容易地扩展到两个以上的类): ? 我们能从这个矩阵中了解到什么? 有两种可能的预测类:“yes”和“no”。 我已经将这些项添加到混淆矩阵中,并且添加了行和列总数: ? 这是一个比率的列表,通常是从一个混淆矩阵的二元分类器里得出: 准确率(Accuracy):总的来说,分类器的准确率是多少?

    2.2K20发布于 2020-06-17
  • 来自专栏Khan安全团队

    混淆检测

    混淆检测 是一款 Binary Ninja 插件,用于检测二进制文件中的混淆代码和可疑代码结构(例如状态机)。 此类代码结构可能实现 混淆代码 状态机和协议 C&C 服务器通信 字符串解密例程 加密算法 特征 识别大型二进制文件中有趣的代码结构 在 Binary Ninja 的图形视图中突出显示未对齐的指令 高效且与架构无关的实现

    38400编辑于 2025-05-04
  • 来自专栏叽叽西

    ProGuard混淆

    4.预检测(Preveirfy):在java平台上对处理后的代码进行再次检测。 详细介绍 (1) ProGuard 配置 -include{filename}:从给定的文件中读取配置参数。 class * extends java.lang.annotation.Annotation {*;} # 类型转换错误 添加如下代码以便过滤泛型(不写可能会出现类型转换错误,一般情况把这个加上就是了 -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; ! (java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve();

    4.2K30编辑于 2022-05-17
领券