首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于AndroidStudio混淆打包 proguard-rules.pro 的配置关于AndroidStudio混淆打包 proguard-rules.pro 的配置

关于AndroidStudio混淆打包 proguard-rules.pro 的配置 最近在搭建一个APP的时候,使用了混淆打包的方式,然后发现死活打包不上。...#优化 不优化输入的类文件 -dontoptimize #不做预校验 -dontpreverify #混淆时是否记录日志 -verbose # 混淆时所采用的算法...,gradle build时在本项目根目录输出## #apk 包内所有 class 的内部结构 -dump class_files.txt #未混淆的类和成员 -printseeds...seeds.txt #列出从 apk 中删除的代码 -printusage unused.txt #混淆前后的映射 -printmapping mapping.txt ######...##记录生成的日志数据,gradle build时 在本项目根目录输出-end###### #####混淆保护自己项目的部分代码以及引用的第三方jar包library####### #-libraryjars

1.3K20

容易混淆的const

也就是他的值对于这个符号来说是只读的,但它并不防止通过程序的内部的方法来修改这个值。const最有用之处就是他来限定函数的形参,这样该函数将不会修改实参指针所指的数据,但其他的函数却可能会修改它。...const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是像#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干份拷贝...例五 指针指向及其指向变量的值的变化 const在的左边,则指针指向的变量的值不可直接通过指针改变(可以通过其他途径改变);在的右边,则指针的指向不可变。简记为“左定值,右定向”。...y; //正确,允许改变指向 *px = 3; //错误,不允许改变指针指向的变量的值 2)指针指向的变量的值可以改变,指向不可变 int x = 1; int y = 2; int* const px...= &x; px = &y; //错误,不允许改变指针指向 *px = 3; //正确,允许改变指针指向的变量的值 3)指针指向的变量的值不可变,指向不可变 int x = 1; int y = 2;

