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.product.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工具打包后上传到"爱加密"网站进行处理,然后到网站上面下载,下载后还要用"爱加密"的打包工具再次进行打包即可。

更多相关文章

  1. 实现Android立体翻页效果的工具类!
  2. Android 界面设计工具 droiddraw
  3. Android平常用到的小工具
  4. FormatDateTime Java ,Android 常用的日期格式工具类
  5. android 几个工具方法
  6. Android 开发之旅:短信的收发及在android模拟器之间实践(一)
  7. 国内访问android开发者网站
  8. Android - 获取设备信息的工具类( DeviceUtil)

随机推荐

  1. Ubuntu 18.04下mysql 8.0 安装配置方法图
  2. mysql 8.0.11 压缩包版安装配置方法图文
  3. MySQL Community Server 8.0.11安装配置
  4. mysql8.0.11客户端无法登陆的解决方法
  5. mysql 8.0 Windows zip包版本安装详细过
  6. mysql 5.7.21 解压版安装配置方法图文教
  7. Windows下mysql 8.0.11 安装教程
  8. win10下mysql 8.0.11 压缩版安装教程
  9. mysql8.0.11 winx64安装配置方法图文教程
  10. win10下mysql 8.0.11压缩版安装详细教程