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

腾讯TMQ在线沙龙|Android应用Dex分包之旅

共有42位测试小伙伴报名参加活动,在线观看视频人数18人~想知道活动分享了啥?往下看吧! 活动嘉宾 ?...NoClassDefFoundError和crash一般都是某些依赖类找不到,可以通过调整这些依赖类的位置来解决;而启动耗时过长一般是从dex较大、加载过程较慢,可以通过调整从dex的大小或者优化启动过程来解决...4、提问:您提到在低版本构建工具上实现了分包,请问构建方案是Ant稍微介绍一下。我们这边修改Ant脚本调用高版本build tools上的分包相关脚本实现。...在代码混淆完成后,插入拆分任务,根据主dex的文件列表将主、从dex的.class拆分到不同目录,然后用dx分别打出主、从dex。 5、提问:异步加载的坑介绍下解决思路。...如果App有外部调用入口,也要特别注意,防止外部调用时出现的加载问题。如果入口点太多,要想办法收敛。

1K90

安全对等问题:确保移动应用跨平台安全性

代码混淆可以防止攻击者了解移动应用的源代码。而且,我们总是建议使用多种混淆方法,包括混淆本地代码或非本地代码和库,以及混淆应用的逻辑结构或控制流。...正如该研究指出的那样,造成这种情况的原因是,对于大多数移动开发人员来说,依赖专用编译器的传统混淆方法实在是太复杂和费时,难以全面实施。...虽然软件开发工具包(SDK)提供了一些标准安全功能,但没有 SDK 普遍覆盖所有的平台或框架。...由于 iOS 项目中没有可以混淆 React Native 代码的内置库,开发人员需要使用一个外部包(依赖关系 #1)。...此外,该外部包还依赖下游的一个库或包来混淆 JavaScript 代码(依赖关系 #2)。现在,如果第三方库的开发人员决定废弃该解决方案,会发生什么?

1.2K20

XSS防御的一些坑

防止大家少走一些弯路。Spring应用程序里面XSS防御,该怎么做?网上文章一大把,但是看起来感觉都有很大的问题。...在实际Web开发中,我们需要过滤或者编码页面传递给后台的特殊字符,防止XSS跨站脚本攻击。这个时候我们可以想到使用过滤器或者拦截器,至于为什么要选择Filter而不是Interceptor?...我认为有两点:Filter依赖于Servlet容器,而Interceptor不依赖于Servlet容器;Filter对几乎所有的请求起作用,而Interceptor只能对action请求起作用。...仅靠一个Filter防御住XSS? 不能够完全能,需要运维和前后端一起配置,贴近实际业务那些是过滤的,那些是不能过滤的。但是如果遇见混淆的XSS脚本咋办?好像没有什么好的解决方案。

45430

面试题丨android面试问题合集

3.混淆混淆技术可以使反编译者无法识别实际的代码,因为代码被混淆了,所以分析者无法得知实际的代码意图。这种技术也可以防止病毒感染,因为病毒程序也无法识别混淆的代码。...4、通过分析so库的符号表,可以获取到混淆之前的函数名、局部变量名等。5、使用查找技术,可以在已经混淆过的函数中搜索指定的字符串,以确认函数的功能。29、了解过微信xposed插件怎么做的?...so有依赖时如何执行当so文件依赖其他so文件时,linker将首先加载依赖的so文件。然后,linker将加载要执行的so文件。...Frida和IDA同时使用么:不能,Frida和IDA是两种不同的逆向工具,不能同时使用。...2、混淆混淆代码可以有效防止重打包,因为重打包后重新编译后,混淆后的代码将变得难以识别和破解,从而被检测出来。

1.8K54

软件供应链攻击(依赖关系混淆攻击)正在破坏你的系统安全

图片1.png 一位安全研究人员设法破坏了35家以上高科技公司的系统,这被称为一种新颖的软件供应链攻击(依赖关系混淆攻击)。...通过利用这种称为依赖混淆或命名空间混淆的攻击方式,尤其是npm Registry更容易受到供应链命名空间混淆的影响。...在这种情况下,依赖混淆指的是您的开发环境无法区分软件构建中依赖的组件是内部私有创建的程序包,还是公用软件存储库中同名的程序包。...他们可以克隆和修改源代码,将任何恶意软件嵌入其中,但仍保持与原始代码的兼容性,并将其作为secret-almo:3.99.99 上载到npm Registry,没有人阻止它们这么做。...如何解决依赖混淆攻击呢 使用Artifactory,在您的远程存储库上使用排除模式! 您知道在npm Registry中永远找不到almo-common-utils的方法?告诉你的仓库管理员!

1.3K10

实现 Springboot 程序加密,禁止 jadx 反编译

大家好,我是不才陈某~ toB 的本地化 java 应用程序,通常是部署在客户机器上,为了保护知识产权,我们需要将核心代码(例如 Lience,Billing,Pay 等)进行加密或混淆防止使用 jadx...同时,为了更深层的保护程序,也要防止三方依赖细节被窥探; 业界方案 ProGuardhttps://github.com/Guardsquare/proguard 简介:开源社区有名的免费混淆工具,...相较于字节码加密,对性能基本无影响; 优势:打包阶段混淆字节码,各种变量方法名都变成了abcdefg 等等无意义的符号,字节码可被反编译,但几乎无法阅读,通常被 Android App 用来防止逆向;...不足1:只能混淆部分代码,打包阶段较为耗时,对于三方包混淆,并没有什么好办法。...为了防止混淆后的代码影响 arthas 的使用和 bug patch 的应用,我们放弃了混淆方案,只能说是一种权衡与取舍吧。

38210

实现 Springboot 程序加密,禁止 jadx 反编译

来自:网络,侵删 toB 的本地化 java 应用程序,通常是部署在客户机器上,为了保护知识产权,我们需要将核心代码(例如 Lience,Billing,Pay 等)进行加密或混淆防止使用 jadx...同时,为了更深层的保护程序,也要防止三方依赖细节被窥探; 业界方案 ProGuardhttps://github.com/Guardsquare/proguard 简介:开源社区有名的免费混淆工具,相较于字节码加密...,对性能基本无影响; 优势:打包阶段混淆字节码,各种变量方法名都变成了abcdefg 等等无意义的符号,字节码可被反编译,但几乎无法阅读,通常被 Android App 用来防止逆向; 不足1:只能混淆部分代码...javassist 加密后的类,需将其放入到当前 lib 的单独目录进行个例,防止类冲突。...为了防止混淆后的代码影响 arthas 的使用和 bug patch 的应用,我们放弃了混淆方案,只能说是一种权衡与取舍吧。

27520

.NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)

