Ⅰ 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/