導航:首頁 > 源碼編譯 > java編譯混淆器

java編譯混淆器

發布時間:2022-02-14 22:36:51

㈠ 什麼是java混淆編譯

由於Java程序運行時是動態連接的,因此編譯成的目標文件中包含有符號表, 使得Java程序很輕易被反編譯,混淆器可以打亂class文件中的符號信息,使反向工程變得非常困難。

㈡ javacompile混淆器怎麼混淆後的class文件還是可以被反編譯出來呢求高手指點....

混淆的作用並不是使class文件不能被反編譯
混淆的作用是使反編譯的代碼更難讓人閱讀,比如一些計算金錢的敏感邏輯里有如下的代碼(新金額=舊金額*某個倍率):
double newMoney=oldMoney*rate;
如果這樣的代碼直接編譯成class文件,別人反編譯這個class文件就能很清楚的看到金錢的計算關系,混淆後代碼可能就變成這樣的了:
double a=b*c;
這樣的代碼別人即使反編譯了,也是很難看懂其中的邏輯關系的

㈢ Java混淆器

名稱 性質
DashO最貴, 一般都是大公司採用。

ZKM 可試用,最多同時混淆五個檔案,商業版不便宜。

JBuilder 購買 JBuilder 時會內附

JAX 可試用,商業版價格中等

RetroGuard OpenSource

㈣ JAVA 有對源代碼進行混淆的混淆器么

不需要對源代碼混淆。class有這種功能的,在J2ME中混淆是必須的,結果跟你說的一樣,不過原理不是你那麼走的,混淆以後的class反編譯也會讓人看不懂,全部變成了a,b,c,d這樣的名字。

㈤ 有沒有 Java 代碼混淆工具,不是混淆 jar 包,是混淆代碼

Java代碼混淆就像男女在一起分不出來一樣,這樣男女就變成Java的使用者----偉大的Java程序員

㈥ (java混淆器)java混淆器ProGuard的圖形界面怎麼配置參數

proguard 配置簡介
參數: -include {filename} 從給定的文件中讀取配置參數 -basedirectory {directoryname} 指定基礎目錄為以後相對的檔案名稱 -injars {class_path} 指定要處理的應用程序jar,war,ear和目錄 -outjars {class_path} 指定處理完後要輸出的jar,war,ear和目錄的名稱 -libraryjars {classpath} 指定要處理的應用程序jar,war,ear和目錄所需要的程序庫文件 - 指定不去忽略非公共的庫類。 - 指定不去忽略包可見的庫類的成員。 保留選項 -keep {Modifier} {class_specification} 保護指定的類文件和類的成員 -keepclassmembers {modifier} {class_specification} 保護指定類的成員,如果此類受到保護他們會保護的更好 -keepclasseswithmembers {class_specification} 保護指定的類和類的成員,但條件是所有指定的類和類成員是要存在。 -keepnames {class_specification} 保護指定的類和類的成員的名稱(如果他們不會壓縮步驟中刪除) -keepclassmembernames {class_specification} 保護指定的類的成員的名稱(如果他們不會壓縮步驟中刪除) -keepclasseswithmembernames {class_specification} 保護指定的類和類的成員的名稱,如果所有指定的類成員出席(在壓縮步驟之後) -printseeds {filename} 列出類和類的成員-keep選項的清單,標准輸出到給定的文件 壓縮 -dontshrink 不壓縮輸入的類文件 -printusage {filename} -whyareyoukeeping {class_specification} 優化 -dontoptimize 不優化輸入的類文件 -assumenosideeffects {class_specification} 優化時假設指定的方法,沒有任何副作用 -allowaccessmodification 優化時允許訪問並修改有修飾符的類和類的成員 混淆 -dontobfuscate 不混淆輸入的類文件 -printmapping {filename} -applymapping {filename} 重用映射增加混淆 -obfuscationdictionary {filename} 使用給定文件中的關鍵字作為要混淆方法的名稱 -overloadaggressively 混淆時應用侵入式重載 -useuniqueclassmembernames 確定統一的混淆類的成員名稱來增加混淆 -flattenpackagehierarchy {package_name} 重新包裝所有重命名的包並放在給定的單一包中 -repackageclass {package_name} 重新包裝所有重命名的類文件中放在給定的單一包中 -dontusemixedcaseclassnames 混淆時不會產生形形色色的類名 -keepattributes {attribute_name,...} 保護給定的可選屬性,例如LineNumberTable, LocalVariableTable, SourceFile, Deprecated, Synthetic, Signature, and InnerClasses. -renamesourcefileattribute {string} 設置源文件中給定的字元串常量

㈦ java反編譯器是什麼,干什麼用的;混淆器是什麼,有什麼用

反編譯器就是將.class文件變回原來的java源程序文件
不會沖突

混淆器可以打亂class文件中的符號信息,使反向工程變得非常困難。

㈧ java混淆器是做什麼的

樓上只說了其一,沒說其二: 混淆器的還有一個作用那就是對代碼進行壓縮,比如一個j2me程序打完包是400KB,使用混淆器混淆後就被壓縮成100KB的文件,這對於手機這種內存空間比較寶貴的設備來說顯得尤為必須。

㈨ 編寫java混淆工具要多長時間

看復雜度及演算法

這樣的東西都有現成的,自己來實現挺雞肋的。

㈩ Java有哪些有效的代碼混淆工具

ProGuard 是一個免費的 Java類文件的壓縮,優化,混餚器。它刪除沒有用的類,欄位,方法與屬性。使位元組碼最大程度地優化,使用簡短且無意義的名字來重命名類、欄位和方法 。eclipse已經把Proguard集成在一起了。

閱讀全文

與java編譯混淆器相關的資料

熱點內容
macppt壓縮軟體 瀏覽:131
公眾號推廣系統源碼 瀏覽:61
程序員作息安排 瀏覽:621
如何在本地登錄伺服器 瀏覽:334
喵吧app怎麼使用 瀏覽:751
家庭伺服器如何連wifi 瀏覽:205
新聞推薦系統源碼 瀏覽:224
php中文星號 瀏覽:502
伺服器4盤是什麼意思 瀏覽:594
如何重啟或關閉伺服器 瀏覽:348
pdf文檔加水印 瀏覽:836
機構搶籌指標公式源碼 瀏覽:266
linux腳本awk 瀏覽:558
程序員怎麼跟領導提升 瀏覽:75
pdf怎麼生成目錄 瀏覽:387
如何保護自己的伺服器 瀏覽:69
html5上傳圖片壓縮 瀏覽:473
支付寶賬單文件如何解壓 瀏覽:860
查看內核版本命令 瀏覽:957
w10加密盤驅動鎖死怎麼辦 瀏覽:948