Ⅰ Android項目里如何混淆自己打的jar包或者防止被反編譯
Android之防止反編譯技巧:
1. 判斷程序是否運行在模擬器上
boolean isRunningInEmualtor() {
boolean qemuKernel = false;
Process process = null;
DataOutputStream os = null;
try{
process = Runtime.getRuntime().exec("getprop ro.kernel.qemu");
os = new DataOutputStream(process.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream(),"GBK"));
os.writeBytes("exit\n");
os.flush();
process.waitFor();
// getprop ro.kernel.qemu == 1 在模擬器
// getprop ro.proct.model == "sdk" 在模擬器
// getprop ro.build.tags == "test-keys" 在模擬器
qemuKernel = (Integer.valueOf(in.readLine()) == 1);
Log.d("com.droider.checkqemu", "檢測到模擬器:" + qemuKernel);
} catch (Exception e){
qemuKernel = false;
Log.d("com.droider.checkqemu", "run failed" + e.getMessage());
} finally {
try{
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
}
Log.d("com.droider.checkqemu", "run finally");
}
return qemuKernel;
}
2. 檢測keystore簽名,再與之前得做比較
public int getSignature(String packageName) {
PackageManager pm = this.getPackageManager();
PackageInfo pi = null;
int sig = 0;
try {
pi = pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
Signature[] s = pi.signatures;
sig = s[0].hashCode();
} catch (Exception e1) {
sig = 0;
e1.printStackTrace();
}
return sig;
}
3. 檢測包名,版本名和版本號,然後做判斷:
private String getAppInfo() {
try {
String pkName = this.getPackageName();
String versionName = this.getPackageManager().getPackageInfo(
pkName, 0).versionName;
int versionCode = this.getPackageManager()
.getPackageInfo(pkName, 0).versionCode;
return pkName + " " + versionName + " " + versionCode;
} catch (Exception e) {
}
return null;
}
4. 把jpg圖片寫成是png格式得圖片 但是最新版本的apktool已經修復了
5. 花指令,影響jd-gui 但是最新版本的jd-gui已經修復
private static final char[] wJ = "0123456789abcdef".toCharArray();
public static String imsi = "204046330839890";
public static String p = "0";
public static String keyword = "電話";
public static String tranlateKeyword = "%E7%94%B5%E8%AF%9D";
在每個類裡面加入 如上欄位。。。。
https://***/ 一個第三方得」愛加密「網站 1.需要使用官方的打包key工具打包後上傳到"愛加密"網站進行處理,然後到網站上面下載,下載後還要用"愛加密"的打包工具再次進行打包即可。
Ⅱ 鎬庝箞鎶奨NB鍚勫紡鐨勬枃浠惰漿鎹㈡垚PNG鏍煎紡錛
xnb鏄疿NA鐨勫弽緙栬瘧鏂囦歡 鍙鏈塜NA鑳芥墦寮
鍙鑳界敤XNA杞鎹㈡牸寮
鍦╔NA欏圭洰閲岄潰鍐欎笂榪欎箞涓鍙
Stream S = new FileStream("E:/灝樺焹騫哥忕殑杞ㄨ抗/c.png", FileMode.Create);
Texture2D texture = Content.Load<Texture2D>("sprites_05");
texture.SaveAsPng(S, texture.Width, texture.Height);
灝辮兘鎶妔prites_05.xnb淇濆瓨涓衡淓:/灝樺焹騫哥忕殑杞ㄨ抗/c.png鈥
Ⅲ 鎬庢牱鎶婃墜鏈烘父鎴忎腑鐨勫浘鐗囨崲鎴愭垜鎯寵佺殑錛
鎮ㄥソ錛屾偍鍙浠ヤ嬌鐢ㄥ弽緙栬瘧杞浠跺皢鎮ㄨ佷慨鏀圭殑搴旂敤鍙嶇紪璇戜箣鍚庯紝鎵撳紑鍥劇墖鏂囦歡澶癸紝灝嗙浉搴旂殑鍥劇墖鏇挎崲鎴愭偍鎯寵佺殑鍗沖彲銆
娉ㄦ剰鏇挎崲鐨勬椂鍊欒佷繚璇佸悕瀛椾竴鑷達紝鐒跺悗緙栬瘧鎵撳寘鍗沖彲錛屾墦鍖呬箣鍚庢敞鎰忕懼悕鍝
鎮ㄥ彲浠ユ墦寮鑵捐鐢佃剳綆″垛斺旇蔣浠朵粨搴撲腑涓嬭澆鍙嶇紪璇戣蔣浠
鎮ㄥ彲浠ュ弬鐓т笅闈㈢殑鏁欑▼榪涜屽弽緙栬瘧錛
http://jingyan..com/article/36d6ed1f5143fd1bcf488309.html
甯屾湜鍙浠ュ府鍒版偍錛屾湜閲囩撼錛岀數鑴戠″跺畼緗戱細鑵捐鐢佃剳綆″跺畼緗
鑵捐鐢佃剳綆″朵紒涓氬鉤鍙幫細http://..com/c/guanjia/
Ⅳ apk怎麼反編譯換圖標比較簡單的方法
一、准備工作
1、下載安裝java jdk
2、配置java環境
3、下載apktools反編譯工具包
二、具體操作
1、將下載來的apktools工具包解壓至c:\目錄下,然後將需要反編譯(修改)的apk文件放入解壓文件夾內。今天就用一鍵鎖屏來做試驗吧。
2、打開一鍵apktools.exe工具,因為不是系統文件所以就直接反編譯,不需要安裝環境!選擇2,然後選擇文件名。這里我們是lockscreen.apk所以我們選2!
3、等待解壓完成,我們在lockscreen文件夾內的res目錄里去修改 程序名稱和程序圖標。程序名稱的文件路徑為 lockscreen\res\values-zh-rCN\strings.xml 我們使用記事本打開 找到app_name 在 兩個>< 修改自己需要顯示的程序名稱,我們就把 一鍵鎖屏改為 鎖屏,修改好以後保存即可~
4、然後在 lockscreen\res\drawable-hdpi 文件夾內替換圖標。先找到現在的程圖標,因為一鍵鎖屏很簡單,所以只有一個圖標。我們記下圖標的名字 lock.png 然後刪除它,將我們准備好的圖標放入目錄下,改名為剛才的名字 lock.png。
5、然後返回到apktools解壓文件夾,編譯後的文件在 回編apk生成目錄 下,我們將其簽名,然後安裝即可。
Ⅳ 手游APK文件反編譯
電腦上著名的 apk 文件反編譯器,安卓手機軟體中國化所必需的 pc 軟體。它將幫助你反編譯成常規文件,並為你提供一個基本的幫助,為未來的 diy 工作。現在人才終於把它移植到行動電話上了,當涉及到中國化或簡單地修改軟體時,不再需要等待 pc 機工作。安裝說明: 將數據包復制到手機 micro sd 卡的根目錄,然後將主程序安裝到手機上。此外,該程序需要根許可權,手機必須獲得和授權,才能正常使用。說明: 本程序在使用大量文件操作時,需要很長時間耐心等待。如果你在編譯程序的過程中點擊屏幕,程序很容易失去響應。此時,只需單擊「等待」 ,耐心等待程序再次響應,程序將繼續編譯。[社論評論] apk 工具這個計算機端的 apk 反編譯軟體終於被移植到手機端,中國人破解了人們必需的工具!
Ⅵ 鎬庝箞鎶婃墜鏈烘父鎴忛噷鐨勫浘鐗囧紕鍑烘潵錛
棣栧厛闇瑕丷oot鑷韜鎵嬫満,鐒跺悗閫氳繃絎涓夋柟鎴灞忚蔣浠跺湪鎵撳紑娓告垙鏃舵埅鍙栧浘鐗
Ⅶ 我用show java反編譯的apk,裡面的jpg和png打不開,如果是加密的有辦法嗎
可以嘗試使用其它反編譯軟體反編譯一下APK,看看能不能正常。比如apktool
至於jpg或png是否為加密,得看了文件數據才能知道。
Ⅷ 安卓手機游戲中的代碼如何獲得
您好
獲取游戲源代碼需要對APK進行反編譯,如果APK已經加密,無法通過反編譯的方法獲取源代碼
目前反編譯的軟體有很多,您可以在騰訊電腦管家中下載,推薦使用【改之理】,一款非常好用的反編譯軟體,傻瓜式操作,適合新手,您網路也能搜索到
希望可以幫到您,望採納
騰訊電腦管家企業平台:http://..com/c/guanjia/