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

    Java 混淆

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

    1.9K10发布于 2019-10-21
  • 来自专栏Laikee Tech Space

    vue3 混淆

    configureWebpack: (config) => { // 引入uglifyjs-webpack-plugin let UglifyPlugin = require('uglifyjs-webpack-plugin'); if (process.env.NODE_ENV == 'production') { // 为生产环境修改配置 config.mode = 'production'

    43610编辑于 2022-04-25
  • 来自专栏全栈程序员必看

    php代码混淆加密算法_java代码混淆加密

    $c; $q1="O00O0O"; $q2="O0O000"; $q3="O0OO00"; $q4="OO0O00"; $q5="OO0000"; $q6="O00OO0"; $s '{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6. $q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6. $q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.

    2.7K20编辑于 2022-11-10
  • 来自专栏岚的工作随笔

    Java 代码混淆快速上手

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

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

    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 length(); b[4] = (0x1E ^ 0x1A); b[5] = (0x6 ^ 0x3); b[6] = (0xC3 ^ 0xC5); b[7] = (47

    1.5K20编辑于 2022-07-11
  • 来自专栏技术大杂烩

    【PY】Python3 字节码混淆

    前言 emmm,关于字节码混淆,最早碰到还是在校赛的时候,当时一脸懵逼,什么情况,怎么 uncompyle6 不能反编译 pyc 了,不过之后也就不了了之了,今天特地写此博文纪念 DASCTF Oct 这样我们混淆 pyc 的思路就可以是欺骗像 uncompyle6 这类反编译的工具,让它误以为指令的序列不合法,但是又不影响真正的 Python 虚拟机执行。 跳转的混淆最好还是不要从循环内到循环外或者循环外到循环内。其实最好是根据 co_lnotab 字段中的指令偏移和行号来插入混淆指令,不在属于同一行的指令中间插入,这样可以避免一些可能存在的问题。 py3 的魔术头替换了一下,好家伙,可以反编译了,这是第一个阴间的地方, 然鹅,这还没完,接下来是第二个阴间的地方,出题人在开头加了个混淆,得亏有点人性,没啥难度, 混淆就是这个诡异的跳转指令,类似于花指令一样 _6Y_1ayer_by_layer_by_layer} 后记 参考: Python 字节码与字节码混淆 Python代码保护 | pyc 混淆从入门到工具实现

    99220编辑于 2023-08-31
  • 来自专栏ek1ng的技术小站

    js混淆与反混淆

    JS混淆和反混淆常见思路 在了解了js代码的执行过程后,我们来看如何对js进行混淆。 代码混淆 这里我们抛砖引玉,讲一些比较常见的混淆方式,实际上混淆的办法非常的多。 全局搜索源代码,发现index.dc84f2b3.js中有出现,其他地方看起来不太像,所以仔细看看这个文件,并且尝试打断点看看能不能断下来。 题目的本质是给了一个称为“3FA”的chrome扩展,这个插件是用于防止网络钓鱼的。 需要通过对这个混淆的js进行调试,发现这个js中有发送消息的函数,逆出来其中的逻辑之后,制作一个用于恶意的HTML页面,Bot(相当于一个也安装了3FA插件的真人)访问后,Bot的flag就会显示在页面上

    14.4K41编辑于 2023-03-08
  • 来自专栏全栈程序员必看

    Android 代码混淆 混淆方案

    3.buildConfigField 不显示log日志 4.signingConfig signingConfigs.config配置签名文件文件 自定义混淆规则 自定义混淆方案适用于大部分的项目 # ”可以分为两部分,一部分是Java 代码的优化与混淆,依靠 proguard混淆器来实现;另一部分是资源压缩,将移除项目及依赖的库中未被使用的资源(资源压缩严格意义上跟混淆没啥关系,但一般我们都会放一起用 混淆。把类名、属性名、方法名替换为简短且无意义的名称; 预校验。添加预校验信息。这个预校验是作用在Java平台上的,Android平台上不需要这项功能,去掉之后还可以加快混淆速度。 public void test(java.lang.String); } } 不混淆某个类的内部类 -keep class com.biaobiao.example.Test$* { -dontwarn okhttp3.internal.platform.ConscryptPlatform #fastjson混淆 -keepattributes Signature -dontwarn

    3.9K30编辑于 2022-09-02
  • 来自专栏pangguoming

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

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

    2K10发布于 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.6K20编辑于 2022-08-24
  • 来自专栏医学和生信笔记

    3d版混淆矩阵可视化

    混淆矩阵大家应该都不陌生,但是3d版的混淆矩阵你见过吗? 今天的3d版混淆矩阵来自一位粉丝求助,图形如下: doi:10.1007/s12072-021-10188-5 千万不要被这个图难住了,它其实非常简单,你把它的z轴去掉,看看是不是就是普通的混淆矩阵? 这个3d版不过是增加了一个维度,用来表示人数而已。 我们通过R语言可以轻松实现这个图,当然,Excel也很简单!3d柱状图嘛 我们就用这篇推文中的混淆矩阵为例:ROC阳性结果还是阴性结果? 非肿瘤 5 4 猜他是肿瘤 肿瘤 9 2d混淆矩阵可视化 如果要可视化混淆矩阵,简单的2维非常简单,比如用ggplot2即可: library(tidyverse) ggplot( 3d版混淆矩阵可视化 也是很简单,使用barplot3d这个包即可。 library(barplot3d) 注意这个包画图的顺序:从左到右,从前到后!

    93620编辑于 2023-02-14
  • 来自专栏红蓝对抗

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

    常规反序列化等)免杀、include免杀 3 本次Godzilla二开希望实现的功能 生成基于tomcat的通杀混淆的webshell IBM290&IBM037(XML声明及内容均进行不同编码) = b4[3] & 0xFF; if (b0 == 0x00 && b1 == 0x00 && b2 == 0x00 && b3 == 0x3C) { return new (4)}; } if (b0 == 0x00 && b1 == 0x3C && b2 == 0x00 && b3 == 0x3F) { return new ("utf-16be")) 3.用于二开的tomcat编码混淆技术摘要总结 Jdk8+Tomcat8.5下支持900+种编码,可用于混淆webshell的有十余种 可以用编码的别名,达到的编码效果是等效的 无论是tomcat混淆或者是代码层的混淆,都只能增加蓝队的解密/还原代码的成本。tomcat混淆更偏向于代码不可读,代码层混淆更偏向于代码的可读性差。

    1.6K10编辑于 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.2K01编辑于 2024-12-26
  • 来自专栏韩曙亮的移动开发专栏

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

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

    5.2K00编辑于 2023-03-28
  • 来自专栏全栈程序员必看

    Android代码混淆混淆规则

    请尊重他人的劳动成果,转载请注明出处:《Android代码混淆技巧》 因为Android是使用Java开发的,所以开发者可以使用ProGuard对代码进行混淆。 最后,预校验的Java6或针对Java MicroEdition的所述处理后的码。 下面就和大家分享一下对使用了第三方库的项目进行混淆的经验。 ProGuard默认会对第三方库也进行混淆的,而第三方库有的已经混淆过了,有的使用了Java反射技术,所以我们在进行代码混淆的时候要排除这些第三方库。 2.如果使用了自定义控件那么要保证它们不参与混淆3.如果使用了枚举要保证枚举不被混淆。 4.对第三方库中的类不进行混淆 a.混淆时保护引用的第三方jar包 如:-libraryjars libs/baidumapapi_v3_2_0.jar #保护引用的第三方jar包不被混淆 注意:在使用

    2.4K20编辑于 2022-09-02
  • 来自专栏数据科学CLUB

    混淆矩阵

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

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

    混淆检测

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

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

    ProGuard混淆

    3.混淆(obfuscates):使用a,b,c,d等简短而无意义的名称,对类,字段和方法进行重名,这样即使代码被逆向工程,对方也比较难以读懂。 4.预检测(Preveirfy):在java平台上对处理后的代码进行再次检测。 详细介绍 (1) ProGuard 配置 -include{filename}:从给定的文件中读取配置参数。 、方法和属性的对应关系 3)seeds.txt 列出了没有被混淆的类和属性 4)usage.txt 列出了没有被打到apk文件中的代码 这些文件置于<project_root private static final java.io.ObjectStreamField[] serialPersistentFields; ! (java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve();

    4K30编辑于 2022-05-17
  • 来自专栏码匠的流水账

    使用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.2K10发布于 2018-09-17
  • 来自专栏全栈程序员必看

    vuecli3配置webpack_vue不混淆如何配置

    修改完成后我们重新运行命令打包npm run build,但是运行程序,在页面上没有出现想要的效果,且控制台里报错如下

    85720编辑于 2022-09-19
领券