JAVA代碼混淆-yguard ant配置

1 java classloader加載原理

java程序入口是java.exe
這部分內容可參考

不同實現版本的jvm.dll必然存在一個名爲:JNI_CreateJavaVM的導出函數, 
java.exe正是通過調用該函數獲得JNIEnv調用接口來裝載執行class類的。這個 
函數也是我們下一步研究java vm實作技巧的研究出發點。




jvm classLoader architecture:

  1. Bootstrap ClassLoader/啓動類加載器 
    主要負責jdk_home/lib目錄下的核心 api 或 -Xbootclasspath 選項指定的jar包裝入工作。
  2. Extension ClassLoader/擴展類加載器 
    主要負責jdk_home/lib/ext目錄下的jar包或 -Djava.ext.dirs 指定目錄下的jar包裝入工作。
  3. System ClassLoader/系統類加載器 
    主要負責java -classpath/-Djava.class.path所指的目錄下的類與jar包裝入工作。
  4. User Custom ClassLoader/用戶自定義類加載器(java.lang.ClassLoader的子類) 
    在程序運行期間, 通過java.lang.ClassLoader的子類動態加載class文件, 體現java動態實時類裝入特性。

2 yguard 配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章