依赖合并 Dependencies Merging SmartAssembly 会将程序集中你勾选的的依赖与此程序集合并成一个整的程序集。...字段名的混淆有三个不同级别: 等级 1 是源码中字段名称和混淆后字段名称一一对应 等级 2 是在一个类中的不同字段使用不同名称即可(这不废话,不过 SmartAssembly 应该是为了强调与等级 1...dnSpy 和 dotPeek 实际上都忽略了这个特性,依然毫无障碍地反编译。...在保证你没有额外产生 Bug,性能没有明显损失的情况下,混淆得多厉害就混淆得多厉害。...依赖合并/依赖嵌入 并不会对逆向造成障碍,开不开启差别不大,反而降低了性能 防止 MSIL Disassembler 反编译 并不会对逆向造成障碍,防君子不防小人 密封类

2.4K10

App加固中的代码混淆功能,让逆向工程师很头疼

对此,顶象移动安全总监Bob解释道:代码混淆主要有以下几方面工作: 1、代码中的包含各种元素,比如变量、函数、类的名字,这些名字有实际意义,直白的告诉破解者这个代码的功能用途.如果改成无意义的名字,使得破解者阅读时无法根据名字猜测其功能用途...比如将循环改为递归、精简中间变量等,破解者需要付出更高的代价才能明白其功能用途; 3、对于一些解释型的代码,比如JavaScript,通常以源代码的形式发布,代码有良好的格式并且包含注释直接描述了代码的功能用途.如果打乱代码的格式...3、allatori 第二代Java混淆器。所谓第二代混淆器,不仅仅能进行字段混淆,还能实现流混淆。 代码混淆不等于加密 那么,混淆等同于加密? 答案当然是否定的。...当然,代码混淆并不能真正防止逆向工程,只能增加难度,对于安全性要求很高的场景,仅使用代码混淆并不能保证原始代码的安全。 并且,对于代码混淆而言被混淆的代码难于理解,因此调试以及除错也变得困难起来。...App 加固非一时之功 正如前文所说,代码混淆并不能真正防止逆向工程,总有拨开云雾的一天,仅使用代码混淆并不能保证原始代码的安全,也不能完成保证App 加固不被破解,此时就需要多方出手,为App 的防破解环境加筑更多城墙

27440

AI根据代码内容自动起函数名,再也不怕命名不规范的同事了|开源

这个过程叫做反混淆(Deobfuscation)。 麻烦,着实麻烦。就没有省事儿点的办法? 让AI来啊! 最近,Facebook就出了这样一个语言模型DOBF,专治代码混淆。...DOBF的做法是指定遮蔽变量名、函数名和类名并让AI去恢复,这个任务难度更大,迫使AI学到更深层的规律。...另外还用相同的符号替代多次出现的同一名称,这样可以防止AI发现有的名字可以复制粘贴之后学会偷懒走捷径。...更厉害的还在后面,DOBF通过代码内容甚至判断出相应函数是生成斐波那契数列和做向量点积的。...微调一下完成更多任务 验证了这个方法有效后,Facebook把这个训练任务提取出来称为DOBF任务,还可以用于训练其他语言模型。

29230

java.lang.AbstractMethodError异常

分析:由于APP没有做Q版本适配,难道不兼容?于是安装Q版模拟器进行复现问题,直接运行安装发现没有闪退,难道是只有在华为手机上才出现问题?...,后来才意识到直接运行的包(默认debug)是不进行代码混淆(而打包debug和release都是混淆过的),于是就将代码混淆关闭进行打包,结果问题修复,进一步确认是由于代码混淆导致的,那究竟是哪里使用导致的呢...在项目全局搜索TelephonyManager,发现自己并没有用,那很可能是第三方依赖包导致的,于是一一排查,最终发现问题所在,原来是高德定位报的问题,这里详情说一下,首先使用自动导最新包方式”com.amap.api...:location:latest.integration”,当时集成时混淆规则没有“-keep class com.loc.**{*;}”这行,但最新包需要添加这行规则,这就是问题所在,每次打包使用最新依赖包...解决:混淆规则中添加“-keep class com.loc.**{*;}” 总结:这里建议导包使用最新的具体版本,后期查看依赖包更新日志再进行版本更新。

36320

Android开发:请你吃一顿史上最全的Android混淆大餐

细心的小伙伴可能又会注意到:混淆前后 APK 的体积竟然从 2.7M 减小到了 1.4M,体积缩减了近一倍!真的有这么神奇?哈哈,确实是这么神奇,让我们慢慢来揭开它的神秘面纱吧。...资源压缩能够帮助我们移除项目及依赖仓库中未使用到的资源,有效地降低了apk包的大小。...以下是常见的 -keep 命令: -keep 作用:保留指定的类和成员,防止混淆处理。...其实,我们在使用代码混淆时,ProGuard 对我们项目中大部分代码进行了混淆操作,为了防止编译时出错,我们应该通过 keep 命令保留一些元素不被混淆。...Android ProGuard 为我们提供了默认的"混淆字典",即将元素名称转为英文小写字母的形式。那么,我们可以定义自己的混淆字典?卖个关子,我们先来看一张效果图: ?

4K30

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

keepnames 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除。 keepclassmembers 只保留类中的成员,防止它们被混淆或移除。...keepclassmembernames 只保留类中的成员,防止它们被混淆,但当成员没有被引用时会被移除。...keepclasseswithmembers 保留类和类中的成员,防止它们被混淆或移除,前提是指名的类中的成员必须存在,如果不存在则还是会混淆。...Input/Output界面是用于导入要混淆的Jar包、配置混淆后文件的输出路径、以及导入该Jar包所依赖的所有其它Jar包的。...当然除了使用混淆之外,还有一些加固软件也提升程序的安全性,不过这些软件都是第三方的,并非Google原生支持,所以我就不进行讲解和推荐了。

1.6K70

一篇文章带你领略Android混淆的魅力

细心的小伙伴可能又会注意到:混淆前后 APK 的体积竟然从 2.7M 减小到了 1.4M,体积缩减了近一倍!真的有这么神奇?哈哈,确实是这么神奇,让我们慢慢来揭开它的神秘面纱吧?。...资源压缩能够帮助我们移除项目及依赖仓库中未使用到的资源,有效地降低了apk包的大小。...以下是常见的 -keep 命令: -keep: 保留指定的类和成员,防止混淆处理。...其实,我们在使用代码混淆时,ProGuard 对我们项目中大部分代码进行了混淆操作,为了防止编译时出错,我们应该通过 keep 命令保留一些元素不被混淆。...Android ProGuard 为我们提供了默认的"混淆字典",即将元素名称转为英文小写字母的形式。那么,我们可以定义自己的混淆字典?卖个关子,我们先来看一张效果图: ?

93620

浅谈微信小程序反扒:如何保证小程序代码的安全性

# 代码混淆 既然加密做不到,那只能在混淆上多做点文章了,可以用webpack之类地打包器对代码进行混淆保护,觉得麻烦的话可以在微信开发者工具上传代码时勾选代码保护,总还是有一点作用的。...当然混淆方案大致有两类,正则替换和语法树替换,语法树替换的混淆方案更加安全,有兴趣的可以自行查阅。...这些密钥生成的逻辑代码要混淆的够好。破解的难度就越高。...说到这里,大家应该都明白了,小程序前端加密意义不大,能做的是尽可能地混淆,最大程度降低可读性,增加别人还原你代码的成本,这个其实也挡住不少恶意人士了。...原文链接 # 参考资料 如果别人反编译我的小程序,知道了我初始化和云函数的相关代码,那对方可以在他的小程序中使用我的云函数 微信可不可以做一下防止反编译获取源码?

6.2K40

Android 代码混淆

Android 代码混淆 简介 在我们日常开发中,对已经开发完成的源代码,需做一些代码混淆工作,以对代码起到一种保护和降低安装包体积的作用。...'), 'proguard-rules.pro' } } } 配置混淆文件 在app的proguard-rules.pro文件中编写混淆代码即可 混淆语法 命令 作用...-keep 防止类和成员被移除或者被重命名 -keepnames 防止类和成员被重命名 -keepclassmembers 防止成员被移除或者被重命名 -keepclassmembersname 防止成员被重命名...-keepclasseswithmembers 防止拥有该成员的类和成员被移除或者被重命名 -keepclasseswithmembernames 防止拥有该成员的类和成员被重命名 类通配符 * 匹配任意长度字符...(包括jar、aar、依赖) -keep class 第三方库包名.** { *;} 如: -keep class com.baidu.map.** { *;} 发布者:全栈程序员栈长,转载请注明出处:

1.3K30
领券