『壹』 如何讀懂 代碼混淆的安卓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;
}
}