導航:首頁 > 源碼編譯 > jar編譯混淆變數名

jar編譯混淆變數名

發布時間:2022-02-24 22:16:26

A. java 代碼導出jar包 混淆的問題

可以用proguard混淆,proguard有個混淆配置文件,應該能達到樓主的要求

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

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

C. 反編譯的java源碼,裡面全是abcdef的類名和包名,如何解決

這是被混淆過的jar包。
沒有被混淆是可以反編譯出來的。

D. android jar包混淆怎麼把所有的包名和類名都改寫成abcdef這種不規則命名,在線等研究一天了

這個要說起來就太復雜了,簡短的回復一下你。首先強調一下混淆的目的就是不讓別人能反編譯看懂你的代碼。包名和類名就相當於PC上的路徑名(你可以把它理解為穩定的定位符);清晰的包名類名,能讓你很容易定位到文件和方法,改成abcd這簡短的名稱之後,就使人無法輕易看懂代碼了。

E. android jar包類名如何混淆成方框

一、如何指定某個包不被混淆

不被混淆的包下放一個指定不被混淆的class,這樣該包名就不會被混淆

舉例demo原有目錄結構如下:

圖1-1

指定MainActivity不被混淆

-keep public class * extends android.app.Activity # 保持哪些類不被混淆

-flattenpackagehierarchy 'yjrtest' #重新包裝所有重命名的包並放在給定的單一包中

混淆後的目錄結構如下:

圖1-2

可以看出除了MainActivity所在的包沒有被混淆之外其他的包名都被混淆了。

F. jar 反編譯後 可讀性很差,包名,類名全是一大串的0oo0 原因與解決辦法

這個是用混淆器把代碼混淆了。
原作者會這樣做是不希望反編譯的代碼被人看懂,可能是個人原因也可能是出於保密
沒有解決辦法,有耐心的話理論上挨個程序分析可以破解。

G. 提供給別人使用的jar包怎麼混淆

1)導出jar包
如何在eclipse上android工程中導出jar包?google,.bing
2)混淆jar包,打亂代碼
android的jar包跟普通的java的jar包不一樣,我們不想打亂一些activity或者server等跟系統打交道的代碼,這是因為如果把這些也混淆了,那你還需要搞清楚混淆後這些activity變成了什麼名字,然後告訴使用你這個jar包的人androidmanifest.xml中增加這些打亂了名字的activity。
混淆jar包用到的工具是proguard,可以在android SDK裡面找到,如我的是在...\adt-bundle-windows-x86-20130219\sdk\tools\proguard。
運行sdk\tools\proguard\bin\proguardgui.bat,運行界面如下,如果點擊next,會發現這些配置很難配(全英文,又很雜)。
其實這里直接導入一個cfg文件就可以了,單擊下圖右下角的Load Configuration,然後選擇配置文件。

配置文件又要怎麼寫?找到android工程裡面的proguard.cfg文件,這個文件是用來混淆apk代碼的配置文件,我們現在是要混淆jar包的代碼,當然不能直接用。看下面是proguard.cfg的配置,配置會保留activity和server等一些類。這些配置都是不用改的,可以直接拿來用。
?

-optimizationpasses5
-dontusemixedcaseclassnames
-
-dontpreverify
-verbose
-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*

-keeppublic class *extends android.app.Activity
-keeppublic class *extends android.app.Application
-keeppublic class *extends android.app.Service
-keeppublic class *extends android.content.BroadcastReceiver
-keeppublic class *extends android.content.ContentProvider
-keeppublic class *extends android.app.backup.BackupAgentHelper
-keeppublic class *extends android.preference.Preference
-keeppublic class com.android.vending.licensing.ILicensingService

- *
{
native <methods>;
}

-keepclasseswithmembersclass *
{
public <init>(android.content.Context,
android.util.AttributeSet);
}

-keepclasseswithmembersclass *
{
public <init>(android.content.Context,
android.util.AttributeSet, int);
}

-keepclassmembersclass *extends android.app.Activity
{
public void *(android.view.View);
}

-keepclassmembersenum *
{
public static **[]
values();
public static **
valueOf(java.lang.String);
}

-keepclass *implements android.os.Parcelable
{
public static final android.os.Parcelable$Creator
*;
}

將上面的配置增加幾行改成如下,並重新命名文件為:test.pro
?

-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*

//...begin
#混淆後的導出jar包的位置和jar包名
-outjars'E:\test_after.jar'

#原始jar包的位置和jar包名
-injars'E:\test.jar'

#jar包依賴的其他庫的位置和名稱
-libraryjars'E:\workspace\beautytilepuzzle\libs\alipay_msp.jar'
-libraryjars'E:\workspace\beautytilepuzzle\libs\android-support-v4.jar'
-libraryjars'E:\android\adt-bundle-windows-x86-20130219\sdk\platforms\android-10\android.jar'

#下面的Test類將不會被混淆,這樣的類是需要被jar包使用者直接調用的
-keeppublic class com.example.Test
{
public <fields>;
public <methods>;
}
//...end

-keeppublic class *extends android.app.Activity

現在Load Configuration里選擇上面test.pro,一直next,最後混淆後的jar包就是E://test_after.jar。
用winrar打開jar包,會發現除了Test.class,一些繼承自activity等的class外,其他的類都被abcdefg這樣的字母給混淆了。
提醒:如果你把上面配置直接拷貝過去,是會失敗的,請將文件里的#號後的中文注釋去掉,或者改成英文的。

H. 混淆後的jar文件反編譯為a.class,b.class等該怎麼看

混淆的目的就是不讓你輕易看懂的,你若輕易看懂,還要混淆作甚

I. 如何混淆Java編譯後的類或jar,或將jar編譯成exe,使人無法反編譯獲得源代碼

混淆就可以了
我一直在用proguard4.5.1做Java項目的混淆

J. j2me 生成jar包時加混淆代碼的問題

這個和你用的混淆器有關。在調用混淆器的時候配置一下就行了。

比如用ProGuard,你先運行eclipse,選擇菜單windows-preferences-j2me-obfuscation,在這里先指定正確的Proguard的根目錄,下面是配置Proguard keep eXPressions就是所保存的類,在表格里就要有public class * extends javax.microedition.midlet.MIDlet,因為你不能把midlet的類名都混淆,要不然調用的時候找不到入口。

閱讀全文

與jar編譯混淆變數名相關的資料

熱點內容
tsp演算法源代碼 瀏覽:549
程序員鎖死一個游戲 瀏覽:191
小程序免費源碼網站 瀏覽:632
android獲取路由器mac地址 瀏覽:773
單片機龍芯 瀏覽:493
伺服器誤刪文件怎麼找 瀏覽:33
雲伺服器查看mac地址 瀏覽:106
火車高鐵時間下載什麼app 瀏覽:660
專業程序員自學 瀏覽:290
瑞達app干什麼用的 瀏覽:952
ug補異形孔命令 瀏覽:119
加密卡手機復制不了 瀏覽:543
三坐標如何編程 瀏覽:36
unix高級環境編程第三版pdf 瀏覽:404
金融程序員怎麼找女朋友 瀏覽:304
程序員必看的十部燒腦電影 瀏覽:419
php源碼在線翻譯 瀏覽:132
linux怎麼裝xp 瀏覽:288
安卓閱讀器app源碼 瀏覽:169
linuxredhat命令 瀏覽:265