84610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    解密混淆的PHP程序

    团队大佬在做PHP代码审计的时候发现PHP代码是被混淆过的。虽然可以通过自己手动解密可以还原原先的PHP代码,但是混淆过程比较复杂且自己写脚本还原非常麻烦。...所以,我这边通过PHP底层的操作对混淆后的PHP代码进行还原。...0x02 PHP代码混淆 PHP代码混淆一般来说有两种方法: 需要PHP扩展 无需PHP扩展 本文我们主要讲解无需PHP扩展的代码混淆的解密。...大多数的无需扩展的php代码混淆原理上都是使用eval进行代码的执行。如果我们能够得到 eval 函数的参数,即可获得解密后的代码。...不过,一般来说PHP的混淆都会通过多次 eval 来还原并执行php代码,所以我们可以通过hook PHP的eval函数来打印其参数来解密代码。

    3.8K10

    代码混淆的原理是什么?常见代码混淆方法介绍

    本文主要介绍了代码混淆的原理、方法、以及常见代码混淆的方式和工具。 一、代码混淆的原理 代码混淆是将计算机程序的代码,转换成功能上等价,但是难于阅读和理解形式的行为。...混淆就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义,通过进行代码混淆可以有效提升应用被逆向破解的难度...三、常见的代码混淆方式 常见的代码混淆方式包括Java代码混淆、C/C++代码混淆以及h5 脚本混淆等。...混淆的过程中添加的一些字串的保护如下图: ​ 介绍一个c/c++代码混淆工具,Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。...(3)H5 脚本混淆 H5混淆是指从JS的语法和逻辑上进行混淆。H5脚本混淆很多的IDE环境均可配置,这里我不做详细介绍。

    2.7K41

    android 混淆不起作用,Android代码混淆的写法总结

    大家好,又见面了,我是你们的朋友全栈君。 Apk文件被反编译出来能被获取到里面的代码。对于这种情况,我们可以对项目代码进行混淆,随机生成难理解的类名,方法名,让代码难以阅读,加大功能被盗取的难度。...混淆可以起到压缩Apk,混淆文件,预检,优化的作用。 1....不去忽略非公共的库类 -dontoptimize 不优化输入的类文件 -dontpreverify 不做预校验的操作 -ignorewarnings 忽略警告 -verbose 混淆时是否记录日志 -...class/merging/ 指定混淆是采用的算法 3....保持不被混淆的设置 保持实体类不混淆 -keep class 你的实体类所在的包.** { *; } 保持四大组件,Application,Fragment不混淆 -keep public class

    3.3K30

    【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt )

    文章目录 一、Proguard 混淆后的报错信息 二、Proguard 混淆映射文件 mapping.txt 更多 ProGuard 混淆配置参考 : https://www.guardsquare.com...-keepattributes SourceFile,LineNumberTable 当代码混淆后 , 如果出现报错信息 , 此时报错信息全部都是被混淆过的信息, 无法从中找出可用的信息 ; 混淆后...报错信息不可读 ; 下面是截取出的混淆后的报错信息 : 2020-11-10 12:01:59.426 28142-28142/?...(Handler.java:30) , 报错的是混淆后的信息 , 可读性很差 ; 二、Proguard 混淆映射文件 mapping.txt ---- 前提 : proguard-rules.pro 混淆配置中配置保留行数...; # 保留行数 -keepattributes SourceFile,LineNumberTable Proguard 混淆后 , 会提供一个 原始代码 与 混淆过的代码 的对应关系文件 mapping.txt

    1K00

    Android 简单的代码混淆

    Android的代码混淆是开发者需要了解的相关知识,它能够防止android应用程序的反编译。...因为android程序多数是java语言开发的,而java代码很容易被反编译,所以为了使android应用程序代码应用一定的安全性,进行android代码的混淆是非常有必要的。...在了解代码混淆之前,先了解android的反编译。进行android的反编译需要借助两个工具dex2jar和jd-gui。 1.代码的反编译 在两个工具准备好之后,将apk文件的直接解压。...用jd-gui打开该文件,即可看到android应用程序的源代码。 ? 2.代码混淆 在android工程中添加proguard.cfg.文件。...对打包的apk进行反编译。 ? 可以看到,代码都已经进行编译过了。未签名的apk包并不能够安装,还需要将apk进行签名。

    1.3K70

    关于光密度值,90%的人混淆了这两个概念!

    通过总结近期大家在公众号后台的咨询情况,我感觉大家对光密度及其衍生出的两个概念存在不小的混淆——积分光密度、平均光密度。 因此,我觉得有必要单写一篇推文阐述一下这些概念。...▼ 1.为什么会存在概念混淆现象? 问题由来已久。 早期,免疫组化染色的结果判定是通过分级法来做的(现在还在用)。...由于没有很好地理解光密度概念,导致早期发表的论文(主要是国内期刊)里混淆或错用了相关概念,不同论文中的光密度值甚至能相差数百倍,尽管这些论文中都称自己测量的是“平均光密度”。...前面说到,图像是由非常多的像素形成,每个像素的OD值不同。所有像素的OD值之和再除以像素的个数,就叫平均光密度。也就是像素的光密度的算术平均值。...实际测量后,积分光密度的数值肯定较大,它代表的是所有OD值的总和;平均光密度的值肯定是较小的,它只是单个像素下的平均OD值。 这些概念在测量时,该如何在软件中去设置和甄别呢?

    2K10

    解密混淆的PHP程序

    0x01 背景 团队大佬在做PHP代码审计的时候发现PHP代码是被混淆过的。虽然可以通过自己手动解密可以还原原先的PHP代码,但是混淆过程比较复杂且自己写脚本还原非常麻烦。...所以,我这边通过PHP底层的操作对混淆后的PHP代码进行还原。...0x02 PHP代码混淆原理 PHP代码混淆一般来说有两种方法: 需要PHP扩展 无需PHP扩展 本文我们主要讲解无需PHP扩展的代码混淆的解密。...大多数的无需扩展的php代码混淆原理上都是使用eval进行代码的执行。如果我们能够得到eval函数的参数,即可获得解密后的代码。...不过,一般来说PHP的混淆都会通过多次eval来还原并执行php代码,所以我们可以通过hook PHP的eval函数来打印其参数来解密代码。

    3.3K50

    关于CALCULATE函数,初学者特别容易混淆的问题之一! | DAX实战案例

    对于想要真正将Power BI学以致用的朋友,这也是务必要攻克的难点:从了解它的计算过程,到通过大量的案例实践来巩固并达到灵活运用,甚至形成一些常用套路。...这个问题在计算占比的情况下比较常见,但要求上有其特殊的地方:一般情况,计算占比时,为了其中的总值,通过ALL函数直接删除某维度的影响即可,但这里,结果表中直接删除姓名维度的影响,显然是不行的,因为还要考虑与姓名相关的工序...但是,我相信一定会有些朋友产生以下疑问:为什么VALUES取到的工序、设备,是在结果表当前行下的工人(如第1行,大海)的工序和设备?后面不是用ALL函数忽略了工人的影响了吗?...——这是很多初学者最容易混淆的问题之一: 对于CALCULATE函数后面的筛选器参数,它们是有一定的计算顺序的,而不是相互影响的!...所以,这里用VALUES函数取工序、设备的值时,是在结果表当前的筛选器条件下得到的值(如大海,对应的工序1、机床1),而不是删除姓名筛选器情况下的结果。

    95511

    HarmonyOS 开发实践 —— 基于反混淆工具混淆后的日志定位

    场景描述工程源码的混淆可以降低工程被破解攻击的风险,但会导致无法直接通过Release应用的堆栈信息定位到源码的具体文件和行位置,不易于开发者快速定位解决问题。...文件准备工作1.已混淆的工程和报错日志,这里以混淆工程为例,混淆规则配置如下:# 开启属性名称混淆  -enable-property-obfuscation# 开启字面量名称混淆  -enable-string-property-obfuscation...export导出对象混淆  -enable-export-obfuscation两次运行工程分别点击工程内的Native按钮和ArkTS按钮获取混淆后的报错日志。...so:动态链接库,包含了已编译的可重用代码,可以被程序在运行时动态加载和链接。Name cache:混淆名称映射表,文件中包含混淆前和混淆后的名称。Start Analyze:开始解析。...2.使用hstack命令的方式进行日志反混淆。

    11710

    多分类任务的混淆矩阵

    来源: DeepHub IMBA本文约1000字,建议阅读5分钟本文讨论了如何在多分类中使用混淆矩阵评估模型的性能。 什么是混淆矩阵? 它显示了实际值和预测值之间的差异。...输出列中的类别,也称为目标属性。一二分类任务中包含了 2 个类也就是一个 2*2 矩阵,一般情况下介绍混淆矩阵都会以二分类为例。如果有 3 个类呢?那么将得到一个 3*3 矩阵依此类推。...通过上面描述我们知道,混淆矩阵的类将具有相同数量的行和列。...考虑这个混淆矩阵在下图 1 中的数据集的输出列中具有 A、B、C 类。...FP FalsePositive(A):它告诉实际值是负的,在我们的例子中它是 B 类和 C 类,但模型预测它是正的,即 A 类。它是除了 TP 值之外的相应列的值的相加。

    77240

    读懂 Android 中的代码混淆

    什么是混淆 关于混淆维基百科上该词条的解释为 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。...代码混淆影响到的元素有 类名 变量名 方法名 包名 其他元素 混淆的目的 混淆的目的是为了加大反编译的成本,但是并不能彻底防止反编译....混淆之后,values被重新命名,所以会发生NoSuchMethodException. 关于调用轨迹,感兴趣的可以自己研究一下源码,不难....为了保证注解正常工作,我们不应该对注解进行混淆.Android工程默认的混淆配置已经包含了下面保留注解的配置 1 -keepattributes *Annotation* 关于注解,可以阅读这篇文章了解...注意:为了更加容易和高效分析stacktrace,建议保留SourceFile和LineNumber属性 1 -keepattributes SourceFile,LineNumberTable 关于混淆

    1.6K20

    分享一个关于this对象的编程小技巧,如何使用箭头函数避免this对象混淆?

    小程序的主要语言是js,使用小程序也方便说明我们接下来要讲的问题。...四 因为在箭头函数中,this对象与封闭词法环境中的this保持一致。换一句话,箭头函数中的this,是定义与执行它的函数中this对象。或者我们可以理解为,箭头函数是没有this对象的。...apply与call的使用方法是类型的,也是在第一个参数的地方传递this对象;不同处在于bind只绑定不执行,而后两者是马上执行的。...本质上这三个方法改变的是方法的调用者,所以方法内部的this也改变了。 六 最后总结一下,虽然bind等方法可以改变方法的调用者对象,借此改变this对象。...但在大多数情况下,我们使用不捆绑this的箭头函数,来避免this对象的混淆问题,是最简单省事的方法。 11月7日

    1.2K41

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

    PS:对实现原理不感兴趣的同学可跳到结尾看混淆的效果实现,实现过程的代码均在下方贴出 2 思路来源 1. tomcat混淆 本文中的tomcat混淆大部分思路来源自2022年补天白帽大会yzddMr6师傅的议题...文章中相关知识点摘要 关于tomcat下编码后的代码文件如何被识别:文中“对于这部分处理逻辑其实是由org.apache.jasper.compiler.ParserController#determineSyntaxAndEncoding...编码混淆技术摘要总结 Jdk8+Tomcat8.5下支持900+种编码,可用于混淆webshell的有十余种 可以用编码的别名,达到的编码效果是等效的 tomcat8下,如果有bom头会根据bom头来决定内容的编码...,木马生成与webshell连接测试 编译后的木马生成界面以及能够生成的混淆webshell的功能选项如下: 经测试,混淆后的webshell均可连接成功,部分混淆的效果如下 混淆后的代码能够极大地增加蓝队的解密...无论是tomcat混淆或者是代码层的混淆,都只能增加蓝队的解密/还原代码的成本。tomcat混淆更偏向于代码不可读,代码层混淆更偏向于代码的可读性差。

    83310

    混淆的行迁移和行链接

    开发提出需求,要向一张已经包含100多个字段的表再新增字段,技术上可行,但是这种操作,究竟有何副作用? 这里就引出了行迁移和行链接这两个容易混淆的概念,整理一下,算是让自己重新认识下。...下图就是行链接,左边的数据块,存储了插入数据的第一部分,以及行片段指针,右边的数据块存储了行数据的第二个部分,两个数据块,通过链条关联。...更新一条已存在的行,当所在的数据块没有足够的空间容纳,就会发生行迁移。...,如果表中有大量的行迁移,就需要消耗更多IO完成数据的检索。...其实无论如何设计表,行链接和行迁移,或许都可能发生,此时就看多消耗的这些IO,以及锁的开销,能不能成为性能问题的主要矛盾了。

    79220

    JS代码混淆加密的法律意义

    对JS代码混淆加密的法律意义你知道吗?JS代码经混淆加密之后,将得到法律层面的保护。这是因为:对加密的JS代码进行逆向破解,破解者将面临以下多种法律风险。...1、侵权责任加密的JS代码或相关产品在涉及生产经营时,破解者可能侵害对方商业利益、技术机密等,被破解方可视受到的侵害起诉追责。...这也就意味着:JS混淆加密,使JS代码不仅得到了应用层面的技术保护,还得到了法律保障。...因此,企业对于重要的JS产品或功能,如:前端JS代码、H5应用、H5游戏、NodeJS项目、小程序等,建议进行JS代码加密,以保护代码、保护产品、保护产权。JS代码混淆加密,请使用专业正规产品。...JShaman是国内知名的JS代码保护平台。在线使用,一键混淆加密,无需注册、无需登录。可免费用,也有商业服务。方便、强大、专业。本文发布日期:2023.7.12,未经作者许可,不得修改转载。

    31630
    领券