『壹』 如何读懂 代码混淆的安卓app

1、首先混淆的代码没那么容易看懂,需要扎实的语言基础(例如回调,设计模式。。。),不然给你明码你都看不懂,怎么去研究混淆代码
2、有了扎实的基础了,才有资格去看混淆代码,然后弄懂混淆是怎么混淆,如果是Android 基本混淆规则的话 那不过是将方法名 ,变量名这些替换了,耐心研究也可能看懂
例如 原来代码有个方法叫 getName() 混淆后就变成了 a()
3、如果是使用了其他加密手段,就更难懂了,将xml都给你弄得乱七八糟

『贰』 请教js代码混淆是什么作用

防止别人看清楚你的代码,直接给你把网站数据给截取了

『叁』 android代码混淆以及怎么判断一个apk代码是否被混淆过

1、proguard原理
java代码编译成二进制class文件,这个class文件也可以反编译成源代码,除了注释外,其他的code基本都可以看到。为了防止重要code被泄露,我们往往需要混淆,即把方法名,变量名,类名,包名等这些java元素的名称改成让人意想不到的名称,这样代码结构就没有变化,还可以运行,但是想弄懂代码的架构却很难。proguard就起到了这样的作用:
一、它可以分析一组class的结构,根据用户的配置,然后把这些class文件中可以混淆的java元素进行混淆

二、删除无效的代码

三、对代码进行优化(使用adt插件导出的apk,还进行zipalign优化)

缺省情况下,proguard会混淆所有代码,但是下面几种情况是不能改变java元素的名称,否则就会导致程序出错。
一、用到反射的地方(android中的api常用@hide注释掉,开发者在调用相应的方法时,需要用到反射)

二、当app的代码要依赖于系统的接口时,如被系统代码调用的回调方法,这种方法比较复杂

三、java元素名称是配置文件中配置好的

所以在使用proguard时,我们需要有个配置文件告诉proguard,哪些java元素是不能混淆的。

2、proguard配置

-dontwarn缺省proguard会检查每一个引用是否正确,但是第三方库里往往有些不会用到的类,没有正确引用,如果不配置的话,系统就会报错。

-keep指定的类和类成员被保留作为入口

-keepclassmembes指定的类成员被保留。

-keepclasswithmembers指定的类和类成员被保留,假如指定的类成员存在的话。

『肆』 android代码混淆为什么不混淆activity

一般四大组件不混淆的,主要有以下原因:

1.四大组件声明必须在manifest中注册,如果混淆后类名更改,而混淆后的类名没有在2.manifest注册,是不符合Android组件注册机制的.

3.外部程序可能使用组件的字符串类名,如果类名混淆,可能导致出现异常

4.四大组件是要配置在清单文件的,混淆了找不到

『伍』 如何把我的世界mod代码混淆

mod代码是环环相扣的,混淆的话就会失去原来的作用。如果你指的是把两个mod的功能混合,那要看mod有没有冲突,比如两个模组都改变了怪物的性质,就会产生冲突。

『陆』 java 混淆压缩css js 有什么作用

最直接的效果是js源文件的变下了,下载源文件的速度大大缩短,相当于加载速度更快了。还有一个隐形好处是别人不能破解你的js代码,因为加密混淆的js代码十分难懂。用nodejs也可以对js加密混淆,但要用cmd命令操作。

『柒』 JAVA 有对源代码进行混淆的混淆器么

不需要对源代码混淆。class有这种功能的,在J2ME中混淆是必须的,结果跟你说的一样,不过原理不是你那么走的,混淆以后的class反编译也会让人看不懂,全部变成了a,b,c,d这样的名字。

『捌』 js混淆后的代码如何解密

混淆的作用就是用无意义的关键字符替代原来有意义的关键字符,让浏览者“看不懂”代码,不了解代码的运行逻辑,也就无法复用。
混淆不同于加密解密,因为原来有意义的字符已经被替换了,不存在算法上的反推,任何的技术不可能再得出原来的那些有意义的字符。
所以理论上,混淆后的代码无法解密。但因为它的整个运算逻辑关系链是完整的,与混淆前的代码关系链是完全一致的,所以非要“破解”,只能说摸清它的逻辑关系链,人为去做的话,烧脑又复杂。技术上需要一定的运算能力来做这个工作,比如云计算甚至超级计算机,但即便“破解”,它也是只能分析出一个函数大致是干什么用的,原来的关键字符名称还是不可能得出。

『玖』 java混淆器是做什么的

用java写的代码 编译后成为.class文件 但是这个class文件可以被反编译查看到源代码
如果代码作者不希望源代码被别人看到 就利用混淆器把源代码混淆 但是程序功能还是正常的,编译后供别人使用,当别人反编译class文件想查看源代码时发现的是被混淆后的代码,虽然这些混淆后的代码也可以分析出来但是很困难
举个例子
class Person
{
private String name;
private int age;
public Person( String n, int a ){
name = n;
age = a;
}
}
混淆后
class OOOOo{
private String oooo;
private int ooo;
public OOOOo( String oo, int o){
oooo = oo;
ooo = o;
}
}